struts

基于STRUTS框架的Java Web登录系统设计与实现 Struts 是基于 Java 的经典 Web 应用框架,采用 MVC(Model-View-Controller)设计模式实现请求驱动的Web开发。其核心通过Action调度用户请求,将业务逻辑、数据模型与视图解耦,提升可维护性。MVC 架构中,Controller由 Struts 框架接管,负责解析请求并调用对应 Action;Model封装业务数据与服务逻辑;View使用 JSP 与 Struts 标签库渲染响应界面。 阅读详情

struts的工作原理

 

 一:struts1的工作原理

1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的

            Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts

            中不同的模块初始化相应的对象。(面向对象思想)

  2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。

  3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员

              变量中。

  4.派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并

              传给这个Action中的excute()方法。

  5.处理业务:Action一般只包含一个excute()方法,它负责执行相应的业务逻辑(调用其它的业务模块)

              完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。

  6.返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。

  7.查找响应:总控制器根据Action处理业务返回的目标响应对象,找到对应的资源对象,一般情况下

              为jsp页面。

  8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。

二:struts2的工作原理

struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物。 struts2 的工作原理图:一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(tomcat);2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2 的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。 如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一 些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results, Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中 需要用到的Action。4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象 。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了 Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。 6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相 关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在 调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果 通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表 示的过程中可以使用Struts2 框架中继承的标签
struts2工作原理 struts2工作原理、请求响应流程。。。。。。。。。。。。。。。 立即下载

相关推荐

Struts的工作原理

Struts的工作原理 DOC

struts的工作原理

一:struts1的工作原理 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的             Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts             中不同的模块初始化相应的对象。(面向对象思想)   2.发送请

金培龙(Long_carol)的专栏 6013

Struts的体系结构与工作原理

Struts的体系结构与工作原理,学习struts

SSH

Struts1工作原理 1、初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想)   2、发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议

LiHu0512的专栏 722

(第2讲)Struts的运行原理及开发流程

1、 2、开发Struts项目的流程 (1)先创建一个web工程 (2)吧Struts开发包引入到web工程,放到WEB-INF下的lib文件夹中 (3)编写login.jsp文件,如果文件中报错 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 是因为配置路径中

weiyastory的博客 541

Struts 工作原理

MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC的工作原理       Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 Struts...

yuancandy的专栏 208

扩展你的STRUTS

扩展你的STRUTS 1.使用机制   在struts1.1中利用新增的org.apache.struts.action.PlugIn 接口提供扩展机制。任何的JAVA类都可以当作你自己的PLUGIN,只要该类实现前面提到的PlugIn接口。   PlugIn接口包含两个方法,如下:       /**        *The org.apache.struts.action.Plug

隐隐约约出现平常人诞生的故乡 2001

Struts扫盲

这里的strutsstruts1。以本文记录我的那些复习JavaEE的痛苦并快乐的晚上。

spy47_的博客 1563

Struts 框架

遗留系统维护:Struts 1 仍广泛存在于政府、金融等传统 JavaEE 项目。现代替代方案:Spring MVC 更轻量,注解驱动更灵活;但Struts 2 的拦截器设计和OGNL 表达式仍值得借鉴。架构启示MVC 分层、配置中心化()、拦截器机制均为后续框架(如 Spring)提供了重要范本。作为架构师,建议在新项目中选用,但对 Struts 的理解有助于快速重构遗留系统,并深入理解 MVC 框架的演进逻辑。

chenglin016的博客 804

替代STRUTS

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 477

Struts秘籍之第1.2式. 部署Struts 示例应用

第1.2式. 部署Struts 示例应用问题你需要将Struts所带的MailReader 示例应用部署到Tomcat中。动作分解如果你好没有安装和运行Tomcat,你可以从http://jakarta.apache.org/tomcat下载之。这一招假定你使用的是Tomcat 5。首先设置为Struts 和Tomcat设置环境变量,将Struts 示例的WAR文件拷贝到Tomcat,然后启动To

铁手剑谱 1211

Struts2框架——Struts的错误回显以及struts标签

Struts的错误回显以及struts标签 ​ 本次记录一下 Struts 的错误回显以及 struts 框架前端标签的简单用法 Struts 的错误回显 ​ 在 struts.xml 中的 result 标签中,把 name 属性的值设置成 input,这样当数据出现异常时,会自动回显到后边声明的 jsp 页面 <action name="register" class="com.l...

scfor333的博客 452

struts2总结

struts2了解 1.到Apache下载Struts 2.0包  http://people.apache.org/builds/struts/2.0.10/ 2.将Struts 2.0 lib下的jar文件加到工程的构建路径(/WEB-INF/lib)--commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,str

mike_caoyong的专栏 3011

Struts2 详解

  (一)自己实现struts2框架        Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。最初的struts1.x很快在企业开发中流行了起来,与此同时,当时还有一个非常的优秀的web开发框架诞生,那就是webwork,但webwork...

qq_41889810的博客 2873

Struts教程-Struts模块化编程教程

<!--google_ad_client = "pub-6769732252051080";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_ad_type = "text_image";//2007-01-24: www.csdn.netgoogle_ad

smile6688的专栏 2182

Struts2中配置多个struts.xml

在一个项目中,使用多个struts配置文件的用途是为了模块开发,将每个单独的模块配置一个struts.xml文件,最后通过一个struts.xml主配置文件将其他的配置整合起来,主配置文件(struts.xml)中代码如下: <struts> <include file="struts-order.xml"></include> <include file="struts-pay.xml"></include> <include fil

爱心家园的博客 405
下一篇: Struts2请求处理流程
ufcko
博客等级 码龄15年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值