struts1之工作原理
版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/zkn_CS_DN_2013/article/details/34452341
1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自己主动启动的
Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息。为struts
中不同的模块初始化相应的对象。(面向对象思想)
2.发送请求:用户提交表单或通过URL向WEBserver提交请求,请求的数据用HTTP协议传给webserver。
3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到相应的form对象中的成员
变量中。
4.派发请求:控制器依据配置信息对象ActionConfig将请求派发到详细的Action。相应的formBean一并
传给这个Action中的excute()方法。
5.处理业务:Action一般仅仅包括一个excute()方法,它负责运行相应的业务逻辑(调用其他的业务模块)
完成后返回一个ActionForward对象。server通过ActionForward对象进行转发工作。
6.返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。
7.查找响应:总控制器依据Action处理业务返回的目标响应对象,找到相应的资源对象,普通情况下
为jsp页面。
8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。
比如:
<action parameter="actions" path="/user" scope="request" type="com.zken.User" >
<forward name="success" path="/user/success.jsp" />
</action>
parameter="actions",就是表单提交时候一定要有的參数,用来调用action里的响应函数。如login.do?actions=register。
就会调用register这个函数。 path="/user",就是通过user.do来訪问action
scope="request"表示表单数据的作用范围为request
type="com.zken.User" 表示通过User这个类来响应client请求
<forward name="success" path="/user/success.jsp" />表示,当return "success"时,
页面转发到/user/success.jsp
struts1之工作原理的更多相关文章
- struts1 工作原理
struts1的原理和工作流程 struts1的工作原理或者说工作流程: 1.在web应用程序启动就会加载ActionServlet,ActionServlet从配置文件struts-config.x ...
- struts1和struts2原理解析
1.struts1和struts2 是2个完全不同的框架 其实struts2核心就是 webwork框架 struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截 ...
- Struts1、Struts2、Hibernate、Spring框架工作原理介绍
Struts1工作原理 Struts1工作原理图 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控 ...
- Struts1 MVC框架的工作原理
MVC英文及Model-View-Controller,分别是模型(Model),视图(View)和控制(Controller).MVC模式的目的是实现web系统的职能分工. View:即用户交互界面 ...
- struts2的核心和工作原理
struts2的核心和工作原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于clien ...
- Struts2(一)入门及工作原理
Apache Struts 2 是一种流行的 Java模型 - 视图 - 控制器(MVC)框架,成功地结合了 WebWork和Struts1.x 两种 web 框架. Apache Struts2与S ...
- structs2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的 ...
- struts2的核心和工作原理 <转>
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...
- struts2(2.0.x到2.1.2版本)的核心和工作原理(转)
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...
随机推荐
- Java操作Mysql笔记
第一步,需要下载JDBC驱动, 点我.然后选择合适的版本即可. 下载完成之后解压,然后将mysql-connector-java-5.1.6-bin.jar文件放到java的安装目录下面. 这里每个人 ...
- python图像翻转
准备跟着台湾的一个机器学习课程好好学学python,链接在这http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 该课程开始有一个作业,叫做HW0 ...
- R语言建立回归分析,并利用VIF查看共线性问题的例子
R语言建立回归分析,并利用VIF查看共线性问题的例子 使用R对内置longley数据集进行回归分析,如果以GNP.deflator作为因变量y,问这个数据集是否存在多重共线性问题?应该选择哪些变量参与 ...
- 关于apache kylin 安装32位linux办法
最近公司在使用apache kylin做实时开发访问,但是自己集群是linux32 只能安装JDK32位的受限只能3G多内存,而apachekylin 默认是4G内存,需要JDK64位支持. 解决办法 ...
- 2019-3-8-win10-uwp-一张图说明水平对齐和垂直对齐
title author date CreateTime categories win10 uwp 一张图说明水平对齐和垂直对齐 lindexi 2019-03-08 10:45:40 +0800 2 ...
- 2018-12-15-VisualStudio-通过-EditorBrowsable-隐藏不开放的属性或方法
title author date CreateTime categories VisualStudio 通过 EditorBrowsable 隐藏不开放的属性或方法 lindexi 2018-12- ...
- numpy库数组属性查看:类型、尺寸、形状、维度
import numpy as np q = np.array([1,2,3,4],dtype=np.complex128) print("数据类型",type(q)) ...
- 前端(jQuery)(2)-- JQuery选择器和事件
1.选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- Java review-basic3
Mutexes, ReadWriteLock, ArrayBlockingQueue, Thread pools, LinkedList vs ArrayList, Object Pooling, R ...
- Shell 常用特性
管道(|) 管道 (|): 将一个命令的输出作为另外一个命令的输入. 管道同样可以在标准输入输出和标准错误输出间做代替工作,这样一来,可以将某一个程序的输出送到另一个程序的输入,其语法如下: ...