这里先简单介绍一下我用的三大框架版本以及下载地址
相关链接:eclipse中SSH三大框架环境搭建<二>
eclipse中SSH三大框架环境搭建<三>
struts-2.3.30 下载地址:点击跳转到struts下载页
spring-framework-4.3.1 点击跳转到spring下载页
hibernate-release-5.2.2.点击跳转到hibernate下载页
第1步:把上面的jar包下载完成后,先在eclipse中新建一个web工程,新建工程的同时最好选上创建的同时添加web.xml文件
第2步:找到下载并解压好的strtus文件中找到apps目录下的strtus2-blank.war的压缩包,再找到这个压缩包中WEB-INF目录下的lib目录,
最后将lib中的所有jar包复制到我们新建项目的lib包中
第3步:配置web.xml文件,找到前面lib包所在的同级目录下的web.xml文件,复制出其配置的过滤器,如下:
注意:由于struts版本不同所以其配置的过滤器写法上略有差异,我们一般参照官方给的模板
<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>
第4步:我们可以写我们的action类了,编写action类我们一般会继承ActionSupport父类在aciton类中我们可以定义一个返回值为String类型的execute()方法[该方法为默认方法]。这里的action我们可以简单理解为MVC模式下的控制器
import com.opensymphony.xwork2.ActionSupport; public class IndexAction extends ActionSupport{ @Override
public String execute(){ System.out.println("该方法为默认方法被struts2自动调用"); return "success";
}
}
第5步:我们需要配置一个非常重要的struts.xml文件,我们还是找到前面lib包所在同级目录下的src目录下的java目录下的struts.xml文件将xml文件头信息复制出来,如下:
<?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页面)
第6步:运行项目
此时我们发现我们的请求已经被struts成功拦截,接下来我们输入我们正确的访问路径也就是我们上一步配置action中name属性的值
如图所示页面已经正常显示,最后我们看一下后台
小结:struts在本例中主要起一个拦截的作用,防止了客户端一些不正确的访问,struts的其他作用与用法我会在后期的博客中发布。
感谢大家浏览,如遇到问题欢迎各位及时与我沟通,有何建议,在下不胜感激。