是否有可能讓JSP頁面不響應設置任何內容類型?在我的設置中,JSP不直接生成響應,而是直接生成中間表示,然後由附加的Java代碼處理,然後根據此代碼創建HTML或JSON。那麼,我可以以某種方式使JSP 不是在響應中設置content-type並將其留給中間代碼?如果我只是在JSP中刪除contentType="..."
,它仍然默認爲text/html
。使JSP頁面未設置響應內容類型
1
A
回答
1
您可以使其忽略JSP頁面設置的內容類型。這足夠好嗎?
你怎麼做水暖?
基本思路是實現一個ServletResponseWrapper,重寫對setContentType的調用,然後使用過濾器將此響應傳遞給JSP而不是真實的響應。
ResponseWrapperToIgnoreContentType.java
import javax.servlet.ServletResponse;
import javax.servlet.ServletResponseWrapper;
public class ResponseWrapperToIgnoreContentType extends ServletResponseWrapper{
public ResponseWrapperToIgnoreContentType(final ServletResponse response) {
super(response);
}
@Override
public void setContentType(final String type) {
System.out.println("Ignoring call to set the content type to : " + type);
}
}
過濾器應用它:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ResponseContentTypeFilter implements Filter{
@Override
public void destroy() {
}
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, new ResponseWrapperToIgnoreContentType(response));
}
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
}
}
編輯:只是發現在我的邏輯存在缺陷。在調用response.getWriter()之前,需要設置內容類型,以便它可以使用正確的字符編碼。 不知道如果這會影響你。
0
相關問題
- 1. 設置來自JSP的HTTP響應頭(內容類型)
- 2. JSP響應內容類型Excel
- 3. HttpContext.Current.Response.AddHeader()未設置內容類型標題
- 4. PHP cURL內容類型未設置
- 5. Solr響應內容類型
- 6. 無論響應類型如何,獲取外部頁面內容
- 7. 頁面內容類型
- 8. 頁面的設置內容
- 9. 如何在compojure響應中明確設置內容類型?
- 10. 在CouchDB中設置顯式響應內容類型
- 11. 在Spring 3.1中設置響應的內容類型mvc webservice
- 12. 如何設置WebMatrix/Razor響應的內容類型?
- 13. 誰在Spring MVC中設置響應內容類型(@ResponseBody)
- 14. 我在JSON響應如何設置的內容類型
- 15. 設置春季xml響應的內容類型
- 16. 在Java HttpServer響應中設置內容類型
- 17. 在Struts2中設置響應的內容類型
- 18. Spring 4.X設置XML的響應內容類型
- 19. 爲cURL設置正確的內容類型以接收響應
- 20. 設置內容類型的Web API 2響應
- 21. PHP Slim Framework v3 - 爲響應設置全局內容類型
- 22. 在python中將http響應內容類型設置爲「xml」
- 23. 提取JSP頁面內容
- 24. 使用Alamofire處理未知內容類型的響應
- 25. jsp頁面中struts標籤的響應式設計頁面
- 26. 使用send_file設置內容類型
- 27. 在JSP中設置內容類型和狀態碼
- 28. 使用ImageResizer的Azure C#WebJob未正確設置內容類型
- 29. 如何使用SwashBuckle設置或刪除默認響應內容類型
- 30. 在其他jsp頁面讀取jsp頁面內容到html
謝謝,這可能是我會做的。我會在後面對這些假響應對象上的內容類型進行分類。 – doublep 2010-04-27 16:35:49