【跟我一步一步学Struts2】——Struts2工作流程
上一篇博客通过一个简单的小样例对struts2的流程有一个简单的了解,这篇博客继续。
当用户要登陆某一个站点。输入username,password,点击登陆就会触发以下一系列过程 :
1、请求过来之后会经过一系列的过滤器Filter。FilterDispatcher被调用
2、FilterDispatcher询问ActionMapper决定这个请求是否须要调用LoginAction
3、假设决定要调用LoginAction,FilterDispatcher把请求的处理交给ActionProxy
4、代理通过询问配置文件。创建ActionInvocation实例
5、调用一系列的拦截器
6、Action运行完成,返回结果。ActionInvocation负责依据struts.xml中的配置找到相应的返回结果,返回到JSp,显示出来。
下图是类中比較粗粒度的调用关系:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
採用时序图当中重要的几个类的调用关系:
Struts2的工作流程是Struts2的一个核心内容。后面其它的内容也是环绕着它的工作流程,是在此基础上的扩展。这篇博客也能够说是对前篇的一个理论上的更详细的描写叙述。
【跟我一步一步学Struts2】——Struts2工作流程的更多相关文章
- struts2系列(一):struts2入门(struts2的产生、struts2的工作流程、搭建struts2开发环境)
一. struts2的产生 struts1的缺点: 1. ActionForm过多,而且这个ActionForm在很大程度上又和VO(POJO)重复 ...
- Struts2的工作流程分析
Struts2的工作流程分析 Posted on 2011-02-22 09:32 概述 本章讲述Struts2的工作原理. 读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验, ...
- 通过案例说明struts2的工作流程
本文主要是通过一个例子来说明Struts2的一个工作流程. 首先定义一个登录页面login.jsp: [java] view plaincopy <%@ page language=" ...
- 【Struts2】工作流程
转发两篇文章 一个请求在Struts2框架中的处理分为以下几个步骤: 1.客户端发出一个指向servlet容器的请求(tomcat): 2.这个请求会经过图中的几个过滤器,最后会到达FilterDis ...
- Struts2的工作流程
Struts2如何实现MVC Struts2的参数封装: Struts2的运行原理图:
- 【跟我一步一步学Struts2】——登陆样例
本篇博客通过一个简单的登陆小样例来入门,简单了解一下struts2是怎样工作的: 第一步引入Jar包: commons-fileupload-1.2.1.jar,文件上传 commons-loggin ...
- 一步一步学ROP之linux_x64篇
一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...
- 一步一步学ROP之linux_x86篇
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...
- (转载)一步一步学Linq to sql系列文章
现在Linq to sql的资料还不是很多,本人水平有限,如果有错或者误导请指出,谢谢. 一步一步学Linq to sql(一):预备知识 一步一步学Linq to sql(二):DataContex ...
随机推荐
- [Angular] AfterContentChecked && AfterViewChecked
AfterContentChecked & AfterViewChecked are called after 'OnChanges' lifecycle. And each time 'ng ...
- tomcat通过虚拟路径访问外部静态资源
转载:http://blog.csdn.net/yuancenyi/article/details/53414397 在项目开发中,单个工程中,为了以后软件版本升级的方便,经常将网站运行中某些上传的静 ...
- 【ACM】找新朋友
//make up a table of prime factors #include <stdio.h> #include <stdlib.h> #define MAX 32 ...
- ssm整合(Spring+SpringMVC+Mybatis)
一.Spring Spring致力于提供一种方法管理你的业务对象.IOC容器,它可以装载bean(也就是我们java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用 ...
- Discuz常见小问题2-如何在数据库搜索指定关键字
点击搜索,然后输入关键字,注意要全选或者部分选择表(一个数据库的表),点击右下角的执行 会提示有多少个匹配,可以在浏览器中直接搜索"1个匹配"来定位到哪个数据表找到了匹配项,然 ...
- google,百度地图POI下载
百度,google POI下载工具是可以对任意矩形范围,以及任意省市级区域的兴趣点数据进行下载,可以支持多线程下载,按分类下载,以及按关键字下载. 线程数可以自由设置16线程之内.下载格式为excel ...
- js中求水仙花数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JDBC 使用SimpleJdbcTemplate实现Dao
public interface UserDao { public void addUser(User user); public User getUser(int userId); ...
- LR 监控mysql
sapphire的个人空间 中介绍了LoadRunner监控Mysql和Appache进程占用cpu的方法 方法如下: 公司的新产品需要监控Mysql和Appache进程,求高手帮忙总算成功了. 服务 ...
- (四)Lucene——搜索和相关度排序
1. 搜索 1.1 创建查询对象的方式 通过Query子类来创建查询对象 Query子类常用的有:TermQuery.NumericRangeQuery.BooleanQuery 特点:不能输入luc ...