struts2 java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap

martin_wang 2008-09-23 10:27:54
系统部署后,从登入界面登入系统的时候,抛出如下异常,请各位帮我解决一下,谢谢
奇怪的是我刷新一下就没有问题,就能登入系统了。。刚接触struts2,请大家多多指教

2008-09-22 15:12:00,218 ERROR (org.apache.struts2.dispatcher.FilterDispatcher:395) - error getting ActionMapping
java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap
at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:166)
at org.apache.catalina.connector.Request.getParameterMap(Request.java:1057)
at org.apache.catalina.connector.RequestFacade.getParameterMap(RequestFacade.java:414)
at javax.servlet.ServletRequestWrapper.getParameterMap(ServletRequestWrapper.java:166)
at org.apache.struts2.dispatcher.mapper.DefaultActionMapper.handleSpecialParameters(DefaultActionMapper.java:308)
at org.apache.struts2.dispatcher.mapper.DefaultActionMapper.getMapping(DefaultActionMapper.java:276)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.my.s2.common.PurviewFilter.doFilter(PurviewFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)

web.xml的配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>s2</display-name>
<!-- Spring ApplicationContext配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/*.xml</param-value>
</context-param>
<!-- 著名 Character Encoding filter-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

<!-- 权限过滤器 -->
<filter>
<filter-name>Purview</filter-name>
<filter-class>
com.my.s2.common.PurviewFilter
</filter-class>
<init-param>
<param-name>toErrorPage</param-name>
<param-value>/commons/error.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Purview</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>


<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<!-- Spring 刷新Introspector防止内存泄露 -->
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

<listener>
<listener-class>
org.apache.myfaces.webapp.StartupServletContextListener
</listener-class>
</listener>
<!-- SNIPPET START: dwr -->

<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

<!-- 验证码 -->
<servlet>
<servlet-name>ValidateCode</servlet-name>
<servlet-class>
com.my.s2.common.ValidateCode
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ValidateCode</servlet-name>
<url-pattern>/servlet/ValidateCode</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>AppUtil</servlet-name>
<servlet-class>com.my.s2.common.AppUtil</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>

<!-- session超时定义,单位为分钟 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
...全文
2380 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzhichenhb 2011-04-28
  • 打赏
  • 举报
回复
我也遇到这样的问题了,那位高手帮忙解决一下呢
licip 2009-05-09
  • 打赏
  • 举报
回复
应该是你java代码的问题吧.说的是你把一个锁定的Map类型的值改变了.
martin_wang 2008-09-23
  • 打赏
  • 举报
回复


struts.xml的配置如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.devMode" value="true" />
<constant name="struts.multipart.maxSize" value="1000000000"/>
<include file="struts-accredit.xml"></include>

<package name="default" extends="struts-default">



<interceptors>

<interceptor-stack name="ProjectNeedStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token" />
</interceptor-stack>

</interceptors>

<default-action-ref name="logout" />

<global-results>
<result name="all" type="redirect">/commons/error.jsp</result>
</global-results>

<global-exception-mappings>
<exception-mapping result="all" exception="java.lang.Exception"></exception-mapping>
<exception-mapping result="all" exception="java.sql.SQLException"></exception-mapping>
<exception-mapping result="all" exception="java.lang.IllegalStateException"></exception-mapping>

</global-exception-mappings>



</package>

<package name="login" extends="default" namespace="/manage" >

<action name="login" class="com.my.s2.admin.action.LoginAction" method="manageLogin">

<result>/manage/main.jsp</result>
<result name="input">/manage/index.jsp</result>
</action>
<action name="logout" class="com.my.s2.admin.action.LoginAction" method="manageLogout">
<result>/manage/index.jsp</result>
<result name="input">/manage/index.jsp</result>
</action>

<action name="user" class="com.my.s2.admin.action.UserAction" method="loginSuccess">
<result>/manage/main_right.jsp</result>
<result name="input">/manage/index.jsp</result>
</action>


</package>



</struts>

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧