一、使用Struts需导入必要的Struts的jar
二、配置web.xml文件,Struts需要配置拦截器和要拦截的请求,(具体的是,Struts配置中声名了哪些请求是我需要拦截的,当请求被拦截之后,拦截器会StrutsPrepareAndExecuteFilter会去struts.xml找相对应的请求,FilterDispatcher然后分配给它去处理)
<filter>
<filter-name>Struts2</fileter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
<filter-mapping>
三、创建struts.xml
<struts>
<!--
package:包,用于对Action进行封装
name:包名,根元素下可以有多个包,彼此不能重名
extends:继承,用于指定继承的包,相当于将继承包下的配置信息复制到当前包
namespace:命名空间,用于规定Action的访问路径,必须“/”开头 -->
<package name="test01" namespace="/test01" extends="struts-default">
<!--action:业务控制器,用于注册业务控制器组件
name:action名称,用于规定Action的访问路径
class:业务控制器组件,用于指定业务控制器对应的类
method:方法,用于指定访问当前action时要调用的方法
*请求URL:http://ip:port/projectName/namespace/ActionName.action
-->
<action name="hello" class="test01.konrad.action.HelloAction" method="execute">
<!--result:输出组件,用于转发、重定向、直接输出
name:名称,一个action下可以有多个result,彼此不能重名
默认值转发,元素内设置转发的页面
-->
<result name="success">
/hello.jsp
</result>
</action>
</package>
</struts>
四、总结就是,导入jar之后,配置完web.xml和struts.xml之后,我发送一个请求,如果符合Struts拦截的请求,就会被拦截下来,然后拦截器去Struts.xml中找有没有配置的action,如果有就把这个请求根据配置分配到相应的action中去处理,Struts.xml中的这个请求一般是有success和error的result配置,根据action处理之后返回的字符,匹配去执行那个操作