struts2.0.14 更換爲2.1.8引發的問題

1.將maven更換

由<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.0.14</version>
        </dependency>
  
  <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-spring-plugin</artifactId>
            <version>2.0.14</version>
        </dependency>

改爲:<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.1.8</version>
        </dependency>
  
  <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-spring-plugin</artifactId>
            <version>2.1.8</version>
        </dependency>

由於還引用了json:

添加json:

<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-json-plugin</artifactId>
            <version>2.1.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-junit-plugin</artifactId>
            <version>2.1.8</version>
        </dependency>
     <dependency> 
      <groupId>net.sf.json-lib</groupId> 
      <artifactId>json-lib</artifactId> 
      <version>2.1</version> 
      <classifier>jdk15</classifier> 
  </dependency> 
  <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20090211</version>
     </dependency>

然後運行jetty:run  和eclipse:eclipse就行了。

2. web.xml:

<web-app id="person" 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">
<!-- web-app 由2.4 改爲2.5 -->

2.1.6之前的版本
<filter> 
<filter-name>struts2 </filter-name> 
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class> 
</filter> 

struts2.1.6以後版本配置: 

<filter> 
<filter-name>struts2 </filter-name> 
<filter-class> 
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
</filter-class> 
</filter>
配置完畢。啓動項目。發現servlet訪問的時候提示:There is no Action mapped for action name confirmServlet。
哎!一切都要ok的時候,出現個這樣的問題。查半天真是頭疼啊。
最終在struts.xml 中加上一句話: 
<constant name="struts.action.excludePattern" value="/ReportServer/*,/confirmationServlet/*"/>
struts在過濾的時候不過濾此路徑。
其中servlet:

<url-pattern>/confirmationServlet</url-pattern>

<url-pattern>/ReportServer</url-pattern>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章