struts2 概述
- struts2 框架应用于Javaee 三层结构的中的web层架构
- sturts2 框架是在struts1 和webwork基础之上的发展的全新的框架
- struts2 解决问题
struts2 版本
- 版本号 :struts2-2.3.24
- 需要记住小的版本号
struts2 入门案例
- 创建Javaweb动态项目
- 导入jar 包
- 注意:解压的文件lib目录内是有许多的jar包的,但是不需要都导入
- 但是作为初学者,不知道导入哪个jar包,可以参考文件内的实例项目
- 创建Action
- 传统的Servlet处理是通过内部的service方法,但是struts2使用的是execute方法
- execute这方法有一个String类型的返回值
配置action 的访问路径
- 创建struts2的核心配置文件
- 核心配置文件的文件名和位置 都是固定的
- ==位置必须在src 下面,名称是struts.xml==
引入dtd约束
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
这个约束可以在实例项目中参考一份
- 创建struts2的核心配置文件
配置struts2 过滤器
<filter> <filter-name>xxx</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>xxx</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- 在项目中的web.xml文件中配置
- 访问路径:http://localhost:8888/text1/配置的struts核心配置文件 的action的name值
sturts2 的执行过程
1. 客户端发出请求
2. 通过过滤器实现功能
3. 获取请求的路径,进行字符串的操作,得到访问的资源名
4. 在src 下面找到struts.xml配置文件,使用dom4j进行解析,找到action标签内的name属性的值,判断是不是和请求 的资源名是一样的,
5. 如果匹配的是一样的,会找到action标签额另一个属性class的值,使用反射调用方法execute
6. 得到execute方法的返回值,在struts.xml文件找到result 标签,判断标签的name属性值是不是和方法返回的结果一样,如果一样,那么就跳转到result标签配置的页面