1.Struts2框架应用于javaee三层结构中web层框架
2.Struts2框架在Struts1和webwork基础上发展的全新框架
3.Struts2可解决的问题
4.web层常见框架:struts2,springMVC
第一步 导入jar包
第二步 创建action
public class HelloAction {
/*
* (1)每次访问servlet的时候,都会执行service方法
* (2)在action中,默认执行execute方法
*/
public String execute(){
return "ok";
}
}
第三步 配置action类的访问路径
(1)创建Struts2核心配置文件
(2)引入dtd约束
(3)action配置
/hello.jsp
第四步 在web.xml中配置Struts2过滤器
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
第五步 启动tomcat,在浏览器输入http://loaclhost:8080/struts2day_01/hello.action
1.package标签
(1)类似于代码包,区别不同的action,在package里面才能配置action
(2)name属性:与功能本身没有关系,只用来区分。一个配置文件中可以有多个package标签,每个的name属性都不能相同
(3)extends属性:值固定为struts-default,写了这个属性后,package里面配置的类才有action功能
(4)namespace属性:namespace的属性值和action标签里面的name值构成访问路径
2.action标签
(1)action标签配置action访问路径
(2)name属性:在package中可以有多个action标签,但name属性值不能相同
(3)class属性:action全路径
(4)method属性:默认执行execute方法,但可以配置来执行其他的方法
3.result标签
(1)根据action的方法返回值,配置到不同的路径里面
(2)name属性:和方法的返回值一致
(3)type属性:配置如何到路径中去(转发或重定向),默认为转发
4.Struts常量配置
(1)在struts.xml中进行配置
(2)在src下创建一个文件struts.properties,进行修改
(3)在web.xml进行配置
struts.i18n.encoding=UTF-8
(1)表单数据提交到action中,在action里可获取表单提交数据
(2)表单提交的数据中有中文,出现乱码问题。如果是post提交,直接设置编码;如果是get提交,做编码转换
(3)这个常量能解决action获取表单通过post方式提交中文的乱码问题
5.分模块开发配置
单独写配置文件,把配置文件引入到核心配置文件中
三种方式
1.创建普通类,该类不继承任何类,不实现任何接口
2.创建类,实现接口Action
3.创建类,继承类ActionSupport(建议使用)
三种方式
1.使用action标签的method属性,在这个属性的值中写方法名称
第一步 创建action类
public class BookAction extends ActionSupport{
public String add(){
System.out.println("add.............");
return NONE;
}
public String update(){
System.out.println("update.............");
return NONE;
}
}
第二步 struts.xml中配置
缺陷:action中每个方法都需要配置,如果方法过多不适用
2.使用通配符
在action标签里面name属性值里写*,可匹配到任意内容
通配符分析
3.动态访问(一般不用)