碎片化 | 第四阶段-40-Struts组件分类讲解-视频

时间:2022-05-06
本文章向大家介绍碎片化 | 第四阶段-40-Struts组件分类讲解-视频,主要内容包括StrutsPrepareAndExecuteFilter、Action、Result、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
视频内容

如清晰度低,可转PC网页观看高清版本:

http://v.qq.com/x/page/o0567s4azx0.html



版权声明:本视频、课件属本公众号作者所有,如有侵权,将追究法律责任。

视频课件:


StrutsPrepareAndExecuteFilter

作用:Struts2的核心控制器filter,浏览器发来请求,其就去过滤,并且转发struts.xml去处理

配置:web.xml去配置

<filter></filter><filterMapping></filterMapping>

流程细节:

- 接收浏览器请求,并且进行校验过滤
    - (默认后缀名是aciton和空,struts.xml-
    - <constant name="struts.action.extension" value="do,action"></constant>)
- 将请求对象,进行初始化valueStack(值栈)
- 请求拦截,通过拦截器处理Interceptor
- 转发请求action到struts.xml中,去根据(namepace+name)寻找对应的action
- XXXAction接收请求的处理方法和接收参数值
- action处理方法(默认execute、method=“xxxx”)返回值,result组件中的name对应结果返回值<result name = “success”>
- 根据result返回结果值,进行页面跳转或者传输数据
    - dispatcher
    - redirect
    - chaina
    - redirectAction
- jsp页面接收数据传输

Action

1:属性 接收参数值,传出数据到表现层

private String XXx;//接收的参数值,名称必须和请求接口参数名称一致

getter;//${XXx}
setter;

private String _name;//1:保留C++的编码风格
public String queryUsers(String name){....}//2:区分是否为全局变量

getName;//${name}
setName;

2:方法

默认方法:execute,ActionSupoot---execute

<action name = "" class=""  method="XXXX">

public String XXXX(){....}

3:API

session
1.ActionContext.getContext().getSession();
2.HttpSession  session = ServletActionContext.getRequest().getSession();
3.实现SessionAware 接口

Result

接收Action返回的对象值,进行处理

1:jsp页面跳转

    - dispatcher 转发跳转界面
    - redirect 重定向跳转页面

2:action
    - chain  转发执行action
    - redirectAction  重定向执行的action

3:字节流
    - stream 以字节流的形式进行数据传输

4:json数据
    - www.json.cn
    - 以json格式就行数据的传输