您当前的位置:首页 > 养生 > 内容

struts框架的原理和应用(struts是什么)

本文目录

  • struts是什么
  • struts工作原理与工作流程有什么区别
  • 简要介绍Struts原理和配置方法
  • struts的工作原理是什么
  • Struts运行原理
  • struts的原理是什么
  • 在JAVA中Struts框架和Hibernate框架的原理

struts是什么

Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 就是说可将两者一起使用,达到将两者自身的特点进行互补。

struts工作原理与工作流程有什么区别

工作原理 在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 工作流程 1、客户端浏览器发出HTTP请求. 2、根据web.xml配置,该请求被FilterDispatcher接收 3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton 4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。 5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面 6、返回HTTP响应到客户端浏览器

简要介绍Struts原理和配置方法

Struts配置这是将struts组件结合在一起的东东:struts-config.xml。默认值 \WEB-INF\struts-config.xml。配置文件可以定义:  全局转发  ActionMapping类 帮助控制器将请求映射到操作  ActionForm bean 显示模块数据  JDBC数据源 配置全局转发 全局转发用来在JSP页之间创建逻辑名称映射。转发都可以通过对调用操作映射的实例来获得,例如: actionMappingInstace.findForward(“logicalName”); 全局转发的例子:(所有的例子我没有进行解释,一是结合表可以理解,二是例子大部分来自系列四的示例,你应该在作完实验后,再来看一遍) 《global-forwards》 《forward name=“bookCreated“ path=“/BookView.jsp“/》 《/global-forwards》 属性 描述 Name 全局转发的名字 Path 与目标URL的相对路径 配置ActionMapping ActionMapping对象帮助进行框架内部的流程控制,它们可将请求URI映射到Action类,并且将Action类与ActionForm bean相关联。ActionServlet在内部使用这些映射,并将控制转移到特定Action类的实例。所有Action类使用perform()方法实现特定应用程序代码,返回一个ActionForward对象,其中包括响应转发的目标资源名称。例如: 《action-mappings》 《action path=“/createBook“ type=“BookAction“ name=“bookForm“ scope=“request“ input=“/CreateBook.jsp“》 《/action》 《forward name=”failure” path=”/CreateBook.jsp”/》 《forward name=”cancel” path=”/index.jsp”/》 《/action-mappings》 属性 描述 Path Action类的相对路径 Name 与本操作关联的Action bean的名称 Type 连接到本映射的Action类的全称(可有包名) Scope ActionForm bean的作用域(请求或会话) Prefix 用来匹配请求参数与bean属性的前缀 Suffix 用来匹配请求参数与bean属性的后缀 attribute 作用域名称。 className ActionMapping对象的类的完全限定名默认的类是org.apache.struts.action.ActionMapping input 输入表单的路径,指向bean发生输入错误必须返回的控制 unknown 设为true,操作将被作为所有没有定义的ActionMapping的URI的默认操作 validate 设置为true,则在调用Action对象上的perform()方法前,ActionServlet将调用ActionForm bean的validate()方法来进行输入检查 通过《forward》元素,可以定义资源的逻辑名称,该资源是Action类的响应要转发的目标。 属性 描述 Id ID ClassName ActionForward类的完全限定名,默认是org.apache.struts.action.ActionForward Name 操作类访问ActionForward时所用的逻辑名 Path 响应转发的目标资源的路径 redirect 若设置为true,则ActionServlet使用sendRedirect()方法来转发资源 配置ActionForm Bean ActionServlet使用ActionForm来保存请求的参数,这些bean的属性名称与HTTP请求参数中的名称相对应,控制器将请求参数传递到ActionForm bean的实例,然后将这个实例传送到Action类。例子: 《form-beans》 《form-bean name=“bookForm“ type=“BookForm“/》 《/form-beans》 属性 描述 Id ID className ActionForm bean的完全限定名,默认值是org.apache.struts.action.ActionFormBean Name 表单bean在相关作用域的名称,这个属性用来将bean与ActionMapping进行关联 Type 类的完全限定名

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.产生的响应行为发送给客服端。

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.视图层呈现给用户结果。

struts的原理是什么

我的理解是这样的:用servlet拦截用户的请求并分发到具体的action中去处理,再将返回的response进行封装,这是处理页面流程的机制,另外还有一些标签,非常容易在页面进行显示。说的不对的,大家交流一下~谢谢

在JAVA中Struts框架和Hibernate框架的原理

Hibernate是ORM的典型代表,主要功能就是对数据进行持久化,虽然SUN的标准是JDO,但是Hibernate确是使用最广泛的。优点是:在Java里面,我们可以直接通过JDBC来访问数据库,而且运行效率高,但是却要在Java代码中嵌套大量的SQL语句,使后期的维护困难,而Hibernate对JDBC进行的轻量级的封装,使用方便简单,并且支持多种WEB服务器和数据库,可用于Java项目或WEB项目。Struts是实现的MVC即Model2的框架。他的有点在于能够加快项目的开发速度。可以解决WEB应用中的:页面导航管理,输入信息验证,一致布局,扩展性等问题。而且所有业务逻辑都使用Action的类完成,就避免了在JSP页面里面嵌入Java代码。并且Struts还提供了Struts的标签库,这些标签库包含了常用功能,可以尽量避免自定义标签库。(但是我觉得这些标签库的作用不是很大,因为这些标签库里面的一些功能JSTL已经就实现了,而且做的更好)适用于WEB项目。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 美女简笔画简单又漂亮,简笔画女生漂亮(简笔画︱可爱女孩的简单画教程)

下一篇: 大数据Kafka中服务器接点都有哪些呢?Kafka在大数据环境中如何应用呢



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号