是否有可能让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响应内容类型Excel
- 2. 页面内容类型
- 3. 在CouchDB中设置显式响应内容类型
- 4. 如何设置WebMatrix/Razor响应的内容类型?
- 5. 谁在Spring MVC中设置响应内容类型(@ResponseBody)
- 6. 在Struts2中设置响应的内容类型
- 7. PHP Slim Framework v3 - 为响应设置全局内容类型
- 8. Spring 4.X设置XML的响应内容类型
- 9. 在Java HttpServer响应中设置内容类型
- 10. 我在JSON响应如何设置的内容类型
- 11. 为cURL设置正确的内容类型以接收响应
- 12. 设置春季xml响应的内容类型
- 13. 提取JSP页面内容
- 14. 使用Alamofire处理未知内容类型的响应
- 15. jsp页面中struts标签的响应式设计页面
- 16. 使用send_file设置内容类型
- 17. 在JSP中设置内容类型和状态码
- 18. 使用ImageResizer的Azure C#WebJob未正确设置内容类型
- 19. 如何使用SwashBuckle设置或删除默认响应内容类型
- 20. 在其他jsp页面读取jsp页面内容到html
- 21. jsp页面未显示预期输出,页面内容未加载
- 22. 获取内容WCF响应类型
- 23. SiteMesh:更改响应的内容类型
- 24. Actionscript 3读取响应内容类型
- 25. asp.net响应双内容类型
- 26. Swagger-UI响应内容类型
- 27. 从jQuery.Post获取响应内容类型
- 28. HTTP HEAD响应 - 设置内容长度
- 29. Web API:未能序列化内容类型的响应正文
- 30. 修改内容类型INPUT页面?
谢谢,这可能是我会做的。我会在后面对这些假响应对象上的内容类型进行分类。 – doublep 2010-04-27 16:35:49