Struts2系列-Struts2简介和原理

来源:互联网 发布:手机记工时软件 编辑:程序博客网 时间:2024/06/10 07:54

Struts2简介

    StrutsApache软件基金会(ASF)赞助的一个开源项目。它最初是jakarta项目中的个子项目,并在20043月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

Struts2发展历史

    Struts是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPagesservlet、标签库以及面向对象的技术水准。

    Struts这个名字的来源于在建筑和旧式飞机中使用的支持金属架。之所以这个框架叫做“struts”,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷的基础支撑。这也是解释struts在开发web应用程序中所扮演的角色的精彩描述。

    Struts的含义是”支柱,枝干”,它的目的是为了减少程序开发的时间,项目的创建者认为JSPservlet的存在虽然可以帮助用户解决大部分问题,但是由于它们的编码对项目的开发带来了许多的不方便,可重用性也差,所以struts应运而生,帮助用户在最短的时间内解决这些问题。

 

Struts2 执行原理

 

 如上图:

1.首先 客户端通过HttpServletRequest,向servlet容器也就是我们的tomcat服务器,首先经过一系列的过滤器,最终会被struts核心控制器StrutsPrepareAndersonExecuteFilter

2.核心控制器会访问ActionMapper,通过其来判断是否要访问某个action,因为这个时候用户可能请求的是jsp页面或者其他的资源,并不是访问某个action。

3.如果判断是需要调用某个Action,此时核心过滤器会把控制权交给 ActionProxy。

4.ActionProxy会通过 ConfigurationManager 来加载struts2核心配置文件struts.xml文件

5.如果在该文件中可以找到请求的Action信息,ActionProxy会创建一个ActionInvocation实例;

该实例包含所要调用的Action实例,而且包含很重要的过滤器。

6.在调用Action之前,ActionInvocation先要去调用这些拦截器

7.拦截器调用完后,调用Action并返回一个字符串,之后去匹配struts.xml配置的result,一般会返回一个jsp页面或者去调用另外某一个Action;

8.执行完该操作后,还没有去真正去响应客服端请求,反序去执行过滤器intercepter,当执行完所有的过滤器,最终再去响应客户端请求。

 

    以上初步struts框架进行了介绍,和对原理进行了简单的分析不同的人对struts有不同的理解。接下来真正的运用到实践中,在实践中深刻去体会,原理固然重要,重要的是运用,是能驾驭和使用这个框架。就像学习开车一样,不是一蹴而就的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 穿军训的鞋捂坏了怎么办 联通手机号销户话费怎么办 建行员工所持有的原始股怎么办 孕妇喝了午时茶怎么办 苹果6id被锁了怎么办 苹果手机app密码忘了怎么办 好哥们借钱手上没钱怎么办 武汉ca证书u盾怎么办 判了刑发现还有漏案没判怎么办 高铁旅客漏乘怎么办 水库里面要养殖小龙虾最好怎么办 点读机的笔丢了怎么办 皮肤晒的很黑怎么办 电脑wifi连接受限制怎么办 高中孩子班管理松怎么办 脱式计算有余数怎么办 手机被别人绑定微信怎么办 饿了么入职查不到学历怎么办 高中没考上家人让打工怎么办 一建证书丢了怎么办 自考大专证书丢了怎么办 护士学分卡丢了怎么办 公司电脑只能用内网怎么办 遇见素质低的人怎么办 被素质低的人骂怎么办 对素质差的人怎么办 碰到素质低的人怎么办 和韩国人结婚后工作怎么办 大连明珠卡坏了怎么办 护肤品酒精含量太高怎么办 父母出国三年想孩子怎么办 孩子高考不理想想出国怎么办 交大附中创新班剩余孩子怎么办 棋牌开发公司倒闭了怎么办 7月1日本地流量怎么办 装电池的弹簧生锈了怎么办 电器被电池碱了怎么办 车辆被交警拖走怎么办 香烟熏的眼睛疼怎么办 想在中牟住5天怎么办 腰弯了直不了怎么办