struts1工作原理(struts的工作原理是什么)

2025-03-09 01:30:02 0

struts1工作原理(struts的工作原理是什么)

本文目录

struts的工作原理是什么

  Struts2工作流程:

  1.客户端(Client)向Action发用一个请求(Request)

  2.Container通过web.xml映射请求,并获得控制器(Controller)的名字

  3.容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter

  4. 控制器(Controller)通过ActionMapper获得Action的信息

  5.控制器(Controller)调用ActionProxy

  6.ActionProxy读取struts.xml文件获取action和interceptor stack的信息。

  7.ActionProxy把request请求传递给ActionInvocation

  8.ActionInvocation依次调用action和interceptor

  9. 根据action的配置信息,产生result

  10.Result信息返回给ActionInvocation

  11.产生一个HttpServletResponse响应

  12.产生的响应行为发送给客服端。

Struts1的工作原理

客户端发送请求(Http Request),被struts1的核心控件器ActionServlet接收,ActionServlet根据struts-config.xml里的映射关系找到对就的Action,若找不到就返回500错误到JSP页面。若有就Action里的 excute()方法里执行相应的逻辑操作,比如调用Model层的方法,然后通过ActionForward,跳转到对应的输出页面

sturts2的原理是什么,和struts1有什么不同请说的简明易懂一点语言尽量跟下文差不多易懂

struts1多了actionform,struts2只有action。对于struts2,:①jsp页面----》②struts.xml------》 ③action类 ①action类----》②struts.xml------》③jsp页面1.jsp页面中form表单《from action=“xxx“》中的内容提交,2.struts.xml中的action 《action name=“xxx“ class=“oooAction.class“ method=“oooAction.class中的方法()“》3.oooAction.class这个类得到提交的内容。(这个类的方法()处理一些逻辑,返回String 类型,如“success” “error”),这个String被传到struts2,.xml 《action》《result name=“success“》/success.jsp,就带内容跳到success.jsp页面了。通俗的说struts2是这么工作的。至于为什么会按照这个流程走,是struts2自己控制的,其间涉及到拦截器。等你先会用了在了解不迟。

struts1与struts2的区别

先说一下struts2的工作流程: 核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。 业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件 的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是 WebWork的升级版本。Struts 2框架按照模块来划分,可以分为Servlet Filters、Struts核心模 块、拦截器和用户实现部分。Struts 2框架结构图如图3.1所示。 一个请求在Struts 2框架中的处理大概分为以下几个步骤。 客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入

struts框架的设计原理是什么

Struts是MVC的一种实现,它很好地结合了jsp、JavaServlet、JavaBean等技术,工作原理如下。1.控制在Struts中,ActionServlet起着一个控制层(controller)的作用。ActionServlet是一个通用的控制组件,这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点,它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也可以负责用相应的请求参数填充ActionForm(通常称为FormBean),并传给动作类(通常称为ActionBean)。动作类实现核心商业逻辑,它可以访问Javabean或EJB。所有这些控制逻辑利用Strut-config.xml文件来配置。2.视图主要是由jsp来控制页面输出。它接收到ActionForm中的数据,利用html、taglib、bean、logic等显示数据。3.样式在Struts中,主要存在3种bean,分别是:Action、ActionForm\EJB\或者JavaBean。ActionForm用来封装客户请求信息,Action取得ActionForm中的数据,再由EJB或者JavaBean进行处理。样式图如图3.3所示。4.Struts框架的工作机制ActionServlet将request转发给RequestProcessor类进行处理。RequestProcessor类根据提交过来的url,如*.do,从ActionMapping类中得到相对应的ActionForm类和Action类。然后将request的参数对应到ActionForm类中,进行validate()验证。如果验证成功,则调用Action的perform()方法来执行Action,最终返回到ActionFoward类。如果验证失败,则调用ActionErrors类。一句两句也说不清楚,我这边有本关于struts电子书,你邮箱留一下我发给你吧

Struts1的底层用什么实现的

struts原理其实就是一个Servlet,只不过有一个中央处理器在配置文件里面,客户端的请求先通过web.xml配置文件里面 找到ActionServlet来处理,ActionServlet会根据你的请求来分配具体的Action来处理你,处理完了以后,然后转发页面,显示数据,就这一系列操作。

Struts运行原理

处理过程由5个基本步骤组成:(1)由客户端浏览器产生一个请求。(2)请求被ActionServlet(控制器)接收后,ActionServlet在web.xml文件中找到《url-pattern》为.do的《servlet-mapping》。然后,ActionServlet调用服务,将客户端浏览器提交的表单数据存放到ActionForm中;并在struts-config.xml文件中找到对应的Action,将处理过程交给Action。(3)Action执行相应的业务逻辑。它首先创建一个业务处理实例,并接收所有要处理的数据,然后调用函数execute()来实现业务逻辑。最后,把处理的结果通过mapping.findForward()函数返回给ActionServlet(4)ActionServlet接收到Action处理的结果后,在struts-config.xml文件的《action-mapping》中找到相应的名字和处理路径,选择调用哪一个处理视图来显示Action的处理结果。《5》当ActionServlet把Action的处理结果传送到指定的视图中,所有的请求个处理过程就完成了。简单来说,上述过程可以概括如下: 一个请求提交给ActionServlet,ActionServlet会寻找相应的Form和Action。首先将提交的request对象映射到Form中,然后将Form传递给Action进行处理。Action得到Form后,按照XML文件(包括web.xml和struts-config.xml)中的mapping,找到对应的处理Action;Action调用execute()方法进行处理,然后返回一个forward-url(相应视图)给ActionServlet,ActionServlet将处理结果通过相应的视图返回给客户端。Struts是appache开发的一开源的mvc实现框架。mvc由三部分组成,分别为l。 model主要用来处理业务逻辑,主model-view-crotrl。model主要用来处理业务逻辑,主要用JaveBean,Ejb实现。view主要用来jsp来实现,作用是提交表单,接受返回参数。 Struts是appache开发的一开crotro主要用来逻辑判断,用servlet实现。Struts运行原理:分别为 model-view-crotr1.首先由用户提交请求到*.do2.如果有必要则用actionForm封装数据3.然后交给Servlet,由Servlet读取相应actionForm和action类分别为 model-view-crotr4.如果有必要,则先由actionForm验证数据的有效性。如果有误,则跑到错误页中。5.如果数据验证通过,则把actionForm交由action类进行验证。6.根据action返回的结果,传递给servlet.源的mvc实现框架。mvc由三部分组成,7.servlet根据配置文件,跳转到相应的视图层。8.视图层呈现给用户结果。

Struts1和struts2及servlet的区别

struts1和struts2都是基于MVC的开源框架,不过从配置都实现都是完全不同的两个框架。struts1是在01年左右发布的,一出来就很受欢迎,经过很长时间的发展,有很好的稳定性,现在企业中都还有很多企业在用;缺点就是它实在是太老了,对后来发展的其他框架比如spring,freemarker的支持都不太好。struts2则是集合了webwork和struts1的优点的核心为webwork的开源框架,它有自己的AOP库,同其他的框架可以很好的兼容。学过struts1的人都知道,struts1是直接依赖于servlet的API的,这样导致了类之间耦合度过高,需要修改的时候甚至会牵扯到视图层,这个是struts2比struts1明显要好的地方。至于servlet呢,是J2EE的核心技术的一部分,struts1、struts2什么的都是以它为基础的。简单的说,它是服务器端负责处理客户端发送过来的请求并产生回应的一个控制器。如果你有心向J2EE发展,servlet的知识是一定要掌握的。至于其余的什么框架,只要清楚原理,要入门都很简单。

struts1工作原理(struts的工作原理是什么)

本文编辑:admin

更多文章:


第三方支付接口怎么测试(使用第三分支付怎么测试支付接口)

第三方支付接口怎么测试(使用第三分支付怎么测试支付接口)

本文目录使用第三分支付怎么测试支付接口如何利用PHP语言开发平台第三方支付接口微信支付开发者工具怎么测试微信支付在做支付宝接口或者银行接口开发时候如何去测试调用第三方接口怎么测使用第三分支付怎么测试支付接口网站在线收款时使用第三方接口,有两

2025年2月10日 01:20

jscript script是什么文件(jscript是什么意思)

jscript script是什么文件(jscript是什么意思)

本文目录jscript是什么意思缓存文件夹中的JScript Script File文件 可以删吗VBScript 和JScript之间的区别JScript Script文件 是什么东西jscript是什么意思JScript是由微软公司

2025年3月7日 00:30

水仙花数c语言程序while语句(水仙花数c语言程序、)

水仙花数c语言程序while语句(水仙花数c语言程序、)

本文目录水仙花数c语言程序、分别使用while、do-while和for语句编程,找出所有的水仙花数并输出水仙花数c语言“水仙花数”C语言程序利用c语言do while对水仙花数的编程C语言编写水仙花数水仙花数c语言程序、#include《

2025年3月23日 15:30

计算机哪个专业就业前景好(计算机哪个专业最吃香)

计算机哪个专业就业前景好(计算机哪个专业最吃香)

本文目录计算机哪个专业最吃香现在学什么计算机专业比较好计算机学哪个专业就业好学电脑学什么专业前景最好计算机有这么多专业,你觉得学哪个方向出来就业要好一些计算机有这么多专业,学哪个方向出来前景要好一些计算机有哪些前景好的专业计算机有这么多专业

2025年2月22日 15:30

reaction饭圈中是什么意思(请问“混饭圈”是什么样的体会有对所在的饭圈感到最无语的时候吗)

reaction饭圈中是什么意思(请问“混饭圈”是什么样的体会有对所在的饭圈感到最无语的时候吗)

本文目录请问“混饭圈”是什么样的体会有对所在的饭圈感到最无语的时候吗“饭圈”是什么意思请问“混饭圈”是什么样的体会有对所在的饭圈感到最无语的时候吗饭圈撕逼先不说,这都是少不了的大戏!就那种实锤捶死的瓜,蒸煮都翻不了身的那种,有的粉丝还会各种

2025年2月28日 14:40

underlying什么意思(underlying是什么意思)

underlying什么意思(underlying是什么意思)

本文目录underlying是什么意思Underlying 是什么意思啊Underlying 是什么意思嘛什么是UnderlyingUnderlying是什么意思Underlying 是什么意思underlying是什么意思underlyi

2025年3月1日 08:10

java新手代码例子(java新手,求完整的源代码)

java新手代码例子(java新手,求完整的源代码)

本文目录java新手,求完整的源代码java新手的一串代码java基础代码案例各位大神,Java新手,以下代码帮看看,谢谢初学Java求一些Java简单小程序的代码实例我是Java语言编程初学者,希望大家能够列举用if条件语句和for循环语

2025年2月13日 06:00

一套完整的vi设计包括些什么?视觉传达设计专业和vi设计的区别有哪些

一套完整的vi设计包括些什么?视觉传达设计专业和vi设计的区别有哪些

本文目录一套完整的vi设计包括些什么视觉传达设计专业和vi设计的区别有哪些一套完整的vi设计包括些什么VI设计包括三个大的部分:LOGO设计、VI基础规范、VI应用规范。完整的VI不仅仅是一个LOGO、LOGO元素、LOGO释义,还应该有常

2025年3月30日 08:30

discuss是什么意思(discuss是什么意思)

discuss是什么意思(discuss是什么意思)

本文目录discuss是什么意思discuss的其他形式英文是什么意思是什么意思discuss怎么读discuss是什么意思discuss 英We will discuss our shared interests in intern

2025年3月6日 13:10

revoked(revoked是什么意思)

revoked(revoked是什么意思)

本文目录revoked是什么意思撤销分公司revokedrevoked是什么意思revoked撤销双语对照词典结果:revokedadj.取消的; v.撤销,取消,废除( revoke的过去式和过去分词 ); 很高兴为您解答如果你对这个答案

2025年3月17日 18:50

java异常类(Java中异常类的作用为什么要进行异常处理,有什么好处)

java异常类(Java中异常类的作用为什么要进行异常处理,有什么好处)

本文目录Java中异常类的作用为什么要进行异常处理,有什么好处Java编程中常见异常有哪些java的各种异常Java 关于异常类java中常见的异常类Java中的异常类型有哪些java自定义异常类Java中异常类的作用为什么要进行异常处理,

2025年2月17日 09:00

visibility和display的区别(关于HTML的style.display和style.visibility的区别)

visibility和display的区别(关于HTML的style.display和style.visibility的区别)

本文目录关于HTML的style.display和style.visibility的区别CSS中visibility和display的区别JAVASCRIPT style 中visibility和display之间的区别div的displa

2025年3月26日 11:00

mouth怎么发音(mouth怎么读音是什么)

mouth怎么发音(mouth怎么读音是什么)

本文目录mouth怎么读音是什么口的英文怎么读音嘴英语怎么发音mouth英语怎么读mouth的音标怎么写嘴巴英语怎么读mouth怎么读Mouth怎么读mouth怎么读音是什么mouth的读音是:。    n. 嘴;口;开口;河口v. 不出声

2025年3月29日 08:20

cad入门基础教程(cad教程初学者如何学习cad)

cad入门基础教程(cad教程初学者如何学习cad)

本文目录cad教程初学者如何学习cadCAD的教程的内容是cad制图初学入门教程怎么学cad入门学习cad教程初学者如何学习cadcad教程初学者学习技巧:1、熟悉常用的CAD命令对于很多刚刚接触CAD的小白来说,纷纷表示一开始觉得最难跨过

2025年3月10日 10:40

header length(C#这句代码什么意思 字节操作)

header length(C#这句代码什么意思 字节操作)

本文目录C#这句代码什么意思 字节操作在matlab中图像处理中content = zeros(1, m*n/(block_size*block_size));Header length:20 bytes的翻译是:什么意思php用 head

2025年3月18日 18:20

python decimal(decimal python中怎么用)

python decimal(decimal python中怎么用)

本文目录decimal python中怎么用python 小数位数不同,为什么decimal四舍五入结果不一致python decimal计算在python中出现这种情况为什么python怎么输出浮点数decimal python中怎么用不

2025年3月5日 04:10

studious(studiousness是什么意思)

studious(studiousness是什么意思)

本文目录studiousness是什么意思studious是什么意思studious industrious diligent assiduous hardworking有什么区别surtidos什么牌子studious,industrio

2025年3月7日 10:50

cocos creator官网(新人第一次用cocos creator ,js文件保存后总是显示错误)

cocos creator官网(新人第一次用cocos creator ,js文件保存后总是显示错误)

本文目录新人第一次用cocos creator ,js文件保存后总是显示错误cocoscreator 版本怎么更新cocoscreator怎么接入anysdk frameworkCocos Creator 和 Cocos2d-x Js 之间

2025年2月21日 00:00

怎么创建自己的公众号(微信怎样建立自己的公众号)

怎么创建自己的公众号(微信怎样建立自己的公众号)

本文目录微信怎样建立自己的公众号如何建立自己的微信公众号微信怎么自己创建公众号微信怎样建立自己的公众号  创建微信公众号步骤如下:  1、打开浏览器输入微信公众号,就会看到微信公众平台官网。如下图:  2、从官网进入便可以看到【立即注册】如

2025年3月5日 01:30

office办公软件基础知识(做文员,要知道哪些基础知识)

office办公软件基础知识(做文员,要知道哪些基础知识)

本文目录做文员,要知道哪些基础知识学好office办公软件到底有多重要做文员,要知道哪些基础知识首先,最基本的就是你得会运用电脑,会运用各种办公软件,最基础的就是OFFICE啦,现在许多人在用WPS,这些办公软件里面许多功能最好能够熟悉,文

2025年2月12日 01:30

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:17
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索