一、导包
官网下载Struts 2,打开后找到包
(为什么需要找包呢?因为Struts 2 开发商并没有将这个jar进行分类,所以我们导包很难,所以打开进入到app文件下,这个文件下都是一些war包(demo)。将struta2.war改成.rar文件,然后解压,最后将WEB_INFO下面的lib包导入到项目中,就完成了导包)
二、创建Action类
public class HelloAction { public String hello(){ System.out.println("hello struts2"); return "success"; } }
三、创建配置文件 struts.xml
<1> 这个文件必须放在src目录下,名字也必须是struts.xml
创建完成后导入约束(在dtd这个包中)
<!DOCTYPEstrutsPUBLIC "-//Apache Software Foundation//DTD StrutsConfiguration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
现在是报错的,导入struts标签就行了
<2> 在struts.xml中配置action
<package name="hello" namespace="/hello"extends="struts-default">
<action name="helloAction" class="cn.hd.hello.HelloAction"method="hello">
<result name="success">/hello.html</result>
</action>
</package>
<3> 创建一个 hello.html
<4> 在web.xml中配置过滤器。(因为Struts 2是基于过滤器的)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>(编译器全局搜索,输入StrutsP复制这个类的相对路径)
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<5> 测试
出现404错误:
1. struts.xml文件名错误
2. struts.xml文件位置错误
3. hello.xml文件位置错误
4. tomcat启动失败
5. struts.xml配置错误
<1>. package中的namespace和地址不一致
<2>. action中的name和地址中的helloAction不一致
<3>. result中name字段和action的返回值不一致
<4>. result中值错误