<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">版本说明:</span>
Struts2-2.3.16.3
Tomcat-7.0.55
Eclipse-JEE Kepler Service Release 2
开发步骤:
1. 下载Struts2: http://struts.apache.org/;
2. 下载Tomcat:http://tomcat.apache.org/;
3. 下载Eclipse:www.eclipse.org;
4. 打开Eclipse新建工程(Dynamic Web project);
5. 在WEB-INF/lib下添加Struts2包(commons-fileupload-1.3.1.jar,commons-io-2.2.jar,commons-lang3-3.1.jar,freemarker-2.3.19.jar,
javassist-3.11.0.GA.jar,ognl-3.0.6.jar,struts2-core-2.3.16.3.jar,xwork-core-2.3.16.3.jar);
6. 在WEB-INF/lib下添加servlet-api.jar;
7. 在WEB-INF下添加文件web.xml(此文件在新建工程时自动生成,或从Struts样例工程中拷贝);
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2 Demo</display-name>
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
8. 在WebContent目录下添加jsp页面;
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="p" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><p:text name="Struts2 Demo"></p:text></title>
</head>
<body>
<p:form action="login">
<p:textfield name="username" key="user" />
<p:textfield name="password" key="pass" />
<p:submit key="login" />
</p:form>
</body>
</html>
WebPage/login_error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="p" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><p:text name="Login Error"></p:text></title>
</head>
<body>
<h1>Login Error</h1>
</body>
</html>
WebPage/login_success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="p" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><p:text name="Login Success"></p:text></title>
</head>
<body>
<h1>Login Success</h1>
</body>
</html>
9. 添加Struts配置文件src/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>
<constant name="struts.custom.i18n.resources" value="mess" />
<constant name="struts.i18n.encoding" value="UTF-8" />
<package name="com.ihuning.struts2.demo.login" extends="struts-default">
<action name="login" class="com.ihuning.struts2.demo.login.LoginAction">
<result name="input">/index.jsp</result>
<result name="error">/WebPage/login_error.jsp</result>
<result name="success">/WebPage/login_success.jsp</result>
</action>
</package>
</struts>
10. 添加国际化支持文件src/mess.propertiemess_zh_CN.properties,src/mess_zh_CN.properties;
mess_zh_CN.properties
loginPage=登录页面
errorPage=失败页面
succPage=成功页面
failTip=登录失败
succTip=登录成功
user=密码
pass=用户名
login=登录
mess_zh_CN.properties
loginPage=\u767B\u5F55\u754C\u9762
errorPage=\u5931\u8D25\u9875\u9762
succPage=\u6210\u529F\u9875\u9762
failTip=\u767B\u5F55\u5931\u8D25
succTip=\u767B\u5F55\u6210\u529F
user=\u7528\u6237\u540D
pass=\u5BC6\u7801
login=\u767B\u5F55
11. 添加Action类以及相关处理类com.ihuning.struts2.demo.login/LoginAction.java,com.ihuning.struts2.demo.login/UserManager.java
LoginAction.java
package com.ihuning.struts2.demo.login;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1441274772944059243L;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() throws Exception {
int resultCode = UserManager.getInstance().verifyUser(getUsername(),
getPassword());
if (resultCode == 0) {
return SUCCESS;
} else {
return ERROR;
}
}
}
UserManager.java
package com.ihuning.struts2.demo.login;
public class UserManager {
private static UserManager instance = new UserManager();
private UserManager() {
}
public static UserManager getInstance() {
return instance;
}
public int verifyUser(String username, String password) {
if ("ihuning".equals(username) && "ihuning".equals(password)) {
return 0;
} else {
return -1;
}
}
}
12. 文件清单视图;
13. 打开JavaEE开发视图,添加Tomcat服务器并部署应用;
14. 在浏览器输入地址(http://localhost:8080/com.ihuning.struts2.demo/)中测试;
15. 正确的用户名密码为ihuning/ihuning,输入验证结果;
用户名密码错误页面:
用户名密码正确页面: