步骤:
1、导入struts2运行所需的基本jar包
commons-fileupload-1.2.2.jar
commons-lang3-3.1.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
struts2-core-2.3.12.jar
xwork-core-2.3.12.jar
javassist-3.11.0.GA.jar
2、配置web应用的配置文件web.xml(在WEB-INF目录下)
在web.xml文件中添加struts2的核心控制器:StrutsPrepareAndExecuteFilter(之前的版本是FilterDispatcher)
<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>
注:struts1的启动项是servlet,到了struts2换成了filter
3、添加struts2的配置文件:struts.xml <!--配置中没有struts1的ActionForm配置,struts2用Action类封装form表单中的内容-->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="gb2312"/>
<package name="default" extends="struts-default"><!--name属性用于继承-->
<action name="showWords" class="action.ShowWords" method="execute"><!-- 添加业务控制器 -->
<result name="success">/showWords.jsp</result><!--配置视图-->
<result name="input">/inputWords.jsp</result>
</action>
</package>
</struts>
4、创建业务控制器类:
package action;
public class ShowWords{ //struts2的action类较struts1比,不要求实现或继承其他接口、类
private String name; //来自文本框
private String words; //用于在视图中显示
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWords() {
return words;
}
public void setWords(String words) {
this.words = words;
}
public String execute(){
if("".equals(name)){
return "input";
}else{
words = "欢迎您:" + name;
return "success";
}
}
}
5、创建视图组件inputWords.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>一个简单的Struts 2应用</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body>
<center>
<div>
<%@ include file="top.html" %>
</div>
<h3>一个简单的Struts 2应用</h3>
<br/><hr/>
<form name="myForm" action="showWords.action" method="post">
请输入您的姓名:<input name="name" type="text"/><br/> <!-- name属性值对应action类的属性name将被封装到
ShowWords对象的name属性-->
<input type="submit" name="mySubmit" value="提交"/>
</form>
</center>
</body>
</html>
showWords.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>一个简单的Struts 2应用</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body>
<center>
<div>
<%@ include file="top.html" %>
</div>
<h3>一个简单的Struts 2应用</h3>
<br/><hr/>
${words } <!-- 对应ShowWords属性方法getWords后部分-->
</center>
</body>
</html>
说明:例子来自struts2完全学习手册,如若转载请注明出处。