struts2学习笔记(一)--概述及环境配置
一、概述:
Struts2 是一个用来开发 MVC 应用程序的框架. 它提供了 Web 应用程序开发过程中的一些常见问题的解决方案:
1、对来自用户的输入数据进行合法性验证
2、统一的布局
3、可扩展性
4、国际化和本地化
5、支持 Ajax
6、表单的重复提交
7、文件的上传下载
二、Struts2 VS Struts1
1、类更少, 更高效: 在 Struts2 中无需使用 “ActionForm” 来封装请求参数.
2、扩展更容易: Struts2 通过拦截器完成了框架的大部分工作. 在 Struts2 中插入一个拦截器对象相当简便易行.
3、更容易测试:即使不使用浏览器也可以对基于 Struts2 的应用进行测试
三、Struts2 发展
1、Struts2 从本质上讲已不是从 Struts1 扩展而来的, 说它是一个换了品牌标签的 WebWork 更合适
2、从 Struts1 升级到 Struts2:
Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器
Struts1 中每个 HTML 表单都对应一个 ActionForm 实例. Struts2 中, HTML 表单将被直接映射到一个 POJO.
Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑编写在 Action 中.
Struts1 中, Action 类必须继承 org.apache.struts.action.Action 类; Struts2 中任何一个 POJO 都可以是一个 Action 类.
Struts2 在页面里使用 OGNL 来显示各种对象模型, 可以不再使用 EL 和 JSTL
四、下载地址
Struts2
五、搭建 Struts2 的环境:
1、加入 jar 包: 复制 struts\apps\struts2-blank\WEB-INF\lib 下的所有 jar 包到当前 web 应用的 lib 目录下.
->
2、在 web.xml 文件中配置 struts2: 复制 struts\apps\struts2-blank1\WEB-INF\web.xml 文件中的过滤器的配置到当前 web 应用的 web.xml 文件中
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 4 </filter> 5 6 <filter-mapping> 7 <filter-name>struts2</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping>
3、在当前 web 应用的 classpath 下添加 struts2 的配置文件 struts.xml:
复制 struts1\apps\struts2-blank\WEB-INF\classes 下的 struts.xml 文件到当前 web 应用的 src 目录下.
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 <struts> 6 7 </struts>
4、添加 DTD 约束:
1)windows->preferences->MyEclipse->Files and Editors->XML->XML Catalog->add->Catalog Entry ->File System
2) 找到Struts2 DTD的路径:struts-2.3.4-all\struts-2.3.4\src\core\src\main\resources
3)Key Type 改为URI
4)完成后检测struts2.xml 中是否有提示,若有提示说明配置成功,如没有提示,检测操作步骤是否正确。
作者:kenve 出处: http://www.cnblogs.com/xiezhenwei
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。

浙公网安备 33010602011771号