详谈Struts2

Posted 赵小忠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详谈Struts2相关的知识,希望对你有一定的参考价值。

介绍struts2:

  struts2是一个基于mvc设计模式的web层框架。

详谈struts2的执行流程:

 

struts2的执行流程:用户发送请求---->首先经过Struts2的核心过滤器---->然后经过Struts2的一组拦截器并完成部分功能(如接受数据并封装数据)---->自定义action类---->跳转页面result。
 
struts2的拦截器:
  什么是拦截器?拦截器实质上是struts2的核心,拦截器拦截的是对action的访问。
 
拦截器和过滤器的区别?

过滤器:过滤的是从客户端向服务器发送的任何请求。

拦截器:只能拦截对Action的访问,可以拦截到Action中的具体的方法。

 

struts2框架接受和封装jsp页面传递过来的参数:

  • 1.(属性驱动)在自定义Action类中提供相应属性的set方法,记住只提供set方法。
  • 2.(属性驱动)在页面表单中提供OGNL表达式。
  • 3.(模型驱动)在自定义Action类中实现ModelDriven<T>接口,然后手动创建一个实例【记住:模型驱动必须手动new一个对象出来】。

 

struts2访问servlet的api三种方式:

 

  • 完全解耦合的方式,通过ActionContext对象获取。
  • 实现一些特定接口的方式,通过实现如ServletRequestAware、ServletResponseAware、ServletContextAware等接口来获取。
  • 通过ServletActionContext对象中的一些静态方法来获取。

 

 

struts2的valueStack(值栈):

什么是值栈?

值栈的内部结构:

【ActionContext是action的上下文,通过它可以获得值栈对象】

 

获得值栈对象的方式:

注意点:

 

 

 

 

以上是关于详谈Struts2的主要内容,如果未能解决你的问题,请参考以下文章

Struts2struts2处理请求参数及其校验

struts2struts2中的流接收与流发送

Struts2Struts2与Spring整合后,如何指定Action为多例模式

详谈Struts2

详谈 UNIX 环境进程异常退出

详谈二叉搜索树