前言
这里先简单介绍一下我使用的三大框架版本以及下载地址
struts-2.3.30下载
spring-framework-4.3.1下载
hibernate-release-5.2.2下载
第一步:创建工程
将上面的jar包下载解压完成后,先在eclipse中新建一个web工程,新建工程的同时最好选上创建的同时添加web.xml文件
第二步:导入jar包
找到下载并解压好的strtus文件中找到apps目录下的strtus2-blank.war的压缩包,再找到这个压缩包中WEB-INF目录下的lib目录,最后将lib中的所有jar包复制到我们新建项目的lib包中
第三步:配置web.xml文件
找到前面lib包所在的同级目录下的web.xml文件,复制出其配置的过滤器,如下:
注意:由于struts版本不同所以其配置的过滤器写法上略有差异,我们一般参照官方给的模板1
2
3
4
5
6
7
8
9
10
11<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>
第四步:编写源码
我们可以写我们的action类了,编写action类我们一般会继承ActionSupport父类在aciton类中我们可以定义一个返回值为String类型的execute()方法[该方法为默认方法]。这里的action我们可以简单理解为MVC模式下的控制器1
2
3
4
5
6
7
8
9
10
11
12import com.opensymphony.xwork2.ActionSupport;
public class IndexAction extends ActionSupport{
@Override
public String execute(){
System.out.println("该方法为默认方法被struts2自动调用");
return "success";
}
}
第五步:配置strtus.xml文件
我们需要配置一个非常重要的struts.xml文件,我们还是找到前面lib包所在同级目录下的src目录下的java目录下的struts.xml文件将xml文件头信息复制出来,如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14<?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>
<package name="001pck" extends="struts-default">
<action name="Index" class="action.IndexAction" method="execute">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
</struts>
这里package标记中name属性用作定义一个包名以区分其他人代码,extends属性用于继承一个父包
action标记中的name属性是用作客户端访问时的路径相当于Servlet’s path
action标记中的class属性则是用作与这个action所对应的aciton类的全路径
action标记中的method属性时与action类的方法所对应不写默认为execute方法
action标记内result中的name属性为其父标记所对应方法的返回值,不写默认为success
若返回值与name属性值匹配则完成result标记内指定的路径进行跳转(本例就跳转到我们事先编写好的一个index.jsp页面)
第六步:运行项目
此时我们发现我们的请求已经被struts成功拦截,接下来我们输入我们正确的访问路径也就是我们上一步配置action中name属性的值