Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接管JspWriter_Java_Jsp_Tomcat - Fatal编程技术网

Java 接管JspWriter

Java 接管JspWriter,java,jsp,tomcat,Java,Jsp,Tomcat,提前感谢大家- 我还没有找到一种简单的方法来实现这一点,但是,有没有可能接管写入JspWriter的数据(头和所有内容)的处理?有点像动态管理缓冲区,然后控制JspWriter的输出?我遇到了重定向问题,因为我的一些include(我认为是include,但不管它是否会刷新缓冲区),状态头已经被刷新了 我知道设置缓冲区大小等 我没有使用框架,只是在tomcat上使用纯jsp 谢谢 Sam您可以尝试编写一个 (excerpt from web.xml) <filter> <f

提前感谢大家-

我还没有找到一种简单的方法来实现这一点,但是,有没有可能接管写入JspWriter的数据(头和所有内容)的处理?有点像动态管理缓冲区,然后控制JspWriter的输出?我遇到了重定向问题,因为我的一些include(我认为是include,但不管它是否会刷新缓冲区),状态头已经被刷新了

我知道设置缓冲区大小等

我没有使用框架,只是在tomcat上使用纯jsp

谢谢

Sam

您可以尝试编写一个

(excerpt from web.xml)
<filter>
  <filter-name>jspFilter</filter-name>
  <filter-class>com.mypackage.JspFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>jspFilter</filter-name>
  <url-pattern>*.jsp</url-pattern>
</filter-mapping>
(摘自web.xml)
jspFilter
com.mypackage.JspFilter
jspFilter
*.jsp
doFilter()
方法实现中,可以通过扩展和重写用于缓冲响应的
getWriter()
/
getOutputStream()
方法,将servlet响应包装到自己的响应中。调用
doFilter()
方法并返回(或引发异常)后,您可以对缓冲响应执行任何操作-打印它,重定向到另一个页面,您可以做什么。

您可以尝试编写一个

(excerpt from web.xml)
<filter>
  <filter-name>jspFilter</filter-name>
  <filter-class>com.mypackage.JspFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>jspFilter</filter-name>
  <url-pattern>*.jsp</url-pattern>
</filter-mapping>
(摘自web.xml)
jspFilter
com.mypackage.JspFilter
jspFilter
*.jsp

doFilter()
方法实现中,可以通过扩展和重写用于缓冲响应的
getWriter()
/
getOutputStream()
方法,将servlet响应包装到自己的响应中。调用
doFilter()
方法并返回(或引发异常)后,您可以对缓冲响应执行任何操作-打印它,重定向到另一页,您做了什么。

再次感谢您的响应-我找到了此代码,我想这和你所说的差不多:我能在jsp(ie)的上下文中做这个重写吗?例如:jspFilter jspFilter.jsp jspFilter*.jsp还有,doFilter()实际上是什么时候被调用的,它实际被放在哪里?谢谢,SamYes,
BufferedHttpResponseWrapper
在上面的链接中实现了我所说的。我不确定您所说的“在jsp上下文中重写”是什么意思,您想将过滤器实现为jsp吗?这是不可能的,它必须是一个java类。在您的链接中显示了一个示例(
MyFilter
),您也可以在这里查看:编译的过滤器类必须作为web应用程序的一部分部署(您可以将其放入/web-INF/classes),servlet容器(Tomcat)将自动调用doFilter()方法。不客气,祝您的项目好运。出于纯粹的好奇-你发布的链接,是随机的谷歌搜索结果还是你来自乌克兰?再次感谢你的回复-我找到了这段代码,我想这段代码和你所说的差不多:我能在jsp(ie)的上下文中做这个覆盖吗?例如:jspFilter jspFilter.jsp jspFilter*.jsp还有,doFilter()实际上是什么时候被调用的,它实际被放在哪里?谢谢,SamYes,
BufferedHttpResponseWrapper
在上面的链接中实现了我所说的。我不确定您所说的“在jsp上下文中重写”是什么意思,您想将过滤器实现为jsp吗?这是不可能的,它必须是一个java类。在您的链接中显示了一个示例(
MyFilter
),您也可以在这里查看:编译的过滤器类必须作为web应用程序的一部分部署(您可以将其放入/web-INF/classes),servlet容器(Tomcat)将自动调用doFilter()方法。不客气,祝您的项目好运。纯粹出于好奇——你发布的链接,是谷歌随机搜索的结果,还是你来自乌克兰?