建议下载struts-2.*.*.*-all.zip版本,可以到官方http://struts.apache.org/下载。
下载完解压后如下图:
apps文件夹是,有struts 2供我们学习的示例,我们也可以参考里面的配置信息。
docs文件夹是,有关struts 2的一些文档。
lib文件夹是,struts 2的类库文件和依赖库文件。
src文件夹是,为struts 2的源码,我们可以用IDE开发就可以看到源码了。
下面是配置struts 2的简单示例,主要是让struts运行起来。
1.创建Java Web项目。(这里使用Eclipse Java EE)
2.将Struts 2需要的包导入到项目中,这里选择Struts 2最小依赖的包,因为现阶段我们只是使用Struts 2的一些简单示例。如不知道Struts 2需要的最少包是哪些我们可以去apps文件夹中查看。
apps写有五个文件我们选择最小的那个文件:struts2-blank.war用压缩工具把他解压。
进入WEB-INF文件夹中,里面有个lib文件夹,lib包含了Struts 2最小配置报,将其导入项目中就可以使用Struts 2基本功能了。
3.配置Xml文件,配置web.xml文件,我们可以在"struts2-blank.war"项目中找到web.xml文件打开它把:
<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>
弄到我们项目的web.xml文件中。
filter标签,是用于定义一个过滤器的,filter-name为该过滤器的名称,可以任意起;filter-class为该过滤器使用什么类实现。filter-mapping标签,是过滤器的映射,filter-name表示使用哪一个过滤器,url-pattern表示要过滤什么类型的请求,"/*"表示所有请求。
将浏览器发来的所有请求,交给名为"struts2"的过滤器处理,该过滤器是由org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter类实现的,这样即实现了Struts 2框架全面接管Web请求的环境。
4.创建发生Http请求成功后转到的页面。
5.创建Action类。
package cn.softlin.action;
public class HelloWorldAction {
private String message;
public String getMessage() {
? return message;
}
public void setMessage(String message) {
? this.message = message;
}
public String execute(){
? message="第一个Struts2应用!";
? return "success";
}
}
6.在我们项目的src目录下创建struts.xml配置文件,在"struts2-blank.war"项目的WEB-INF/classes文件夹下找到一个名为"struts.xml"的文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
??? "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
?
</struts>
把文件中如上代码帖到我们的项目中,然后加入我们的配置信息,如下。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
??? "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
?<package name="LX" namespace="/test" extends="struts-default">
??<action name="hellowold" class="cn.softlin.action.HelloWorldAction" method="execute">
???<result name="success">/WEB-INF/page/hello.jsp</result>
??</action>
?</package>
</struts>
package元素,作用类似于Java的包,他是用于分门别类的一个工具,extends属性,它继承了struts-default这个包的所有信息,一般我们自己创建一个包最好都继承它,因为他为我们提供了绝大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到这个包。action元素对应与你的表单,例如你的表单的action="welcome",那么该表单提交后就会将参数交予action的name="welcome"的实现类处理。result元素为action的结果,它由动作类返回的控制字段选择。
6.测试。
7.Struts 2就这样配置完成了。
?