目录
1.Struts2框架的学习路线
2.Struts2的概述
2.1什么是Struts2
2.2常见的web层框架
2.3Web层框架基于前端控制器模型设计
3.Struts2的入门
3.1下载Struts2的开发环境
3.2解压Struts2开发包
3.3创建web项目,引入jar包
3.4创建一个JSP页面
3.5编写Action的类
3.6对Action进行配置
3.7配置前端控制器(核心过滤器web.xml中配置)
3.8改写Action中的方法的返回值
3.9改写struts.xml
3.10编写success.jsp
4.Struts2的执行流程
4.1Struts2的执行流程
5.Struts2的常见配置
5.1配置XML的提示
5.2Struts2的配置文件的加载顺序(了解)
5.2.1Struts2的配置文件加载顺序
5.2.2加载顺序
5.3Action的配置
5.3.1package相关配置
5.3.2action相关配置
5.4常量的配置
5.5分模块开发的配置
6.Action的访问
6.1Action的写法
6.1.1Action类是POJO的类
6.1.2Action类实现一个Action的接口
6.1.3Action类继承ActionSupport类
6.2Action的访问
6.2.1通过method设置
6.2.2通过通配符的方式进行配置(*****)
6.2.3动态方法访问
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。Apache Struts 2 是一种流行的 Java模型 - 视图 - 控制器(MVC)框架,成功地结合了 WebWork和Struts1.x 两种 web 框架。
下载地址:http://struts.apache.org/
<body>
<h1>Struts2入门h1>
<h3><a href="${pageContext.request.contextPath}/hello.action">Struts2入门a>h3>
body>
/**
* @Title: HelloAction.java
* @Package top.yangxianyang.demo1
* @Description: TODO(测试Strurs2)
* @author A18ccms A18ccms_gmail_com
* @date 2018-11-24 下午2:54:02
* @version V1.0
*/
package top.yangxianyang.demo1;
/**
*
* 项目名称:Struts2day01
* 类名称:HelloAction
* 类描述:测试Strurs2
* 创建人:yangyangyang
* 创建时间:2018-11-24 下午2:54:02
* 修改人:yangyangyang
* 修改时间:2018-11-24 下午2:54:02
* 修改备注:
* @version
*
*/
public class HelloAction {
/**
* 提供一个方法:
* * 方法签名固定的
* 共有的 返回值是String类型 方法名execute 在这个方法中不能传递参数。
*/
public String execute(){
System.out.println("HelloAction执行了...");
return null;
}
}
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
/**
* 提供一个方法:
* * 方法签名固定的
* 共有的 返回值是String类型 方法名execute 在这个方法中不能传递参数。
*/
public String execute(){
System.out.println("HelloAction执行了...");
return "success";
}
/demo1/success.jsp
跳转成功页面!!!
当用户访问某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),执行目标Action,根据Action的返回值,进行页面跳转。
在Struts2的框架中,提供了非常多的常量:(在default.properties)
在Struts2中修改一些常量的值:
struts.action.extension=action,,
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
include的配置
package top.yangxianyang.demo2;
/**
* Action的编写方式:Action类是一个POJO的类
* @author yxy
*
*/
public class ActionDemo1 {
public String execute(){
System.out.println("ActionDemo1执行了...");
return null;
}
}
package top.yangxianyang.demo2;
import com.opensymphony.xwork2.Action;
/**
* Action的编写方式二:实现一个Action的接口
* * 实现接口的这种方式:提供了五个常量(五个逻辑视图的名称)
* * SUCCESS :成功
* * ERROR :失败
* * LOGIN :登录出错页面跳转
* * INPUT :表单校验的时候出错
* * NONE :不跳转
* @author yxy
*
*/
public class ActionDemo2 implements Action{
@Override
public String execute() throws Exception {
System.out.println("ActionDemo2执行了...");
return NONE;
}
}
package top.yangxianyang.demo2;
import com.opensymphony.xwork2.ActionSupport;
/**
* Action的编写方式三:Action类继承ActionSupport类
* * 推荐使用继承ActionSupport方式
* * ActionSupport中提供了数据校验、国际化等一系列操作的方法。
* @author yxy
*
*/
public class ActionDemo3 extends ActionSupport{
@Override
public String execute() throws Exception {
System.out.println("ActionDemo3执行了...");
return NONE;
}
}
通过动态方法访问的方式
查询客户
修改客户
删除客户
保存客户
源码地址:
链接: https://pan.baidu.com/s/1hyn9jUKba_Hw51a3RhLY1g 提取码: wgug
复制这段内容后打开百度网盘手机App,操作更方便哦