Struts2的相关知识点

1、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图数据进行交互。

2、WEB层框架都是基于前端控制器的模式:传统的开发方式是,有一次请求就会对应一个Servlet,这样会导致出现很多Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下的再提交到具体的Action中。而Struts2中的前端控制器是由过滤器来实现的。前端核心过滤器是:StrutsPrepareAndExecuteFilter,这个过滤器有两个功能:预处理和执行。在预处理中主要就是加载配置文件的,对应的是过滤器中的init方法。而执行是用来执行一组拦截器完成的部分功能,对应的是过滤器中的doFilter方法。

3、使用Struts2都是从页面发起请求到服务器,再由服务器处理请求响应到页面的过程。

4、Struts2的执行流程:从客户端发送请求过来,先经过前端控制器(核心过滤器:StrutsPrepareAndExecuteFilter)过滤器中执行一组拦截器,完成部分功能代码。拦截器完成以后,就会执行目标Action,在Action中返回一个结果视图,根据Struts.xml中配置的Result进行页面跳转。

5、struts.xml的相关配置

6、Action的三种编写方式

(1)Action是一个POJO类

(2)Action实现一个Action接口

(3)Action继承ActionSupport类(常用)

7、Action的访问方式

(1)通过配置method属性

(2)通配符的配置(常用)

(3)动态访问方法

8、Struts2中访问Servlet  API的三种方式

(1)通过ActionContext类访问

ActionContext context = ActionContext.getContext();
context.put("name","zju");
context.getAppication().put("name","zju");
context.getSession().put("name","zju");

(2)通过特定的接口访问

ServletRequestAware、ServletResponseAware、SessionAware、ServletContextAware

(3)通过ServletActionContext访问

Struts2框架提供了ServletActionContext类,该类包含了几个常用的静态方法:

1)static HttpServletRequest  getRequest():获取Web应用的HttpServletRequest对象

2)static HttpServletResponse  getResponse():获取Web应用的HttpServletResponse对象

3)static ServletContext  getServletContext():获取Web应用的ServletContext对象

4)static PageContext  getPageContext():获取Web应用的PageContext对象

总结:2和3中的的Action都和Servlet的API耦合,不利于程序解耦,所以优先考虑使用ActionContext。

Struts2是通过访问Servletd的API接收前端页面传过来的数据,接收过来的数据封装到一个JavaBean中,然后将JavaBean传到业务层。

9、Struts2数据的封装分为两大类

(1)属性驱动

<1>只需要提供属性的set方法

<2>通过表达式直接封装到对象中

一般以JavaBean来实现,所封装的属性和表单的属性一 一对应,JavaBean将成为数据传递的载体。

(2)模型驱动

通过实现ModelDriven接口来实现接收请求参数,Action类必须实现ModelDriven接口,并且重写getModel()方法,这个方法返回的就是Action所使用的数据模型对象。

模型驱动方式采用JavaBean模型来传递数据,JavaBean的属性和表单的属性一 一对应,JavaBean将成为数据传递的载体。

10、Struts2中封装集合类型的数据

在实际的开发中,有些时候我们需要批量插入用户或者批量插入其他对象,在Action中需要接收这多个Action中封装的对象,然后传递给业务层。那么这个时候就需要将前端表单数据封装到集合中。我们经常用List和Map这两个集合。

11、OGNL表达式

12、Struts2中值栈的概述

13、Struts2中拦截器的概述

14、Struts2标签库的概述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值