开山第一篇,毕业4个月目前接触最多的框架还是s2sh框架。。。。
具备完整的开发环境下,在eclipse下启动tomcat出现如下所示画面表示环境构建成功。
第一步:创建web项目,截图如下
此页面只需填写项目名称即可,连续点击两次Next后出现如下所示页面
红色标记位置一定要勾选,这是web项目启动时首先需要加载的web.xml配置文件,勾选后点击Finish即成功创建了一个空白web项目。
第二步:导入struts2所需jar包,各版本jar包下载地址:http://mirrors.shuosc.org/apache/struts/,本次我用到的是struts2-2.3.2。jar包导入位置如图所示。
第三步:web.xml中配置struts2的过滤器,配置后的代码如下所示。
struts2Demo struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*
第四步:创建struts.xml配置文件。此配置文件在src根目录下,与包处于同一级。如下图所示。
配置文件中的内容如下所示。
注意注释部分。到这里一个空的struts2项目已经准备完毕。接下来我们测试项目是否构建成功。
第五步:创建action测试类,代码如下。
package wjt.com.test.action;import com.opensymphony.xwork2.ActionSupport;public class TestAction extends ActionSupport{ public String execute() throws Exception { System.out.println("struts=========================="); return "success"; }}
action类继承ActionSupport并重写execute()方法。这里的action我们可以简单理解为MVC模式下的控制器。
第六步:在struts.xml文件中配置过滤器转发的顶下页面,代码如下。
index.jsp
这里package标记中name属性用作定义一个包名以区分其他人代码,extends属性用于继承一个父包,extends="struts-default"这句话是必须要有的,struts2项目启动会加载默认的此配置文件,我们在自定义之后必须有此操作才能使自定义代码生效;
action标记中的name属性是用作客户端访问时的路径相当于Servlet's path;action标记中的class属性则是用作与这个action所对应的aciton类的全路径;
action标记中的method属性时与action类的方法所对应不写默认为execute方法;
action标记内result中的name属性为其父标记所对应方法的返回值,实现从逻辑视图名到物理视图名的转化(逻辑视图=success,物理视图=index.jsp),不写默认为success;
若返回值与name属性值匹配则完成result标记内指定的路径进行跳转(本例就跳转到我们事先编写好的一个index.jsp页面)。第七步:在webContent目录下创建一个名称为index的jsp文件,文件位置如下所示
并在<body></body>体内随意写一句话用于展示,代码如下。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title here 这是Mr至简的第一个struts2项目!
第八步:将struts2项目发布在tomcat下并启动无任何异常抛出后,在浏览器地址栏输入:http://localhost:8080/struts2Demo/login 进行请求,结果如下图所示。
到这里一个简单的struts2项目构建完毕,关于struts2的项目相对来说简单,建议大家在熟悉原理的情况下在自行构建项目进一步理解框架。不足的地方还请指教。
本文参考清华大学出版社--《Struts2+Spring3+Hibernate框架技术精讲与整合案例》第四章Struts2概述。