首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2之配备介绍

2012-10-09 
Struts2之配置介绍本文引用自:http://www.yiboit.com/?uid-18-action-viewspace-itemid-546首先,Struts是A

Struts2之配置介绍

本文引用自:http://www.yiboit.com/?uid-18-action-viewspace-itemid-546

首先,Struts是Apache的众多开源项目之一,是一种MVC框架。MVC只是一种概念层面上的东西,Struts是MVC的一种实现。J2EE是一种基于组件技术的企业级开发框架,一共包含13种技术,比如说常听说的JSP、JDBC、Servlet等。J2EE的优点之一就是可以根据需求的不同选用不同的技术。比如说,可以只使用JSP+JavaBean+JDBC开发一个网站,或者使用JSP+Servlet+JavaBean+JDBC开发,或者使用JSP+Servlet+JavaBean+EJB开发。
?
一般来说,开发人员倾向于使用简单技术。初学者首选使用第一种模式,虽然使用比较简单,但程序的业务逻辑和显示代码混到了一起,给后期维护带来了很大的困难。MVC框架主要是为了克服这个缺点,目的是实现模型(Model)、显示(View)与控制(Control)分离。这样不但开发的时候层次分明,而且后期维护的时候也相对容易很多。
?
Struts一出来就倍受欢迎,可以说风靡全世界,不但解决了上述的问题,而且自带的标签库也给页面的开发带来了很大的方便。但是很快它的缺点也暴露出来了:学习周期比较长;调试困难等。经过几年的发展,Struts2终于发布了,而且使用了WebWork的核心xwork组件,并且可以集成当今非常流行的Spring框架。相信会给我们的开发带来更大的方便。
?
下面我们就看看Struts2究竟是个什么样子吧。
打开struts-2.0.6\docs\docs\simple-setup.html帮助文档,结合上一次我们部署的空白项目(apache-tomcat-5.5.23\webapps\struts2-blank-2.0.6)先来了解一下基本结构。
先看一下项目结构:
/tutorial/
/tutorial/META-INF/
/tutorial/WEB-INF/
/tutorial/WEB-INF/classes/
/tutorial/WEB-INF/lib/
/tutorial/WEB-INF/lib/minimum JARs + any plugin JARs + plugin dependencies
/tutorial/WEB-INF/web.xml
?
tutorial是一个文件夹,也是项目名,和struts2-blank-2.0.6一样,只是名字不同。
WEB-INF是项目项目的根(/)下的一个文件夹,里面是项目的相关配置文件、包以及编译后的java文件,顺便说一下,WEB-INF这个名字好像是固定的,而且因为安全性的问题,里面的内容是客户端不能直接访问的。

classes下面就是存放编译后的java文件的地方。
lib是存放项目使用的包的地方。
web.xml文件是项目的配置文件。
?
到现在为止,上述的配置和普通的Web项目没有什么区别。

配置一个最小的Struts2项目,需要拷贝:
struts2-core.jar??? Struts2的核心;
xwork.jar?????????? 前面提到的xwork;
ognl.jar??????????? 用于页面输出的表达式语言;
freemarker.jar????? 用户界面标签模版;
commons-logging.jar Apache的公用包,用于输出日志。
这几个包到项目的lib文件夹下面。?

接下来需要配置web.xml让Struts2起作用。

配置一个过滤器,名字是struts2。
类是org.apache.struts2.dispatcher.FilterDispatcher。

<url-pattern>/*</url-pattern>的意思是从项目的根下的所有请求都要经过FilterDispatcher类的过滤。这样Struts2就可以捕捉到它应该处理的请求。
?
最后配置Struts的核心配置文件struts.xml,需要放到classes文件夹下。
文档里只是给出了一个框架,三个点表示可以往里面添加具体的内容。
?
以上是配置一个Struts2项目的最基本步骤,虽然手动配置有点麻烦,但是能加深我们对框架的理解。了解了这些之后,实际开发过程中就可以直接在blank项目的基础上创建项目了。

当然现在项目还什么都做不了,我们需要根据项目的不同需求往struts.xml里添加不同的内容。可以看出,web.xml只是让Struts起作用,最关键的还是struts.xml。
?
至于struts.xml里应该添加什么,就不是三言两语能说清楚的了。不用着急,下次我们按照文档的例子,创建一个Hello World项目,就能对它有更进一步的了解。

热点排行