1.新建动态web项目
参考:http://blog.csdn.net/zjsdrs/article/details/53426711
2.下载struts2jar
下载地址:http://struts.apache.org/download.cgi#struts251
下载完成之后解压如下图所示,lib下面为所有的jar,其他的为相关的源码和文档
3.导入基础jar
下载的是所有的jar,但是这里只需要基础jar,将下图中的jar导入web项目中。
4.配置web.xml
在web.xml中配置启动struts,这里有个地方需要注意,我下载的版本中struts2的拦截器并没有ng这个包,这点区别下
<!-- struts2启动配置,所有的请求都被struts2拦截 -->
<filter>
<filter-name>struts2</filter-name>
<!-- 好多的版本中间都还有有一个ng的包,但是这个版本的没有这个包 -->
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping
5.配置struts.xml
这个是个重点,搞不好后面就会有问题,第一个要注意struts.xml放的路径,不是在src下,是在Java Resources下,第二个注意点是文件名称不要搞错
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 详细配置参考http://blog.csdn.net/wangligong/article/details/52887968 -->
<package name="default" extends="struts-default">
<action name="defaultRequest" class="com.xu.action.StudentAction">
<result name="success">/jsp/success.jsp</result>
</action>
<action name="havaeMethodRequest" class="com.xu.action.StudentAction" method="helloworld">
<result name="page1">/jsp/helloworld.jsp</result>
</action>
</package>
</struts>
action标签是配置的action,name是访问时的路径,class是映射的类,如果没有method,默认找class中的execute方法,指定method属性时,回去找class中method对应值得方法,result标签定义返回的页面
6.新建Action
建立相应的Action
package com.xu.action;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
public String execute(){
return SUCCESS;
}
public String helloworld(){
return "page1";
}
}
其中SUCCESS是ActionSupport中声明的常量值为success,和helloworld方法中的返回是一样的,这里return返回的字符串对应struts.xml中result标签中name属性的值
7.新建jsp页面
建立相应的jsp页面,目录结构如下图所示
8.访问
启动服务器,在浏览器中输入http://localhost:8080/StrutsWeb/defaultRequest、http://localhost:8080/StrutsWeb/havaeMethodRequest即可看到结果
注意:如果struts.xml文件位置不对会报错(路径是没错的,当时是这个请求地址),将xml文件移到Java Resource下即可