struts2不是struts1的下一代产品,是在struts1和WebWork技术的基础上进行合并后的全新框架,虽然两个名字相似,但是设计思想却有很大的不同。

使用本地的l ib 或者download都可以,这里我使用本地的包,后期比较方便,需要什么包可以直接在本地找到,并拷贝,不需要再去网络上下载

工程命名以及存放位置

新建好工程之后,自行在 WEB-INF 下面新建 classes 和 lib 两个文件夹,改变对应的目录,这里说一下自己踩的坑,

自己使用的版本比较高,2.5.20;

在配置 web.xml 的时候,注意 idea 自动配置的是 2.5 一下的版本,里面的文件出现了变化,所以 filter-class 需要改变去掉 .ng 即可

开始的时候无论怎么操作都出现404,后来发现少了一下 lib 包,

 

后来找了一下,发现 2.5.20 版本把这个文件整合到 struts2-core-2.5.20.jar 里面了,那么在调用的时候在 struts.xml 中加上了

1 <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
2 <constant name="struts.devMode" value="true"/>

然后重新运行即可

 工程目录:

 

 

 web.xml 配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 5          version="4.0">
 6     <filter>
 7         <filter-name>struts2</filter-name>
 8         <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
 9     </filter>
10     <filter-mapping>
11         <filter-name>struts2</filter-name>
12         <url-pattern>/*</url-pattern>
13     </filter-mapping>
14 </web-app>

 

struts.xml 配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3         "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
 4         "http://struts.apache.org/dtds/struts-2.5.dtd">
 5 
 6 <struts>
 7     <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
 8     <constant name="struts.devMode" value="true"/>
 9     <package name="hello" namespace="/" extends="struts-default">
10         <action name="helloWorld" class="com.hello.action.HelloWorldAction">
11             <result name="success">/success.jsp</result>
12         </action>
13     </package>
14 </struts>

最重要的就是这两个配置,还有其他步骤的设置