Struts2概述
- struts2框架应用javaee三层结构中web层框架
- struts2框架在struts1和webwork基础之上发展全新的框架
- struts2解决问题:
- web层常见框架
(1)struts2
(2)springMVC
Struts2框架入门
第一步 导入jar包
第二步 创建action
第三步 配置action类访问路径
(1)创建struts2核心配置文件
----核心配置文件名称和位置是固定的
----位置必须在src下面,名称 struts.xml
(2)引入dtd约束
(3)action配置
第四步 配置struts2过滤器
Struts2执行过程
Struts2的核心配置文件
- 名称和位置固定的
- 在配置文件中主要三个标签 package、action、result,标签里面的属性
package标签
- 类似于代码包,区别不同的action,要配置action,必须首先写package标签,在package里面才能 配置action
- package标签属性
(1)name属性
----name属性值根功能本身没有关系的
----在一个配置文件中可以写多个package标签,name属性值不能相同的
(2)extends属性extends="struts-default"
----属性值固定的,struts-default
----写了这个属性之后,在package里面配置的类具有action功能
(3)namespace属性
namespace属性值和action标签里面的name属性值构成访问路径
<package name="hellodemo" extends="struts-default" namespace="/">
<action name="hello" class="cn.itcast.action.HelloAction">
<result name="ok">/hello.jsp</result>
</action>
</package>
action标签
- action标签配置action访问路径
- action标签属性
(1)name属性
----namespace属性值和action标签里面的name属性值构成访问路径
----在package标签里面写多个action标签,但是action的name属性值不能相同的
(2)class属性
----action全路径
(3)method属性
----比如在action里面默认执行的方法execute方法,但是在action里面写其他的方法
----让action里面多个方法执行,使用method进行配置
result标签
-
List item根据action的方法返回值,配置到不同的路径里面
-
result标签属性
(1)name属性<result name="ok">/hello.jsp</result>
(2)type属性
----配置如何到路径中(转发或者重定向)
----type属性默认值 做转发操作
Struts2常量配置
- struts2框架,帮我们实现一部分功能,struts2里面有常量,在常量里面封装一部分功能
- struts2默认的常量位置(记住)
- 修改struts2默认常量值
常用的方式—在struts.xml中进行配置
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
Struts2分模块开发
单独写配置文件,把配置文件引入到核心配置文件中
<include file="com/oat/action/du.xml"></include>
Action编写方式
第一种 创建普通类,这个不继承任何类,不实现任何接口
第二种 创建类,实现接口 Action
第三种 创建类,继承类 ActionSupport(一般使用)
访问action的方法
第一种 使用action标签的method属性,在这个属性里面写执行的action的方法
第二种 使用通配符方式实现
注意:
- 如果action方法有返回值,在配置文件中没有配置,出现错误;
- 在action里面的方法有返回值,如果有返回值时候类型必须是String
- action里面的方法可以没有返回值,没有返回值时候,在result标签不需要配置,把方法写成void(让返回值,返回 ”none”)