struts2(struts2的工作流程)

2024-05-30 11:59:21 12

struts2(struts2的工作流程)

各位老铁们好,相信很多人对struts2都不是特别的了解,因此呢,今天就来为大家分享下关于struts2以及struts2的工作流程的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

struts2的工作流程

在Struts2框架中的处理大概分为以下几个步骤:

1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 

2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 

3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 

4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 

5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 

6、ActionProxy创建一个ActionInvocation的实例。 

7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。

在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及ActionMapper 。

扩展资料:

应用流程注解

当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。

经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。

FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。

ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。

拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。

参考资料:百度百科-Struts 2

java struts2是干什么用的

因为struts2的Action就具备了struts1中ActionForm的功能;ActionForm的功能无非三个:初始化数据;封装数据;验证数据格式;对于struts2,都有相应的解决方式:通过Action实现Preparable接口,实现对数据初始化;Action继承ActionSupport,重写validate(),显示数据的验证,在Action中配置属性以及对应的getter和setter方法,实现数据封装。而且类型转换方面,struts2通过OGNL实现的效果要比ActionForm更灵活。spring的声明事务依赖AOP;以代理的方式实现事务;通过AOP和tx命名空间组合成一个事务切面,声明式的方式注入给某个需要的业务对象;可以很方便的为某个业务对象添加或删除事务。

struts2为什么用拦截器有什么好处起什么作用

1、拦截器是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理。2、好处:拦截器也可以让你将通用的代码模块化并作为可重用的类。Struts2中的很多特性都是由拦截器来完成的。3、作用:可以构成拦截器栈,完成特定功能。比如日志记录、登录判断、权限检查等作用。

搭建struts2环境,在web.xml中加入过滤器的代码后访问任何页面都是404错误请大家帮帮忙

楼主,我记得struts2的核心过滤器是这样配的。《filter》 《filter-name》struts2《/filter-name》 《filter-class》org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter《/filter-class》 《/filter》 《filter-mapping》 《filter-name》struts2《/filter-name》 《url-pattern》/*《/url-pattern》 《/filter-mapping》

java.lang.ClassNotFoundException: ora.apache.struts2.dispatcher.FilterDispatche报错怎么解决啊

应该是这句的问题:《filter-class》ora.apache.struts2.dispatcher.FilterDispatcher《/filter-class》 把类换成这个看看:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2漏洞是什么

1. Struts2的重定向漏洞根据Apache给出的漏洞修复方案,只是升级了jar包版本2.3.16升级完成后所有页面访问都出现了404,如下bug:There is no Action mapped for namespace associated with context path.... 解决办法:当时好像使用了Dynamic Method Invocation 动态方法调用,然后Struts.xml文件都修改了通配符和占位符匹配。2. Struts2 OGNL的高危漏洞S-045Struts使用的Jakarta解析文件上传请求包不当,当远程攻击者构造恶意的Content-Type,可能导致远程命令执行。针对此问题做出如下修改: (1)根据Apache给出的漏洞修复方案,升级Struts2相关jar到2.3.32 (2)关于上传文件部分做出如下验证《1》上传文件非空验证;《2》上传文件格式验证;《3》上传文件验证MimeType;《4》文件是否可被修改高宽或裁剪(本次项目上传完文件为图片)《5》文件保存路径重命名。学习java知识,推荐北京尚学堂,我们拥有多年编程培训经验,会让你在学习的时候快人一步!

struts2 的最大特点

  struts2 的最大特点:  1、Action类完全是一个POJO,因此具有很好的代码复用性。  2、 Action类无需与Servlet API耦合,因此进行单元测试非常简单。  3、 Action类的execute方法仅返回一个字符串作为处理结果,该处理结果可映射到任何的视图,甚至是另一个Action。

org.apache.struts2.dispatcher.FilterDispatcher.class这个类有什么作用

概要说明 FilterDispatcher是早期struts2的过滤器,后期的都用StrutsPrepareAndExecuteFilter了,如 2.1.6、2.1.8。StrutsPrepareAndExecuteFilter名字已经很能说明问题了,prepare与execute,前者表示准备,可以说是指filter中的init方法,即配制的导入;后者表示进行过滤,指doFilter方法,即将request请求,转发给对应的 action去处理。FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!StrutsPrepareAndExecuteFilter的优势 StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的,这样的改革当然是有好处的.!为什么这么说.? 应该知道如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html! 那我现在有需求, 我必须使用Action的环境,而又想在执行action之前拿filter做一些事, 用FilterDispatcher是做不到的.!那么StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器.!给你打个比喻, 现在有病人要做手术, 现在struts2要做两件事, 搭病床(环境),执行手术.! 那么打麻药的工作呢.? 不可能要病人站着打吧, 所以必须有病床的环境,打完麻药之后再动手术.! 这个比喻非常形象了.! 如果是2.1.3之前的版本,用org.apache.struts2.dispatcher.FilterDispatcher,否则,用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。 从Struts2.1.3开始,将废弃ActionContextCleanUp过滤器,而在StrutsPrepareAndExecuteFilter过滤器中包含相应的功能。 三个初始化参数: 1、config参数:指定要加载的配置文件。逗号分割。 2、actionPackages参数:指定Action类所在的包空间。逗号分割。 3、configProviders参数:自定义配置文件提供者,需要实现ConfigurationProvider接口类。逗号分割.《filter》 《filter-name》struts2《/filter-name》 《filter-class》 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 《/filter-class》 《init-param》 《param-name》actionPackages《/param-name》 《param-value》com.cjm.web.action《/param-value》 《/init-param》 《/filter》 《filter-mapping》 《filter-name》struts2《/filter-name》 《url-pattern》/*《/url-pattern》 《/filter-mapping》 如果程序报类找不到异常,且后面有 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter等信息,可能是你的版本问题.解决方法是确定你的struts版本,如果是2.1.3之前的版本,用org.apache.struts2.dispatcher.FilterDispatcher,以后的版本则配置org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

关于struts2,struts2的工作流程的介绍到此结束,希望对大家有所帮助。

struts2(struts2的工作流程)

本文编辑:admin
struts2

更多文章:


小米游戏本redmig怎么样(Redmi G 2022游戏本系列炫酷出场,预计明日开启预售)

小米游戏本redmig怎么样(Redmi G 2022游戏本系列炫酷出场,预计明日开启预售)

本文目录Redmi G 2022游戏本系列炫酷出场,预计明日开启预售买redmig值得吗Redmi G 游戏本 2021 英特尔酷睿 版和 AMD锐龙 版哪个更好Redmi G值得入手吗华硕天选2和小米redmi+g那个好红米G2021锐龙

2024年7月17日 10:31

笔记本自带的摄像头怎么设置(电脑自带的摄像头怎么开启)

笔记本自带的摄像头怎么设置(电脑自带的摄像头怎么开启)

本文目录电脑自带的摄像头怎么开启如何开启笔记本摄像头电脑自带的摄像头怎么开启1、在电脑左下角搜索栏中搜索相机2、点击打开即可开启电脑内置摄像头如无法打开,请进入“设备管理器”确认驱动是否安装如何开启笔记本摄像头Win10打开摄像头操作:1、

2024年6月17日 13:24

儿童学习电脑(孩子学电脑家长应该如何做)

儿童学习电脑(孩子学电脑家长应该如何做)

本文目录孩子学电脑家长应该如何做给孩子买个什么样的电脑比较合适儿童学电脑应学些什么孩子学电脑有什么帮助孩子学计算机什么时候开始比较好孩子学电脑家长应该如何做 孩子学电脑家长应该如何做?   孩子学电脑家长应该如何做?,家长们对于孩子的培养

2024年7月19日 10:00

固态硬盘和机械硬盘的区别图片(固态硬盘和机械硬盘的区别是什么)

固态硬盘和机械硬盘的区别图片(固态硬盘和机械硬盘的区别是什么)

本篇文章给大家谈谈固态硬盘和机械硬盘的区别图片,以及固态硬盘和机械硬盘的区别是什么对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录固态硬盘和

2024年9月22日 15:30

本友会 precision5520(我买的戴尔precision m5520 在设备管理器里看不到独立显卡怎么办)

本友会 precision5520(我买的戴尔precision m5520 在设备管理器里看不到独立显卡怎么办)

本文目录我买的戴尔precision m5520 在设备管理器里看不到独立显卡怎么办precision 5520 怎么设置 touchpad 多任务手势戴尔 precision 5520 和thinkpad p51 哪个好我买的戴尔prec

2024年5月28日 17:13

联想电脑寄修服务(联想服务中心能寄电脑吗)

联想电脑寄修服务(联想服务中心能寄电脑吗)

本文目录联想服务中心能寄电脑吗联想笔记本电脑的售后服务联想电脑售后昆山联想电脑售后服务可以通过快递寄去维修吗维修后又能寄回 【官方网站】联想电脑过了保修了,还有必要寄到维保的地方修吗,贵不贵联想有寄修服务吗电脑报修和寄修有什么区别联想笔记本

2024年4月15日 09:15

thinkpadt420s屏幕分辨率有两种吗(thinkpad的屏幕分辨率是多少)

thinkpadt420s屏幕分辨率有两种吗(thinkpad的屏幕分辨率是多少)

本文目录thinkpad的屏幕分辨率是多少thinkpad t420i与t420s的区别thinkpad的屏幕分辨率是多少14、15寸的低端机型普遍用1366*768,如E系列的大部分都用这个,稍好点的用1600*900,这个基本很少见到了

2023年9月2日 23:40

南昌华硕电脑售后维修服务网点(华硕笔记本电脑南昌西湖区去哪里维修)

南昌华硕电脑售后维修服务网点(华硕笔记本电脑南昌西湖区去哪里维修)

本文目录华硕笔记本电脑南昌西湖区去哪里维修请告诉我江西南昌华硕正规售后服务点的具体地址和电话,急急急,谢谢南昌华硕笔记本保修点南昌西湖区哪里有华硕笔记本售后服务点华硕笔记本电脑南昌西湖区去哪里维修售后服务中心地址:西湖区八一大道99号洪城数

2024年7月24日 01:58

什么叫移动硬盘盒,是干嘛用的?移动硬盘和硬盘+硬盘盒的优劣有那些

什么叫移动硬盘盒,是干嘛用的?移动硬盘和硬盘+硬盘盒的优劣有那些

本文目录什么叫移动硬盘盒,是干嘛用的移动硬盘和硬盘+硬盘盒的优劣有那些想买一个硬盘盒,哪个牌子的比较好移动硬盘盒怎么安装移动硬盘盒与移动硬盘的区别是什么移动硬盘盒到底有什么用移动硬盘盒是什么啊固态硬盘盒是什么 固态硬盘盒介绍硬盘盒有什么作用

2023年11月29日 20:20

商用台式机和家用台式机的区别(家用台式机与商用台式机有什么不同)

商用台式机和家用台式机的区别(家用台式机与商用台式机有什么不同)

本文目录家用台式机与商用台式机有什么不同台式机商用电脑和家用电脑有什么区别啊华硕台式机家用与商用有什么区别家用电脑和商用电脑的CPU有什么区别家用台式电脑和商用台式电脑的区别主要是什么家用台式电脑和商用台式电脑有什么区别家用台式机与商用台式

2023年7月29日 02:00

笔记本内置声卡(望告知笔记本有内置声卡吗)

笔记本内置声卡(望告知笔记本有内置声卡吗)

本文目录望告知笔记本有内置声卡吗电脑内置声卡怎么使用笔记本电脑可以插内置声卡直播吗望告知笔记本有内置声卡吗笔记本电脑是自带声卡的。声卡是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。已经是电脑的必备设备之一,集成在主

2023年10月26日 23:50

华硕m509d(华硕M50触摸板的娱乐功能怎么点亮啊)

华硕m509d(华硕M50触摸板的娱乐功能怎么点亮啊)

本文目录华硕M50触摸板的娱乐功能怎么点亮啊请问各位达人华硕的本子性能质量怎么样华硕M50触摸板的娱乐功能怎么点亮啊点触摸板右上角的MODE就亮了,而且会锁掉触摸板的鼠标功能,不过没研究出来有什么用··貌似没什么东西可以控制的··呵呵··请

2024年6月17日 21:08

defaultstring笔记本电脑(这笔记本配置怎么样,多少钱买合适)

defaultstring笔记本电脑(这笔记本配置怎么样,多少钱买合适)

本文目录这笔记本配置怎么样,多少钱买合适电脑型号Default string Default string 笔记本电脑defaultstring笔记本电脑是什么意思意思是组装的吗电脑型号 Default string Default str

2024年1月6日 03:25

ibm笔记本是联想笔记本吗(IBM笔记本电脑是属于联想吗)

ibm笔记本是联想笔记本吗(IBM笔记本电脑是属于联想吗)

本文目录IBM笔记本电脑是属于联想吗IBM笔记本目前准确说法还是不是联想ThinkPad笔记本IBM笔记本电脑是属于联想吗您好是的,联想收购了IBM的PC业务。BIOS设置,备份,一键安装驱动程序,几乎一模一样,很科学使用维修都很方便希望能

2024年4月29日 10:45

笔记本配置高但是玩游戏卡(电脑明明配置很高,为什么玩游戏却很卡顿)

笔记本配置高但是玩游戏卡(电脑明明配置很高,为什么玩游戏却很卡顿)

本文目录电脑明明配置很高,为什么玩游戏却很卡顿电脑配置很高但是玩游戏很卡为什么我电脑配置很高但是打英雄联盟很卡电脑配置很高玩游戏为什么还卡为什么笔记本玩游戏卡电脑配置很高,但是打游戏不流畅,可能是什么原因笔记本配置还算高,但是打游戏掉帧为什

2024年6月12日 02:50

华硕k420(华硕K420笔记本主板温度在60度左右,请问正常吗)

华硕k420(华硕K420笔记本主板温度在60度左右,请问正常吗)

本文目录华硕K420笔记本主板温度在60度左右,请问正常吗华硕k420笔记本触摸鼠标怎么开开华硕k420开不了机华硕k420双核笔记本风扇子坏咯,换个要多少钱华硕k420jz笔记本电脑玩英雄联盟卡吗 电脑型号 华硕 K42JZ 笔记本电脑

2024年7月5日 05:53

nvidia geforce gt 240m(Nvidia GeForce GT 240M的问题)

nvidia geforce gt 240m(Nvidia GeForce GT 240M的问题)

本文目录Nvidia GeForce GT 240M的问题NVIDIA Geforce GT 240M独立显卡我的台式电脑装的显卡测出为:nvidia geforce gt 240m是不是笔记本的显卡啊NVIDIA Geforce GT 2

2024年6月26日 14:04

电脑密码忘记了如何打开电脑(电脑密码忘了怎么打开电脑)

电脑密码忘记了如何打开电脑(电脑密码忘了怎么打开电脑)

本文目录电脑密码忘了怎么打开电脑电脑密码忘记了如何打开电脑电脑密码忘了怎么打开电脑摘要亲,您好,1、重新启动电脑,在 电脑开机 时长按F8键不动弹,直到电脑屏幕上出现高级选项的画面。接着,松手,上下移动选择“命令提示符的安全模式”,回车。2

2023年12月31日 13:30

微星笔记本电脑桌面颜色怎么调整(怎么改变笔记本电脑桌面的颜色)

微星笔记本电脑桌面颜色怎么调整(怎么改变笔记本电脑桌面的颜色)

本文目录怎么改变笔记本电脑桌面的颜色如何调笔记本电脑屏幕色彩鲜艳度电脑屏幕换了一种颜色,怎么调回正常的微星笔记本怎么调色温笔记本电脑颜色怎么调整电脑界面颜色异常,这样怎么解决我的电脑桌面的颜色不正怎么调msi笔记本屏幕色彩怎么调笔记本电脑显

2023年6月8日 12:20

电脑知识软件(有什么软件可以学习电脑知识)

电脑知识软件(有什么软件可以学习电脑知识)

本文目录有什么软件可以学习电脑知识广告设计需要学习什么电脑软件知识都有哪些软件可以学习电脑,下载什么软件,可以学电脑,最基本的知识手机要安装什么软件可以自己学习电脑知识呢计算机基础有什么软件你好,新手学电脑需要下载什么软件可以自学找一款计算

2024年5月13日 21:55

近期文章

本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-23 11:15:58 浏览:3883
e10000(皖E10000是什么车)
2024-07-17 11:22:25 浏览:3506
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-07-07 05:01:37 浏览:3100
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-24 08:26:42 浏览:2631
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-17 14:35:19 浏览:2237
vivo y3配置参数(vivoy3参数是什么)
2024-07-16 07:07:06 浏览:2071
标签列表

热门搜索