今天应一哥们请求帮忙弄一个Struts的HelloWorld,本人大三时用过Struts做开发,那会Struts 2刚出,时隔那么多年没想到现在版本都到2.3.4.1了,话说我这HelloWorld中还真遇到不少的问题,主要是一些包有变化加上过滤器和以前的名字不一样了,现在把完整示例记录下来,以供新手参考。

1、eclipse新建一个网站项目:
 

2、项目名称为Hello,容器是Tomcat v6.0
 

3、把WEB程序根目录改为WebRoot
 

4、把源文件编译后输出的目录改为WebRoot\WEB-INF\classes
 
 
5、项目新建完后的文件目录
 

6、加载Struts2.3所需的jar包
 

7、jar包粘贴到WEB-INF\lib文件夹下
 

8、打开WEB-INF文件夹下的web.xml加入过滤器配置

<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>

9、在src文件夹下新建struts.xml文件
 

10、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">
<struts>
    <package name="default" extends="struts-default">

        <action name="HelloWorld" class="com.HelloWorld">
            <result>/HelloWorld.jsp</result>
        </action>
    </package>
</struts>

11、在WebRoot根目录下添加一个jsp页面HelloWorld.jsp
 

12、HelloWorld.jsp代码如下:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title><s:text name="HelloWorld.message"/></title>
</head>
<body>
<h2><s:property value="message"/></h2>
</body>
</html>

13、在src文件夹下新建一个包,名字为com
 

14、在src文件夹com包中新建一个类,名字为HelloWorld
 

15、HelloWorld类内容如下:

package com;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {
    public static final String MESSAGE = "Struts is up and running ";
    public String execute() throws Exception {
        setMessage(MESSAGE);
        return SUCCESS;
    }
    private String message;
    public void setMessage(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}

16、在WebRoot根目录添加一个index.html作为主页
 

17、index.html内容如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=HelloWorld.action">
</head>

<body>
<p>Loading ...</p>
</body>
</html>

18、最终的文件目录:
 

19、最后运行
 

20、运行效果先显示Loading…,之后转调到Struts is up and running



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐