接下来我将详细讲解如何使用 Struts1 框架实现简单的登录功能,由于过程比较长,我将分为以下几个步骤:
- 准备工作
- 创建登录页面
- 编写 Action 类
- 配置 Struts 配置文件
- 运行程序,测试登录功能
1. 准备工作
首先需要准备好开发环境,本文以 Eclipse IDE 和 Tomcat 服务器作为例子。而 Struts1 的 jar 包需要我们手动下载添加到项目中,可以通过访问官网 http://struts.apache.org/ 下载更高版本的 jar 包,但我们这里以 Struts1.3.8 版本为例。
下载完成后,解压包,把需要的两个 jar 包放到 WEB-INF/lib 目录中:
- struts-core-1.3.8.jar
- commons-fileupload-1.2.1.jar
2. 创建登录页面
在我们项目的 WebRoot 目录下创建 login.jsp 页面,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="login.do" method="post">
<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 colspan="2"><input type="submit" value="登录"></td>
</tr>
</table>
</form>
</body>
</html>
3. 编写 Action 类
在我们项目的 src 目录下创建包 myapp.action,然后创建 LoginAction 类,代码如下:
package myapp.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
// 定义 execute 方法会自动调用
public String execute() throws Exception {
if ("admin".equals(username) && "password".equals(password)) {
return SUCCESS;
}
return ERROR;
}
// 定义 login 方法
public String login() throws Exception {
return "success";
}
// getter 和 setter 方法
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;
}
}
4. 配置 Struts 配置文件
在我们项目的 WEB-INF 目录下创建 struts-config.xml 文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="myapp.action.LoginAction" name="loginForm"
scope="request" validate="true"
input="/login.jsp" parameter="method">
<forward name="success" path="/common/welcome.jsp"/>
<forward name="error" path="/login.jsp"/>
</action>
</action-mappings>
</struts-config>
5. 运行程序,测试登录功能
最后在我们的 Tomcat 服务器上运行程序,在浏览器中输入 http://localhost:8080/项目名/login.jsp,会出现登录页面,输入正确的用户名和密码,点击登录按钮,会跳转到欢迎页面,反之,如果输入错误的用户名和密码会跳转回到登录页面。成功的页面在项目的 WebRoot 目录下创建/common/welcome.jsp,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎页面</title>
</head>
<body>
<h3>欢迎你,<%= request.getParameter("username")%></h3>
<br>
<a href="login.jsp">退出登录</a>
</body>
</html>
至此,我们已经完成 Struts1 实现简单的登录功能实例,如果你还有其他疑问或需要更详细的讲解,可以参考 Struts1 官网文档或者在评论区留言。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts1实现简单的登录功能实例(附源码) - Python技术站