eclipse环境下基于tomcat-7.0.82构建struts2项目
开山第一篇,毕业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的过滤器,配置后的代码如下所示。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>struts2Demo</display-name> <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> <!-- <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> --> </web-app>
第四步:创建struts.xml配置文件。此配置文件在src根目录下,与包处于同一级。如下图所示。
配置文件中的内容如下所示。
<?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"><!-- 这里要和struts2版本号统一 -->
<struts>
</struts>
注意注释部分。到这里一个空的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文件中配置过滤器转发的顶下页面,代码如下。
<?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"><!-- 这里要和struts2版本号统一 --> <struts> <package name="default" extends="struts-default"> <action name="login" class="wjt.com.test.action.TestAction"> <result name="success">index.jsp</result> </action> </package> </struts>
这里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"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 这是Mr至简的第一个struts2项目! </body> </html>
第八步:将struts2项目发布在tomcat下并启动无任何异常抛出后,在浏览器地址栏输入:http://localhost:8080/struts2Demo/login 进行请求,结果如下图所示。
到这里一个简单的struts2项目构建完毕,关于struts2的项目相对来说简单,建议大家在熟悉原理的情况下在自行构建项目进一步理解框架。不足的地方还请指教。
本文参考清华大学出版社--《Struts2+Spring3+Hibernate框架技术精讲与整合案例》第四章Struts2概述。