勿以恶小而为之,勿以善小而不为--------------------------刘备 劝诸君,多行善事积福报,莫作恶 上一章简单介绍了Struts2的'两个蝴蝶飞,你好' (一),如果没有看过,请观看上一章 一 Action的三种实现方式 上一章开发的HelloAction和HelloAction2,并没有继承任何类或者实现任何接口,但是必须有一个execute() 方法,方法返回值是String类型. 这样的代码不容易理解,更并不能使人看得出这个类是干什么的,甚至不能区分这个控制器类与普通的…
从今天开始,一起跟各位聊聊java的三大框架——SSH.先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择.今天通过一个简单的例子来说说Struts. 登录页面: 这里面没啥东西,主要就是将action命名成“.do”的形式,让Struts通过配置文件来执行相应操作. <html> <head&g…
从今天开始,一起跟各位聊聊java的三大框架——SSH.先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择.今天通过一个简单的例子来说说Struts. 登录页面: 这里面没啥东西,主要就是将action命名成“.do”的形式,让Struts通过配置文件来执行相应操作. <html> <head&g…
三大框架整合 一.SSH导包 二.书写Spring 三.书写Struts 四.整合Spring与Struts 五.书写(与整合)Hibernate.引入c3p0连接池并使用hibernate模板 六.整合事务 --完成用户登录 项目已上传到github 传送门 在MySQL数据库中创建spring表,添加一条假数据 一.SSH导包 导入struts的jar包 导入spring的jar包 导入hibernate的jar包 导入c3p0连接池jar包和springapo的jar包,mysql链接数据…
在学习Struts2的过程中对拦截器和动作类的执行过程一度陷入误区,特别读了一下Struts2的源码,将自己的收获分享给正在困惑的童鞋... 开始先上图: 从Struts2的图可以看出当浏览器发出请求之后,经过Struts2的一些核心处理之后(在拦截器之前的执行过程此处略过)到达Interceptor1第一个拦截器此时Struts将会按照顺序进行执行拦截器一直到达动作方法.如果为某个动作方法配置了拦截器,那么在调用到该动作方法之前会经过拦截器,一般我们的拦截器会在拦截条件之后选择是否进行放行操作…
说到Struts2执行过程就少不了一张图: 1 客户端初始化一个指向Servlet容器的请求: 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin). 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action.(注:在Struts2的被Stru…
执行过程和原理(可能面试题) 学习目标:熟知struts2的执行过程(下图记住).源码可以不看 a.过滤器的初始化 .StrutsPrepareAndExecuteFilter是一个过滤器,过滤器就有初始化方法 :dispatcher = init.initDispatcher(config);//初始化请求分发器. .InitOperations: public Dispatcher initDispatcher( HostConfig filterConfig ) { Dispatcher…
struts2是最近刚学的一个框架,想通过写篇文章来加深下印象,这也是本篇博文产生的由来,下面进入正题 Struts2本身是一个挺简单的框架,我们通过写一个登陆的过程来具体描述下其执行过程 1.首先我们创建一个Model-User 其中Model里面包含所需字段,构造函数(有参无参都要有),get和set方法,tostring(没有的话打印出来的数据都是数据所在的地址) 2.我们来创建一个pojo userAction 然后写出具体的实现功能(因为只是描述一下执行流程所以没有连接数据库) 我们在…
导入源文件 选中按ctrl + shift + t进入 Struts2执行过程 画图分析过程 过滤器在服务器启动时创建,servlet在第一次访问时创建 查看源代码 public class StrutsPrepareAndExecuteFilter implements StrutsStatics, Filter { protected PrepareOperations prepare; protected ExecuteOperations execute; protected List<…
一.拦截器简介: 二.Struts2预定义拦截器&拦截器栈 在执行action之前和之后,拦截器进行了操作: 比如struts-default.xml中就有很多预定义的拦截器:   拦截器栈: interceptor-stack: 定义了一批拦截器:相当于把几个拦截器串起来: struts-default.xml中定义了默认使用的拦截器栈: <default-interceptor-ref name="defaultStack" />   三.简单例子,认识拦截器:…