struts2核心控制器在哪里配置_intercontrol控制器

struts2核心控制器在哪里配置_intercontrol控制器原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/1.   在struts1.x系列中,所有的请求是通过一个servlet(ActionServlet)来管理控制的,在Struts2.X而是经过一个Filter来处理请求的。Struts2将核心控制器设计成Filter,而不是一个普通Servlet。struts1.x中actionorg.apache.struts.action.ActionServlet。。。St

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/

1.    struts1.x 系列中 , 所有的请求是通过一个 servlet(ActionServlet) 来管理控制的 , Struts2.X 而是经过一个 Filter 来处理请求的。 Struts 2 将核心控制器设计成 Filter ,而不是一个普通 Servlet 因为设计者为了实现AOP(面向方面 编程)概念.

struts1.x

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
。。。
< /servlet>

Struts2.X

<filter>
<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern> </filter-mapping>

 

2. Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。 

核心控制器:FilterDispatcher 
FilterDispatcher是Struts 2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts 2框架处理。

Struts 2框架获得了*.action请求后,将根据*.action请求的前面部分决定调用哪个业务逻辑组件,例如,对于login.action请求,Struts 2调用名为login的Action来处理该请求。 

Struts 2应用中的Action都被定义在struts.xml文件中,在该文件中定义Action时,定义了该Action的name属性和class属性,其中name属性决定了该Action处理哪个用户请求,而class属性决定了该Action的实现类。 


Struts 2用于处理用户请求的Act
ion实例,并不是用户实现的业务控制器,而是Act
ion代理 ——因为用户实现的业务控制器并没有与Servlet API耦合,显然无法处理用户请求。而Struts 2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求参数解析出来,传入到Action中,并回调Action的execute方法来处理用户请求。 

显然,上面的处理过程是典型的AOP(面向切面编程)处理方式。图3.19显示了这种处理模型。
struts2核心控制器在哪里配置_intercontrol控制器
Struts 2的拦截器和Action从图3.19中可以看出,用户实现的Action类仅仅是Struts 2的Action代理的代理目标。用户实现的业务控制器(Action)则包含了对用户请求的处理。用户的请求数据包含在HttpServletRequest对象里,而用户的Action类无需访问HttpServletRequest对象。拦截器负责将HttpServletRequest里的请求数据解析出来,并传给业务逻辑组件Action实例。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170660.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • USB调试助手_蓝牙串口APP

    USB调试助手_蓝牙串口APP今天终于把USB调试助手做完了,程序看起来自己还算满意,虽然有些地方还需完善,但整体功能已经实现了,程序就叫“USB调试助手”吧,是一款USB设备测试工具,可用于研究学习USB协议或进行USB设备开发测试使用,程序已经上传到CSDN了(https://download.csdn.net/download/donghailin/11965800),以方便大家下载,也希望大家提宝贵意…

    2022年9月3日
    2
  • ManualResetEvent用法「建议收藏」

    ManualResetEvent用法「建议收藏」ManualResetEvent用法

    2022年7月13日
    10
  • Java重载和重写的区别「建议收藏」

    Java重载和重写的区别「建议收藏」1、方法的重载的概念在同一个类中,允许存在一个以上的同名方法,只要同名的参数个数或者参数类型不同即可。总结:”两同一不同”:同一个类、相同方法名参数列表不同:参数个数不同,参数类型不同2、例构成重载的举例:不能构成重载的举例:3、如何判断是否构成方法的重载?严格按照定义判断:两同一不同跟方法的权限修饰符、返回值类型、形参变量名、方法体都没关系!4、如何确定类中某一个方法的调用:方法名——>参数列表子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作重写以后,当创建子类对象以后,通过

    2022年9月9日
    0
  • 软件测试分类

    软件测试分类一、软件测试的分类1、按开发阶段:单元测试、集成测试、系统测试、验收测试2、按测试实施组织:α、β、第三方3、按测试执行方式:静态测试、动态测试4、按是否查看代码:黑盒测试、白盒测试、灰盒测试5、按是否手工执行划分:手工测试、自动化测试6、按测试对象划分:性能测试、安全测试、兼容性测试、文档测试、易用性测试(用户体验测试)、业务测试、界面测试、安装测试7、按测试地域划分…

    2022年9月6日
    3
  • 什么网管工具好_网管功能

    什么网管工具好_网管功能 看看别人用什么:最佳网管工具点评日前,美国《NetworkWorld》通过读者调查,选出了最受读者欢迎的网络管理工具,我们也将它们推荐给国内的网管员们,希望能助他们一臂之力,使他们轻松排除网络故障。  工具名称:SolarWindsEngineerEdition  网址:http://www.solarwinds.net  推荐理由:有读者说:”在不到一小时的时间内

    2022年10月5日
    0
  • JWT单点登录[通俗易懂]

    JWT单点登录[通俗易懂]项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总单点登录是什么SSO(SingleSignOn)SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。为什么需要单点登录以前分布式系统的多个相关的应用系统,都需要分别进行登录,非常繁琐。原来登录的过程:1)用户输入账号密码2)提交到后台验证,成功后将用户存在Session中3)需要进行登录状态判

    2022年5月11日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号