版本2.3.20
第一步:在http://struts.apache.org/download.cgi下载Struts2的最新版
第二步:解压下载的压缩包。在struts-2.3.20-all.zip\struts-2.3.20\apps\struts2-blank.war 解压出来,把这个文件用压缩工具解压到文件夹出来,将\struts2-blank\WEB-INF\lib下的jar所有拷贝到你项目的lib下
第三步:在web.xml配置文件中,配置Struts2的核心Filter过滤器。代码如下:
<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>
第四步:在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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<global-results>
<result name="error">error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception"
result="error" />
</global-exception-mappings>
<action name="login" class="com.test.action.LoginAction">
<result name="success">/success.jsp</result>
<result name="error">/index.jsp</result>
</action>
</package>
</struts>
action主要是对红色部分的修改。成功和错误的页面设置。登陆成功跳转到success.jsp,失败跳转到index.jsp页面。
index.jsp是登陆页面。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form action="login.action" method="get">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="登陆"></td>
</tr>
</table>
</form>
</body>
</html>
action的名称和struts.xml的action名称对应。
success.jsp是登陆成功的页面。
第五步:创建处理用户请求的Action类,继承于ActionSupport类
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username, 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;
}
public String execute() throws Exception {
if (username.equals("admin") && password.equals("admin")) {
return SUCCESS;
}
return ERROR;
}
}