系统部署后,从登入界面登入系统的时候,抛出如下异常,请各位帮我解决一下,谢谢 
奇怪的是我刷新一下就没有问题,就能登入系统了。。刚接触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> 

解决方案 »

  1.   

    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> 
      

  2.   

    应该是你java代码的问题吧.说的是你把一个锁定的Map类型的值改变了.