今天应一哥们请求帮忙弄一个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