我有一个在带有Jetty服务器的Linux操作系统上运行的Java应用程序。TokenHelper中的setSessionToken引发java.lang.IllegalStateException
Struts操作会更改Linux系统的日期和时间,并在它呈现另一个页面之后。 一个操作成功执行,但在呈现页面时它将抛出java.lang.IllegalStateException。
我在该JSP页面中使用了“s:token”来防止双重提交表单。
错误跟踪如下
ERROR TokenHelper Error creating HttpSession due response is committed to client. You can use the CreateSessionInterceptor or create the HttpSession from your action before the result is rendered to the client: null
java.lang.IllegalStateException
at org.eclipse.jetty.server.session.AbstractSession.checkValid(AbstractSession.java:109)
at org.eclipse.jetty.server.session.HashedSession.checkValid(HashedSession.java:73)
at org.eclipse.jetty.server.session.AbstractSession.getAttribute(AbstractSession.java:132)
at org.apache.struts2.dispatcher.SessionMap.get(SessionMap.java:161)
at org.apache.struts2.dispatcher.SessionMap.put(SessionMap.java:179)
at org.apache.struts2.util.TokenHelper.setSessionToken(TokenHelper.java:93)
at org.apache.struts2.util.TokenHelper.setToken(TokenHelper.java:79)
at org.apache.struts2.components.Token.buildToken(Token.java:107)
at org.apache.struts2.components.Token.evaluateExtraParams(Token.java:97)
at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:886)
at org.apache.struts2.components.UIBean.end(UIBean.java:535)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at org.apache.jsp.pages.Continue_jsp._jspx_meth_s_token_0(org.apache.jsp.pages.Continue_jsp:495)
at org.apache.jsp.pages.Continue_jsp._jspx_meth_s_form_0(org.apache.jsp.pages.Continue_jsp:429)
at org.apache.jsp.pages.Continue_jsp.access$6(org.apache.jsp.pages.Continue_jsp:407)
at org.apache.jsp.pages.Continue_jsp$Continue_jspHelper.invoke2(org.apache.jsp.pages.Continue_jsp:1197)
at org.apache.jsp.pages.Continue_jsp$Continue_jspHelper.invoke(org.apache.jsp.pages.Continue_jsp:1221)
请让我们知道可能的解决方案或建议来处理错误。
发表一些代码。 –