用struts2+spring2+ibatis2做一个demo项目,在做登陆的时候想放验证码。但是出现以下异常:
2007-04-25 21:29:27,231 ERROR [org.apache.catalina.core.ContainerBase.[Catalina]
.[localhost].[/mydemoweb].[jsp]] - Servlet.service() for servlet jsp threw excep
tion
java.lang.IllegalStateException: getOutputStream() has already been called for t
his response
at org.apache.catalina.connector.Response.getWriter(Response.java:601)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade
.java:196)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:12
5)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.jav
a:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.jav
a:185)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(J
spFactoryImpl.java:116)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactor
yImpl.java:76)
at org.apache.jsp.image_jsp._jspService(image_jsp.java:133)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
15)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatc
her.java:414)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionCon
textCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter
.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:685)
at java.lang.Thread.run(Thread.java:595)
一大块一出来人都傻了。找了一个下午的baidu,goole终于找到了解决方案。答案没有像我们有些网友说的那么复杂
就在IMAGE.JSP的末尾加两行代码就足够了。
代码如下:
out.clear();
out = pageContext.pushBody();
然后就搞定了。
嘿嘿。。。。自己做个帖子以后好查。希望对大家有帮助。
分享到:
相关推荐
【JSP验证码技术详解】 验证码(CAPTCHA)是一种防止恶意自动化程序(如机器人)滥用服务的技术,它通过向用户展示一组难以由计算机自动识别的...通过学习和实践,我们可以根据项目需求定制出适合的验证码解决方案。
在`Jsp中文乱码解决方案.rar`和`解决JSP中文显示问题的几个方法.rar`中,可能提供了几种解决策略,如设置HTTP头信息中的字符编码,确保JSP文件本身的编码正确,以及在JSP页面中使用`<meta>`标签声明页面编码。...
在本案例中,"jsp验证码实现源码"是一个用于用户输入页面防止重复提交的解决方案。 验证码的基本工作原理是生成一个随机字符串或图像,然后要求用户在提交表单之前正确输入这个字符串或识别出图像中的内容。这样,...
总之,这个代码实例提供了完整的彩色验证码生成和验证的解决方案,可以帮助开发者快速集成到自己的Web应用中,提升网站的安全性。同时,这也是学习Java图形处理、JSP和Servlet交互的一个良好实践案例。
jCaptcha是一个开源的验证码解决方案,它提供了高度自定义的选项,包括颜色、字体、扭曲程度等,可以生成复杂且难以被机器识别的图像验证码。标题"jcaptcha做jsp彩色验证码"即指使用jCaptcha库在JSP应用中生成彩色的...
综上所述,这个"jsp+select做的5个验证码"项目是一个完整的Web安全解决方案,它利用了JSP的动态生成能力,HTML的用户界面,CSS的美化效果,以及JavaScript的交互处理,为Web应用提供了一种基于下拉选择的验证码验证...
在网页开发中,验证码是一种常见的安全机制,用于防止...此外,随着技术的发展,验证码已经衍生出很多高级形式,如谷歌的reCAPTCHA等,这些更现代的解决方案可能需要集成第三方服务,但在防止自动化攻击方面更为有效。
在网页开发中,图片验证码(CAPTCHA)是一种广泛使用的安全机制,用于防止自动化的机器人或恶意脚本...这种方法简单易用,但要注意,对于高级的自动化攻击,可能需要更复杂的验证码解决方案,如谷歌的reCAPTCHA服务。
然而,随着技术的发展,更高级的验证码解决方案如谷歌的reCAPTCHA已经出现,它们提供了更高的安全性,同时也降低了用户的输入难度。在实际应用中,应根据项目需求和安全性考虑选择合适的验证码实现方式。
8. **帮助文档**:提供的完整帮助文档应该包含了详细的步骤、示例代码和可能遇到的问题解决方案,帮助开发者快速理解和实现JSP验证码功能。 在实际开发中,除了自定义实现外,还可以利用开源库如JCaptcha或者Google...
这种基于JSP的数学验证码方案增加了用户参与度,同时也增加了破解的难度,尤其对于那些依赖于自动识别图像的攻击者。然而,它并不完全防得住所有自动化攻击,因为现代的机器学习技术可以训练模型来解决简单的数学...
总的来说,“JSP彩色验证码--Md5类”是一个结合了动态网页技术、色彩设计和安全哈希的解决方案,用于提供一种可靠的用户验证方法。理解并掌握这种技术有助于提升Web应用的安全性,防止恶意自动化行为。
**JSP页面验证码详解——基于MyEclipse的完整实例** 验证码在网络安全中扮演着至关重要的角色,它能有效防止自动化的机器人程序...同时,对于生产环境,考虑使用更高效和安全的验证码解决方案,如谷歌的reCAPTCHA。
**正文** 在Web开发中,验证码(CAPTCHA)是一种常用的安全机制,用于...不过,随着技术的发展,更先进的验证码解决方案,如谷歌的reCAPTCHA,已经成为了现代Web应用的首选,它们提供了更好的用户体验和更高的安全性。
浏览器兼容性解决方案 在 Web 开发中,浏览器兼容性是一个常见的问题,对于 JSP 开发人员来说尤其重要。...本文档提供了浏览器兼容性的解决方案,旨在帮助 JSP 开发人员更好地解决浏览器之间的兼容性问题。
在这个例子中,我们关注的是“jsp的彩色汉字验证码+刷新方法”,这是一种结合了JavaServer Pages(JSP)技术和汉字验证码的解决方案,旨在提高网站的安全性。 首先,`ColorRandom.jsp` 文件是生成彩色汉字验证码的...
在本项目中,我们讨论了两种实现方式:一种是基于Struts框架和JSP的验证码实现,另一种则是使用Servlet和JSP的解决方案。 首先,让我们来了解一下Struts+jsp版的随机验证码实现。Struts是一个开源的MVC(Model-View...
解决方案可以使用 JavaBean 来存储计数器的值,然后使用 JSP pageContext 对象来获取当前的计数值,并在页面上显示。另外,也可以使用 Application 对象来存储计数器的值,以便在多个页面之间共享。 题目 2: 在 JSP...
总结来说,这个"java 上传和验证码 源码"提供了一个简单的文件上传解决方案,利用了jspsmartupload.jar库,以及一个基本的验证码实现,以确保安全的用户交互。这样的源码可以作为学习和快速构建原型的参考,开发者...