Struts2原理

一个请求在Struts2框架中的处理大概分为以下几个步骤: 
客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action”就是提起一个(HttpServletRequest)请求。
请求被提交到一系列(主要是三层)的过滤器(Filter),如(ActionContextCleanUp、其他过滤器(SiteMesh等)、 FilterDispatcher)。注意这里是有顺序的,先ActionContextCleanUp,再其他过滤器(SiteMesh等)、最后到FilterDispatcher。
FilterDispatcher是控制器的核心,就是mvc中c控制层的核心。

ActionContextCleanUp的作用:

延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让action自己清除。其实应该是defer cleanup,叫 ActionContexDeferCleanUp。

具体参看http://blog.csdn.net/wxy_G/article/details/1723571

看了博客中使用的freeMarker也不觉得很占优势,这个就不琢磨了~~

FilterDispatcher是控制器的核心:

拦截所有的用户请求,当用户请求到达时,该filter会过滤用户请求,如果以action结尾,转入Struts2框架处理。

Struts2框架获得了*.action请求后,根据*决定调用哪个业务逻辑组件。Struts2中的action定义在Struts.xml中,定义时候包含name,class。

Struts2用于处理用户请求的action实例时,不是用户实现的业务控制器,而是action代理,Struts2框架提供了系列拦截器,将HttpServletRequest请求参数解析,传入action,回调action的excute方法处理请求。

具体source可以参看

http://blog.csdn.net/g_beginner/article/details/6791106

可以看出怎么实现的。

业务控制器:

业务控制组件就是用户实现action类的实例。

模型组件:

通常是指系统的业务逻辑组件。

视图组件:

Struts.xml文件配置action时,不仅需要知道action的name和class,还要为action元素指定系列result子元素,没有指定type的时候默认使用jsp作为视图资源。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值