您的位置:首页 > 编程语言 > Java开发

第1讲 Struts 2框架入门

2014-05-24 13:35 155 查看

第1讲 Struts 2框架入门

Struts2简介

Struts2下载与安装

Struts2项目的基本组成

Struts2的配置文件

搭建Struts2开发环境

使用MyEclipse开发Struts2项目

1. Struts2简介

(1)web应用开发模式:

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的数据访问能力,同时简化了代码。

(2)什么是Struts2框架?

Struts2实质上是在WebWork2框架的基础上发展而来的,和Struts1框架有着很大的不同。Struts2框架和Struts1框架并没有关系,之所以使用Struts2这个名称,主要是考虑到了Struts1框架已经被广泛使用,具有较高的市场占有率,这应该是一个战术上的问题。Struts2框架的技术更接近于WebWork2框架,对于熟悉WebWork框架技术的开发人员来说,使用Struts2框架进行Web应用开发会更得心应手,而对于熟悉Struts1框架技术的开发人员来说,使用Struts2框架进行Web应用开发则是一个全新的体验。



Struts2体系结构

2. Struts2下载与安装

(1)下载

l 打开网页http://struts.apache.org/,找到所需版本Struts2的链接

l 点击Struts 2.2.1.1链接,进入下载页面

(2)安装

下载Struts2的完整版压缩包,下载后解压缩



3. Struts2项目的基本组成

l Struts项目的基本组成:

– 控制组件:核心控制器和业务控制(Action)

– 模型组件:JavaBean、EJB等

– 视图组件:JSP、HTML页面等

– 配置文件:web.xml、struts.xml等

l Struts2项目的文件结构



4. Struts2的配置文件

(1)web.xml文件

所在目录为WEB-INF,主要用于配置Struts2的核心控制器,配置代码如下:

<filter>

<filter-name>struts2</filter-name>

<filter-class>

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

(2)struts.xml文件

核心配置文件,所在目录为WEB-INF\classes,主要用于负责管理Struts2框架的业务控制器Action,可在其中定义动作包、动作、拦截器等内容。可以应用include标识将复杂的配置文件分为多个文件,代码如下:

<?xmlversion="1.0" encoding="UTF-8" ?>

<!DOCTYPEstruts PUBLIC

"-//Apache Software Foundation//DTDStruts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<package name="lec_1"extends="struts-default">

<actionname="login" class="com.sise.struts2.lec1.action.LoginAction">

<resultname="login">/login.jsp</result>

<resultname="success">/welcome.jsp</result>

</action>

</package>

</struts>

(3)struts-default.xml文件

是struts2的预定义配置文件,保存在struts2-core类包中,定义了Struts2的各种常用类、动作包和拦截器。在struts.xml定义动作包时需要使用extends关键字设置指定包名继承struts-default包,例如:

<packagename=“…” namespace=“/…” extends=“struts-default”>

(4)default.properties文件

保存在struts2-core类包中,用于保存Struts2的各种默认属性。常用属性如:

l struts.action.extension: 定义struts2动作的扩展名,默认为action;

l struts.i18n.encoding: 定义struts2的编码机制,默认值为UTF-8

default.properties文件中的所有属性可以通过自定义struts.properties(保存在src目录下)或struts.xml文件的constant标识进行修改,例如:

<constantname=“struts.action.extension” value=“do”/>

<constantname=“struts.i18n.encoding” value=“GB18030”/>

5. 搭建Struts2 开发环境

(1)前期工作

1) 安装JDK,配置好JDK环境变量;

2) 安装Web服务器(如Tomcat、Jboss等);

3) 配置好Web服务器。

(2)操作步骤

1) 创建一个web项目;

2) 通过buildpath命令将所需jar包(例如:前面提到的7个jar包)l加入项目中,或直接拷贝到lib目录;

3) 进行后续操作。

6. 使用MyEclipse开发Struts2项目

(1)操作步骤

1) 创建web项目;
2) 为项目添加Struts2类包支持;
3) 设置核心控制器(配置web.xml);
4) 创建业务逻辑控制器(Action),该Action类就是普通的Java类,一般有一个execute()方法;
5) 创建struts.xml配置Action,内容包括:定义Action、Action返回的视图资源,以及包命名空间信息等内容;
6) 创建视图页面;
7) 部署和运行struts2项目。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: