对于Struts2,以前曾经接触过,使用过,但是还是按照Struts1的方法使用,结果好好的一个Struts2的无侵入式设计让我搞的成了不伦不类,现在重新开始学习Struts2,希望用的更加规范一些,首先是第一个Struts2的第一个例子。
首先需要搭建开发环境,当然了,struts2可以从Apache的网站下载,这个不用多说。需要说一下在lib目录下面那些众多的jar包需要其中必须的jar包有六个。
开发Struts需要最少的jar
struts2-core-2.1.8 Struts2框架的核心类库
xwork-core-2.1.6 XWork类库,Struts 2 在其上构建
ognl-2.7.3 对象图导航语言,struts 2框架通过其读写对象的属性
freemarker-2.3.15 Struts2的UI标签模版使用FreeMarker编写
commons-logging-1.0.4 ASF出品的日志包,Struts2框架使用这个日志包来支持Log3j和JDK1.4+的日志记录
commons-fileupload-1.2.1 文件上传组建
然后把包导入到路径下面,接着写struts的配置文件,struts.xml需要配置在WEB-INF 下面的classes文件下面,所以把struts.xml放到src目录下面就行了。下面是代码
其中包含了对一个Action类的配置信息,namespace命名空间是对这个action的一个访问路径限制,访问这个类Action就必须使用这个路径,/test/hellowold,然后必须继承struts-default包才能使用struts的大部分功能,
然后需要在web.xml 文件中配置启动struts信息,struts是使用filter启动的,详细配置如下
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>