Struts2简介
Struts2下载与安装
Struts2项目的基本组成
Struts2的配置文件
搭建Struts2开发环境
使用MyEclipse开发Struts2项目
Model1:JSP+JavaBean
Model2:MVC模式 模型一视图一控制器(=Model-View-Controller)
Model2开发模式
Struts1于2001.7月正式发布,它存在许多的缺陷:
l 只支持JSP作为其表现层技术
l 与Servlet API耦合严重,严重依赖于Web服务器,脱离服务器难于测试
l 属于侵入式设计(Struts1.0的Action中包含了大量的Struts1.0 API),影响代码重用)
Struts2于2006年底正式发布,较好的解决了Struts1的缺陷,使用了WebWork的设计理念,相对于Struts1而言,Struts2是一个全新的框架,它继承了Struts1和WebWork的许多优点。
l 增加了拦截器功能。在Struts2框架中,采用了来自WebWork框架中强大的拦截器功能。通过使用拦截器,实现了AOP功能,可以简化Web开发中的某些功能,如权限检查、日志功能等。
l 能够支持多种视图表现技术。在Struts1框架中,只支持JSP作为视图资源,而Struts2框架除了仍支持JSP作为视图资源外,还可以使用其它视图技术,例如:FreeMarker、Velocity、JasperReports等提供了类型转换功能。Struts2框架使用了数据类型转换器的处理机制,提供比较完善的数据类型转换支持。Struts2框架不但可以自动实现用户参数的类型转换,而且还提供了类型转换异常处理功能。
l 功能强大的表达式语言OGNL(Object Graph Navigation Language)。OGNL是Struts2框架默认的表达式语言,增强了Struts2的数据访问能力,同时简化了代码。
Struts2实质上是在WebWork2框架的基础上发展而来的,和Struts1框架有着很大的不同。Struts2框架和Struts1框架并没有关系,之所以使用Struts2这个名称,主要是考虑到了Struts1框架已经被广泛使用,具有较高的市场占有率,这应该是一个战术上的问题。Struts2框架的技术更接近于WebWork2框架,对于熟悉WebWork框架技术的开发人员来说,使用Struts2框架进行Web应用开发会更得心应手,而对于熟悉Struts1框架技术的开发人员来说,使用Struts2框架进行Web应用开发则是一个全新的体验。
Struts2体系结构
l 打开网页http://struts.apache.org/,找到所需版本Struts2的链接
l 点击Struts 2.2.1.1链接,进入下载页面
下载Struts2的完整版压缩包,下载后解压缩
l Struts项目的基本组成:
– 控制组件:核心控制器和业务控制(Action)
– 模型组件:JavaBean、EJB等
– 视图组件:JSP、HTML页面等
– 配置文件:web.xml、struts.xml等
l Struts2项目的文件结构
所在目录为WEB-INF,主要用于配置Struts2的核心控制器,配置代码如下:
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
核心配置文件,所在目录为WEB-INF\classes,主要用于负责管理Struts2框架的业务控制器Action,可在其中定义动作包、动作、拦截器等内容。可以应用include标识将复杂的配置文件分为多个文件,代码如下:
"-//Apache Software Foundation//DTDStruts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
是struts2的预定义配置文件,保存在struts2-core类包中,定义了Struts2的各种常用类、动作包和拦截器。在struts.xml定义动作包时需要使用extends关键字设置指定包名继承struts-default包,例如:
保存在struts2-core类包中,用于保存Struts2的各种默认属性。常用属性如:
l struts.action.extension: 定义struts2动作的扩展名,默认为action;
l struts.i18n.encoding: 定义struts2的编码机制,默认值为UTF-8
default.properties文件中的所有属性可以通过自定义struts.properties(保存在src目录下)或struts.xml文件的constant标识进行修改,例如:
1) 安装JDK,配置好JDK环境变量;
2) 安装Web服务器(如Tomcat、Jboss等);
3) 配置好Web服务器。
1) 创建一个web项目;
2) 通过buildpath命令将所需jar包(例如:前面提到的7个jar包)l加入项目中,或直接拷贝到lib目录;
3) 进行后续操作。