Struts2一个mvc框架 采用拦截器机制来处理用户的请求。
第一步、引入13个jar包到web项目的lib文件夹下面
每个jar包都有着不同的作用,附图有详解
注意commons-lang要引入3.0以上的版本,不然启动的时候回报错
struts2的核心就是拦截器
怎么配置拦截器呢?
在web.xml里面配置,
注意:
当然,由于做项目的时候程序比较复杂,struts2这个名称比ssh这个名称更有辨识度!
这个类继承了ActionSupport类,ActionSupport类好处很多,以后会重点解释
但是这个类在这里是没有起到什么作用的!
看这个类,我们要知道,这个类的包名、方法名,返回的是yes就可以了
package cn.com.day01;import com.opensymphony.xwork2.ActionSupport;public class ActionSupportClass extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L;/*author:命运的信徒 * date:2019/3/9 * arm:了解struts2的运作流程 */public String helloworld(){ System.out.println("Action类执行了"); return "yes";}}
struts.xml直接放在src的根目录下面就可以了
基础模板如下
也可以不用模板,自己新建
1、在src上面,右键-new xml(basic tempalet)
2、命名为struts.xml
3、next-选择第一个
4、next-选择第二个-只要找到Struts Configuration的字眼的都可以,版本随意
如果myelicpse/eclispe装了struts就更简单了
项目上右键-myeclispe-add struts ....
根据提示一步步的就可以了
我们开始讲struts.xml里面的配置字段
的意思就是设置Action请求的后缀名为action,
什么意思?
当前台的一个请求,如hello.action,hello.kk,struts.xml只识别.action后缀名的为我这个配置文件的请求,其他的不是!
当然字段的配置可以放在src下面的一个struts.properties文件夹里面
也可以放在web.xml的init-param里面,
三种字段的配置,一般都是把字段放在struts.xml文件里面配置
附图为其他的配置字段的样式,三选一就可以了!
name="tjn"是包名,因为到后来项目的复杂,一个struts.xml中有多个package
所以name是唯一的标识符
namespace是命名空间,没什么用处
extends是继承的意思,一般都是继承struts-default,这个struts-default里面有许多的拦截器机制
也可以继承其他的包名!
这个action中name="hello"对于的就是前台页面jsp中的请求的名称
如 点我
class就是要处理用户请求类的地址,一般ctrl+鼠标点击就可以进去
method就是这个类里面的方法
如果没有method,默认方法名是execute
name是类中的方法返回的字符串,如果没有name="yes"的话,默认返回的是success
/success.jsp:如果类中的方法返回的字符串==success的话,执行成功的话,页面就会跳转到success.jsp页面
前台页面jsp
页面效果如下
1、当web项目启动的时候,StrutsPrepareAndExecuteFilter机制就开启了;
2、当前台页面jsp发送一个httpservlet请求的时候,可以是
或点我
或点我
3、这一切都有ActionMapping来判断是不是Action请求,不是的话,就直接去http相应,如果是的话,就会把请求处理交给ActionProxy;
4、ActionProxy会通过配置管理器找到struts.xml文件,怎么找相应的action呢?通过创建Action ActionInvocation实例,Action ActionInvocation根据请求的名称 5、一旦Action执行结束,就会返回一个字符串,Action ActionInvocation就会负责查找result中name和字符串相符的result ,执行result; 6、产生的result信息返回给ActionInvocation,这个过程也会经过拦截器机制 注意:struts.xml文件可以有多个,但是web项目启动的时候,从前台都后台默认的都是struts.xml文件,如果你想调用struts-demo.xml文件的话,可以在struts.xml文件中包含 这个写法是默认struts-demo.xml也在src根目录下面 标签:Struts2,搭建,框架