一、Struts2框架介绍

Struts2框架是MVC流程框架,适合分层开发。框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计。Struts 2是在WebWork2基础发展而来的。整体结构特点:

  1. Web浏览器请求一个资源。
  2. 过滤器Dispatcher查找方法,确定适当的Action。
  3. 拦截器自动对请求应用通用功能,如验证和文件上传操作。
  4. Action的execute方法通常用来存储和重新获得信息。
  5. 结果被返回到浏览器。

注意:struts 2和struts 1在代码风格上几乎不一样。

Struts 2 相比Struts 1的优点:

  • 在软件设计上Struts 2 没有像Struts 1那样跟Servlet API 和 struts API 有着紧密的耦合。
  • Struts 2的应用可以不依赖于Servlet API和Struts API 。
  • Struts 2 提供了拦截器,利用拦截器可以进行AOP编程。
  • Struts 2 提供了类型转换器。
  • Struts 2 提供支持多种表现层技术,如:JSP 、 freeMarker等。
  • Struts 2 的输入校验可以指定方法进行校验。
  • Struts 2 提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

二、Struts2框架的流程原理

  1. 请求先到达Filter中央控制器
  2. 然后为Action创建代理类
  3. 将各个服务存放在拦截器中,执行完拦截器后再去执行action类行action类,action类调用service,再调用dao
  4. 得到结果字符串,创建result对象
  5. 转向相应的视图。

程序流程图如下:

三、框架的使用

框架为我们做好了封装,使用起来就按照步骤,配置几个xml文件就行拉。

1、导入jar包

2、拷贝struts.xml文件

将拷贝的配置文件放在根目录src下。struts.xml文件主要是配置请求路径对应action类的,以及结果跳转路劲。

[html] view plain copy  print?
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <package name="example" namespace="/example" extends="struts-default">
  7. <action name="testAction" class="com.yyl.action.TestAction">
  8. <result name="success">/main.jsp</result>
  9. </action>
  10. </package>
  11. </struts>

代码说明:访问/example/testAction.action对应执行struts2.action包下面的TestAction类;默认情况下执行类中的execute方法,如果想指定方法,需要在<action>标签中添加method属性;<result>标签配置结果跳转路径。根据Action类中方法返回的String字符串,去匹配result标签中的name值,进行跳转。

3、在web.xml文件中配置核心控制器

[html] view plain copy  print?
  1. <!-- 配置框架的核心调度器 -->
  2. <filter>
  3. <filter-name>struts2</filter-name>
  4. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  5. </filter>
  6. <filter-mapping>
  7. <filter-name>struts2</filter-name>
  8. <url-pattern>/*</url-pattern>
  9. </filter-mapping>

struts1的学历历程相关推荐

  1. app电池续航上下--Android自动化测试学历历程

    章节:自动化基础篇--电池续航自动化测试上&&下 主要讲解内容及笔记: 一.影响手机电量的因素和理论: 下面是一个表格:当今主流手机显示屏技术.机型与功耗对照表: 技术  类型  主流 ...

  2. asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.1 ...

  3. asp.net2.0学习历程 菜鸟到中级程序员的飞跃[z转]

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 学历历程 如果你是一个菜鸟或者自认为初学者那么本文非常适合你: 不能说这30本书就是最佳组合,但是可以说这个组合不差: 本人曾 ...

  4. asp.net2.0学习历程 菜鸟到中级程序员的飞跃 转载

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.16 学历历程 如 ...

  5. php工程师历程,从PHP学习历程分析PHP工程师前景

    对于任何一个学习PHP开发的人来说,都会想要了解PHP工程师前景如何,因为一项技术的学习需要耗费大量成本,这意味着时间,资金等资源不同程度的消耗.学习PHP开发之前,合理分析PHP工程师前景可以规避风 ...

  6. Plant simulation 之初次见面

    第一次接触仿真软件是在读研究生一年级的时候,那个时候导师要求做一个生产线建模与仿真,完全对仿真没有概念,在上网查询了仿真技术的一些介绍后,深深感触到仿真的意义,但最开始使用仿真软件是Flexsim,这 ...

  7. SVG图形绘制入门第一弹

    IT入门的路超级漫长--任何时候都发现有完全没听过的东西,比如说下方--原来认为svg就是图片,想着也是跟Ps一样画出来的,现在知道了竟然是用代码写的--,这条路我不知道啥时候才能进步到幼儿园的级别! ...

  8. 阔别课堂六年,懵懂少年站在新起点

              Java学员杨放     就职公司:深圳市智莱科技有限公司 毕业薪资:月薪6000 中专辍学,历经社会磨难 □文/传智播客广州校区Java学员杨放 年少时我认为自己挺有本事,感觉读 ...

  9. 江某人量化交易——第一章——获取wind数据

      初学量化交易,以此博客来记录自己的学历历程.   在数据分析的工作中,最让人头疼的无疑就是数据的获取.清洗等过程,这几乎可以占到工作量的八九成.因此在量化交易的学习中,如果可以很方便的获取到股票数 ...

  10. zynq7000系列PS端GPIO初始化函数XGpioPs_LookupConfig()和XGpioPs_CfgInitialize()详解

    前言    xilinx公司在设计这款芯片时就同步编写了ps端的函数库,我们在对zynq这款芯片进行开发,直接调用库函数就可以了.不过比较难过的是,官方虽然编写了函数驱动库,但并没有出版相应的类似于函 ...

最新文章

  1. 10、MySQL存储引擎有哪些?
  2. Eclipse常用技巧总结:热键,自定义模版及其他
  3. java显示一个钟表_中秋团圆日,月相表来一个呗~
  4. python一步将npy数据保存成mat
  5. 堆和栈的区别(经典干货)
  6. 阿里云产品头条(2018年1月刊)
  7. Java基础---认识IO流---字节流、字符流---缓冲流---转换流
  8. 【算法】CRC 循环冗余校验
  9. @扎克伯格:一句对不起,能挽回我们泄漏的数据吗?
  10. [2020年]研究生数学建模竞赛题目分享
  11. Android 启动页适配问题的完美解决方案
  12. Shift键变成大小写切换怎么换回Caps lock键
  13. Box2D 源码编译
  14. Wh问句,疑问句,祈使句,感叹句,10
  15. 多利用百度的产品去做外链
  16. php找不到localhost下的文件夹,我在localhost里找不到shopImooc下的文件,每次都要手动输入地址,还有就是index.php每次打开都是这样的页面,是数据库没连吗...
  17. C++(数据结构与算法):64---布隆过滤器(Bloom Filter)
  18. 《俞军产品方法论》读书笔记
  19. LINUX平台高级调试和优化(2018上海站)
  20. 企业实施ERP的效益、风险与策略

热门文章

  1. 诺基亚首款 Android 手机真机外形亮相
  2. 集成聚类之EAC算法(证据积累数据聚类)附:单连接(SL)易理解详谈
  3. {“code“:“PARAM_ERROR“,“detail“:{“location“:“body“,“value“:“9200“},“message“:“无法将 JSON 输入源...
  4. 关于阉割的iphone
  5. 东华OJ进阶题5 银行存款到期日
  6. SAP中检查货架寿命到期日/生产日期
  7. 物讯网聚焦:“营改增”扩容提振物流电商信心
  8. 罗大佑精选五首(Powered by SmilewallV1.0)
  9. Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean解决方案N种
  10. 【微信公众号】11、SpringBoot整合WxJava实现用户黑名单管理