一、什么是Struts2?
Struts2是一个基于MVC设计模式的WEB层框架。Struts2的内核相对于Struts1来讲已经发生巨大变化。(雷锋和雷锋塔)
二、常见的web层框架
1、Struts2
2、Struts1
3、Webwork
4、SpringMVC
Web层框架基于前端控制器模型设计
三、入门
1.下载安装包,解压即可。
2.目录说明
apps : Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。
docs : Struts2的开发文档和API
lib : Strtus2框架的开发的jar包
src : Struts2的源码
3.使用Struts2
3.1 创建web项目,引入jar包
3.2 创建一个JSP页面
3.3 编写Action的类
3.4 对Action进行配置
3.5 配置前端控制器(核心过滤器): web.xml
3.6 配置struts.xml(在src路径下)
4.stuts2的运行
当用户访问某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),
执行目标Action,根据Action的返回值,进行页面跳转。
5. Struts2的配置文件加载顺序
struts.xml ----> struts.properties -----> web.xml
注意:后配置的常量的值会覆盖先配置的常量的值。
Action的配置
1. package相关配置
package标签称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。
package标签的属性
name :包的名称,只有在一个项目中不重名即可。
extends :继承哪个包,通常值为struts-default。
namespace :名称空间,与<action>标签中的name属性共同决定访问路径。
abstract :抽象的,用于其他包的继承。
名称空间有三种写法:
带名称的名称空间 :namespace=”/aaa”
跟名称空间 :namespance=”/”
默认名称空间 :namespace=””
2 action相关配置
action标签的属性
name :与namespace共同决定访问路径
class :Action类的全路径
method :执行Action中的哪个方法的方法名,默认值execute
converter :用于设置类型转换器
3、Struts2的常量配置
在Struts2的框架中,提供了非常多的常量:(在default.properties)
struts.i18n.encoding=UTF-8 ----Struts2中所有的post请求的中文乱码不用处理。
struts.action.extension=action,, ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。
在Struts2中修改一些常量的值:
修改常量的值,可以有三个位置进行修正
struts.xml中进行修改(推荐使用)
struts.properties中进行修改;
web.xml中进行修改;
4.分模块开发的配置:include的配置:
5、Action的写法:(3种)
---自己编写Action类,即Action类是POJO的类
---实现Action接口
---继承ActionSupport类(推荐使用,可以使用父类的方法)
6、Action的访问设置方法(3种)
---通过method方法设置
---通过通配符配置(*****):method="{1}":表示第一个星号的内容,即是save
---通过动态方法访问