详谈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的上下文,通过它可以获得值栈对象】

 

获得值栈对象的方式:

注意点:

 

 

 

 

posted @   禁心尽力  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示