1、? 打开 MyEclipse ,创建 Web project ,命名 Struts2Demo
2、? 将 Struts2 应用需要的 lib 文件复制到项目的 lib 目录下( Struts2Demo\WebRoot\WEB-INF\lib ),主要有:
commons-fileupload-1.2.2.jar 、 commons-io-2.0.1.jar 、 commons-lang-2.5.jar 、 commons-logging-1.1.1.jar 、 freemarker-2.3.16.jar 、 javassist-3.11.0.GA.jar 、 ognl-3.0.1.jar 、 struts2-core-2.2.3.jar 、 xwork-core-2.2.3.jar
3、? 在项目的 WEB-INF 目录下的 web.xml 文件中定义过滤器,此过滤器充当 MVC 模式中的核心控制器,对用户的所所有请求进行统一处理:
<filter> <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 是一段只有特定的 URL 被请求时才会执行的代码。 StrutsPrepareAndExecuteFilter 根据请求的 URL 的不同,来执行对应的 Action 。
package com.sljliuan.action; import com.opensymphony.xwork2.Action; public class HelloWorldAction implements Action {???????? ???????? private String message;? ???????? public String getMessage() { ?????????????????? return message; ???????? } ???????? @Override ???????? public String execute() throws Exception { ?????????????????? message = "Hello World"; ?????????????????? return SUCCESS; ???????? } } |
?
5、? 编写结果页面
创建 HelloWorld.jsp 文件,
<%@ page language="java" import="java.util.*" pageEncoding="GB18030" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html>? <head>?? ??? <title> 欢迎页面 ...starting page</title>??? ????????? ? </head> ??? <body> ??? <h2> <s:property value="message" /> </h2> ? </body> </html> |
?
6、? 在 src 目录下,建立文件 struts.xml ,在 struts.xml 文件中配置 action :
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC ??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ??? "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> ???????? <package name="struts2" extends="struts-default" > ?????????????????? <action name="HelloWorld" class="com.sljliuan.struts.HelloWorldAction" > ??????????????????????????? <result name="success" >/result.jsp</result> ?????????????????? </action>???????? ???????? </package> </struts> |
7、? 发布并测试。
打开 tomcat 的 conf 文件夹中的 server.xml 文件,在 </Host> 的前面加上以下代码,为项目所在的 WebRoot 目录设置虚拟目录 web :
<Context path="/web" docBase="E:\MyEclipseworkspace\StrutsDemo\WebRoot" reloadable="true" /> ?? ,启动 tomcat ,在浏览器中输入地址: http://localhost:8080/web/HelloWorld.action ,即可看到显示结果。
?