Struts1的实现原理】的更多相关文章

一 开文背景 -- 废话讲一段~ 本文借助动力节点-王勇老师的视频教程中的引例来了解struts1的实现原理,虽然现在已经很少使用struts1了,但是了解了其原理之后,对了解其他mvc框架还是有较大的帮助的. 二 简介 -- 切入主题 struts1主要实现从请求到servlet的映射. e.g. 现有的一个业务为实现用户的添加删除修改,按照原有的model2的原理可以实现上述功能. 2.1没有struts1之前的基于model2 mvc的实现. 直接在servlet中实现如下代码: Stri…
1.struts1和struts2 是2个完全不同的框架 其实struts2核心就是 webwork框架 struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求.Struts 1框架有3个重要组成部分:Action.ActionForm和ActionForward对象.ActionForm必须实现ActionForm的基类,设计上并不是真正的POJO. struts2核心控制器是FilterDispatcher,Struts 2用于处理用户请…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zkn_CS_DN_2013/article/details/34452341 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自己主动启动的            Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息.为struts            中不同的模块初始化相应的对象.(面向对…
struts1的原理和工作流程 struts1的工作原理或者说工作流程: 1.在web应用程序启动就会加载ActionServlet,ActionServlet从配置文件struts-config.xml中读取配置信息,并把它们存放到各种配置对象中.当ActionServlet接受到一个客户端请求时,将执行如下流程: (1).检索和用户匹配的ActionMapping实例,如果不存在,就返回请求路径无效的错误信息 (2).如果ActionForm实例不存在,就创建一个ActionForm的对象,…
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简单来说二者的区别是: 技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置actionform之类的,很麻烦,所以依赖性比较强:而Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个action,用起来比较方便,但是因为请求之前的拦截器有一些注入…
(本文转载自http://www.cnblogs.com/edwardlauxh/archive/2010/03/26/1918614.html) 在Liferay框架中拥有它自身的标签,虽然Portlet也有它自身的标签,但是Portlet的标签不能完全满足我们的需求,下面就介绍几个开发中经常用到的标签 <portlet:actionURL><portlet:renderURL>:这2个是把整个页面当做一个提交到相应的Action中进行处理,因为Portlet中把request分…
                                                                                                                                                                                                                         + 目录 目录 1 基础篇 4 一.JDK常用的包 4 二. Ge…
1.Struts1的运行原理 a.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象.(面向对象思想) b.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器. c.form填充:struts的总控制器ActionServlet在用户提交请求时将…
一.Struts1的运行原理 在启动时通过前端总控制器ActionServlet加载struts-config.xml并进行解析,当用户在jsp页面发送请求被struts1的核心控制器ActionServlet接收,ActionServlet在用户请求时将请求参数放到对应的ActionForm对象中的成员变量中,然后ActionServlet则会根据struts-config.xml中的映射关系找到相应的Action中的方法,将对应的ActionForm一并传给这个Action中的方法里,然后执…
    上一篇博客中我们简单的介绍了BeanUtils的使用.以及其最主要的原理,今天我们进一步的理解这个类在Struts1中的使用.     首先我们先回想一下搭建一个简单的基于Struts1框架的过程:        1.首先新建一个webProject              2.拷贝struts相关jar文件到WEB-INFO/lib目录下               3.配置web.xml中的ActionServlet               4.提供Struts-config.…
一.struts1运行原理 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象. 2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器. 3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的fo…
struts1原理: 1.首先我们表单提交到action 2.进入到web.xml 3.web.xml拦截*.do 4.交给ActionServlet 5.找到path属性,获得url 6.找到name实体类,封装from 7.找到type,type就是action地址 8.进入action 9.完成之后就foroword跳转 struts2原理: 1.表单提交action 2.web.xml拦截/* 3.进入FilterDispatcher 4.之后找到default.properties文件…
Struts1工作原理 Struts1工作原理图 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象.(面向对象思想) 2.发送请求:用户提jiāo表单或通过URL向WEB服务器提jiāo请求,请求的数据用HTTP协议传给web服务器. 3.form填充:struts的总控制器Action…
Struts1  struts1运行步骤 1.项目初始化:项目启动时加载web.xml,struts1的总控制器ActionServlet是一个Servlet,它在web.xml中是配置成自动启动的Servlet,在启动时总控制器   会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象. 2.发送请求:用户发送请求,请求都被ActionServlet中央控制器(在web.xml里面配置好的)接收到,会读取配置文件(srtuts- confi…
在Struts中非常典型的特点就是使用了ActionForm来搜集表单数据,可是搜集到的表单数据所有都是String类型的.假设我们直接拿来使用我们会面临一个非常麻烦的问题就是频繁的类型装换. Struts中使用了BeanUtils来使我们从繁重的体力劳动中解脱出来. BeanUtils的工作原理: 我们通过一个简单的样例来了解一下他最主要的使用,首先建立一个实体类Student package com.tgb.struts; import java.sql.Date; public class…
MVC英文及Model-View-Controller,分别是模型(Model),视图(View)和控制(Controller).MVC模式的目的是实现web系统的职能分工. View:即用户交互界面,对于web应用程序来说,可以概括为HTML界面.但由于应用的复杂性和规模性,界面的处理就会变得极具挑战.一款软件可能有多个不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包含在视图上的业务流程的处理.通常用JSP来实现,把业务流程都给了模型层. Model…
1.浏览器发送http请求->web服务器. 2.web服务器将 请求进行解析. 3.web服务器解析后将请求转发给ActionServelet(总队长). 3.查询struts-config.xml文件,把相关数据填充到表单->actionForm(定义属性时,一定和空间中的“name”值一样,并且必须具有set和get方法). 4.ActionServelet指定相应的action处理. 5.Action创建实例(只创建一个单例)后,调用指定的actionForm获取数据:action调用…
struts2的核心和工作原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计. 二是提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所有请求进行处理的关键组件,如…
Apache Struts 2 是一种流行的 Java模型 - 视图 - 控制器(MVC)框架,成功地结合了 WebWork和Struts1.x 两种 web 框架. Apache Struts2与Struts1完全不同,它的核心功能都是使用拦截实现"值栈"的概念,OGNL(Object-Graph Navigation Language)表达式和Struts2标签来解决应用程序数据,很多注解和约定,使这个框架更加易于使用. Struts2有两方面的技术优势,一是所有的Struts2应…
Struts 2以WebWork优秀的设计思想为核心,吸收了Struts 1的部分优点,建立了一个兼容WebWork和Struts 1的MVC框架,Struts 2的目标是希望可以让原来使用Struts 1.WebWork的开发人员,都可以平稳过渡到使用Struts 2框架.在2005年12月,WebWork与Struts Ti宣布合并.与此同时,Struts Ti改名为Struts Action Framework 2.0,成为Struts真正的继承者. (1)支持的表现层技术单一  那时候还…
浅析Struts1和Struts2的Action线程安全问题  转 http://blog.csdn.net/virgoboy2004/article/details/5876133 [问题描述]最近公司安排我面试Java的FreshMan,面试者一般是工作1年多点的新人(这里我就装老一下,其实我也才工作3年不到),在被问及Struts1和Struts2的Action的线程安全问题的时候,大多是支支吾吾,答不出所以然.所以在这里我整理一下我个人的理解. [问题答案] 这是由于Servlet的工作…
.Struts2原理 .Struts 1 原理 .Struts1 和webwork的关系 .HttpServletRequest Struts2原理…
Struts2 在项目中用到的核心是拦截器interceptor,OGNL(Object Graph navigation Language)对象图导航语言(用来操作ValueStack里面的数据),Value Stack和ActionContext.strut2是基于WebWork,WebWork致力于组件化和代码重用,使用MVC设计模式.struts2拥有了WebWork的这些优点. Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是…
from:     http://blog.csdn.net/tuiroger/article/details/3947896 今天张老师讲了一些比较重要的strust标签,<html:link>,<html:text>.formbean的原理及作用,还有formbean表单校验以及表单校验后如何处理,并进行了举例验证说明,把例子代码敲了一遍,颇有收获. <html:link>标签的三个好处:使用<html:link action=“/action”/>不用…
Struts1工作原理图: 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象.(面向对象思想) 2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器. 3.form填充:struts的总控制器ActionServlet在用户提交请求时将数…
Struts 当我接触到这个框架的时候.我就在想为什么是struts,而不是什么CraigFramework.结构.支撑,这样来理解也不难怪了. 为什么须要struts? 在struts in action这本书里,struts的开发人员也讲到.在有了MVC后依旧须要这样一个框架来支撑开发的工作.由于有了jsp和model和ejb来处理这一套流程还须要什么?详见下文 基本构件 如图是一个相对简洁的组件图,初始化页面.载入struts-config.xml(注:在默认情况中默觉得struts-co…
一.Struts1 1.Struts1原理简介 Struts1框架以ActionServlet作为控制器核心,整个应用由客户端请求驱动.当客户端向Web应用发送请求时,请求被Struts1的核心控制器ActionServlet拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求(实际上,业务逻辑控制器还是控制器,它只是负责调用模型来处理用户请求),当用户请求处理完成后,其处理结果会通过jsp呈现给用户. Struts1,控制器就是它的核心,Struts1的控制器分为…
 在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就不在提了. 技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Jav…
struts简介 Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目.它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品. Struts发展历史 Struts是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages.servlet.标签库以及面…
1) 两个框架都是MVC的WEB框架, 2) struts1是老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本低,Struts2核心设计思想主要源自Webwork,实现更优雅,更容易扩展 3) Struts2修改和完善了struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决. 4) struts1的前端控制器是一个Servlet,名称为ActionServlet,struts2的前端控制器是一个filter,在struts2.0中叫FilterDi…