需要安装配置好JDK和Tomcat。下载struts2压缩包。
Tomcat目录通常为apache-tomcat-版本号。
1.在apche-tomcat-xxx/webapps/目录下创建文件夹,取名first。
2.在apche-tomcat-xxx/webapps/first/下创建文件夹,WEB-INF。
3.在WEB-INF下,创建两个文件夹classes、lib。
4.解压struts2压缩包,目录通常为struts-xxx。
5.在struts-xxx/apps/目录下解压struts2-blank.war文件。
6.在解压后得到的WEB-INF目录下拷贝web.xml到自己项目的WEB-INF下。
7.拷贝WEB-INF/lib/下所有jar包到自己项目WEB-INF/lib/下。
8.拷贝WEB-INF/classes/下struts.xml到自己项目WEB-INF/classes下。
9.更改自己项目的web.xml。删除<web-app>标签之间的内容,保留以下内容。
<filter>
<filter-name>hello</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.
StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hello</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
10.修改struts.xml。删除<struts>标签间内容,保留以下内容。
<package name="world" namespace="/myweb" extends="struts-default">
<action name="test" class="action.FirstAction">
<result name="positive">/positive.jsp</result>
<result name="negtive">/negtive.jsp</result>
</action>
</package>
11.编写FirstAction.java。对应于struts.xml中的action.FirstAction。
package action;
import com.opensymphony.xwork2.ActionSupport;
public class FirstAction extends ActionSupport {
private String name;
public int getName() { return name; }
public void setName(String _name) { name = _name; }
@Override
public String execute() throws Exception {
if(name == "world")
return "positive";
else
return "negtive";
}
}
11.编译FirstAction.java。依赖自己项目first/lib/下的jar包。
12.将FirstAction.class复制到first/classes/action/目录下。
13.完成index.jsp。
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>输入测试</title>
</head>
<body>
<s:form action="myweb/test">
<s:textfield name="name" label="输入"></s:textfield>
<s:submit value="测试"></s:submit>
</s:form>
</body>
</html>
14.完成positive.jsp和negtive.jsp。同样的代码。
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>测试输出</title>
</head>
<body>
hello, <s:property value="name" />
</body>
</html>
15.运行apache-tomcat-xxx/bin/下startup.bat开启tomcat。
16.在浏览器地址栏输入http://127.0.0.1:port/first/index.jsp,输入数据提交测试。
【提醒】
1.在第7步拷贝jar包时要将struts2-blank.war解压后所有jar包全部拷贝。
缺少某些jar包,将会导致tomcat无法正确加载使用struts2的web项目。
2.在修改struts.xml和web.xml时,建议从struts2-blank.war解压后拷贝。并且仅删除对应标签内内容,标签外内容不要随意改动。
3.如果没有<%@ taglib prefix=”s” uri=”/struts-tags”%>,将不可以使用<s:form action=”myweb/test”>等语句。
4.<%@ page contentType=”text/html;charset=GBK” %>中contentType开头字母需要小写。编码字符一般大写。
5.<s:form action=”myweb/test”>中action中对应struts.xml中action的name,myweb对应package中的namespace,myweb前面没有/。
6.<s:textfield name=”name” label=”输入”>中需要标明name属性。在对应的处理文件FirstAction.java中需要定义该属性,并实现get/set方法。<s:property value=”name” />从FirstAction中获取值需要标明value属性。