关闭

struts2.0.14 更换为2.1.8引发的问题

1131人阅读 评论(0) 收藏 举报

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>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:255008次
    • 积分:2933
    • 等级:
    • 排名:第12493名
    • 原创:38篇
    • 转载:42篇
    • 译文:0篇
    • 评论:24条
    最新评论