实现步骤:
1、添加依赖jar包
2、编写login.jsp文件、success.jsp文件、failure.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LOGIN</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/login.action" method="post">
户名:<input type="text" name="username"><br> 密码:<input
type="password" name="password"><br> <input
type="submit" value="login">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>SUCCESS</title>
</head>
<body>登录成功!!!
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>FAILURE</title>
</head>
<body>
登录失败,错误的用户名:
<s:property value="username" />
<br>
<a href="<%=request.getContextPath()%>/login.jsp">返回</a>
</body>
</html>
3、编写LoginAction.java文件
package com.jack.action;
import com.opensymphony.xwork2.Action;
public class LoginAction implements Action {
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;
}
public String execute() throws Exception {
if (username.equals("struts2")) {
return "loginSuccess";
} else {
return "loginFailure";
}
}
}
4、编写struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="myFirst" namespace="/" extends="struts-default">
<action name="login" class="com.jack.action.LoginAction">
<result name="loginSuccess">/success.jsp</result>
<result name="loginFailure">/failure.jsp</result>
</action>
</package>
</struts>
5、编写web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> -->
<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>
</web-app>
![121740_EXC3_2365309.jpg](https://i-blog.csdnimg.cn/blog_migrate/8f3af5e535f824ba235f00428f454ecf.jpeg)
![121740_XV8h_2365309.jpg](http://static.oschina.net/uploads/space/2016/0508/121740_XV8h_2365309.jpg)
![121740_b7Aw_2365309.jpg](http://static.oschina.net/uploads/space/2016/0508/121740_b7Aw_2365309.jpg)