Struts1登录示例代码攻略
简介
Struts1 是一个 Web 应用程序的 MVC 框架,通过使用 Struts1 框架,可以更加方便地管理 Web 应用程序中的各个模块,提高代码的重用性和可维护性。本文将介绍使用 Struts1 实现登录功能的示例代码。
实现步骤
本示例的实现步骤如下:
- 创建登录页面 login.jsp
- 创建 Struts1 配置文件 struts-config.xml
- 创建 Action 类 LoginAction.java
- 创建 ActionForm 类 LoginForm.java
- 创建数据访问对象 Dao.java
- 编写登录页面和 Action 类中的代码逻辑
下面将详细介绍每一步的实现方法。
1. 创建登录页面 login.jsp
在 WEB-INF 目录下创建 login.jsp 文件,编写如下代码:
<html>
<head>
<title>登录</title>
</head>
<body>
<form action="login.do" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
2. 创建 Struts1 配置文件 struts-config.xml
在 WEB-INF 目录下创建 struts-config.xml 文件,编写如下代码:
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.example.LoginForm"/>
</form-beans>
<action-mappings>
<action path="/login" type="com.example.LoginAction" name="loginForm">
<forward name="success" path="/welcome.jsp"/>
<forward name="fail" path="/login.jsp"/>
</action>
</action-mappings>
</struts-config>
3. 创建 Action 类 LoginAction.java
在 com.example 包下创建 LoginAction.java 文件,编写如下代码:
package com.example;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm) form;
Dao dao = new Dao();
if (dao.checkUser(loginForm.getUsername(), loginForm.getPassword())) {
return mapping.findForward("success");
} else {
return mapping.findForward("fail");
}
}
}
4. 创建 ActionForm 类 LoginForm.java
在 com.example 包下创建 LoginForm.java 文件,编写如下代码:
package com.example;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
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;
}
}
5. 创建数据访问对象 Dao.java
在 com.example 包下创建 Dao.java 文件,编写如下代码:
package com.example;
public class Dao {
public boolean checkUser(String username, String password) {
// 查询数据库,判断用户名和密码是否正确
return true;
}
}
6. 编写登录页面和 Action 类中的代码逻辑
登录页面 login.jsp 中提供了一个表单,用户输入用户名和密码,点击登录按钮后,表单的提交地址为 "login.do"。
Struts1 配置文件 struts-config.xml 中定义了一个 form bean 和一个 action,action 的 type 属性指向 LoginAction 类,name 属性指向 LoginForm 类,即将表单数据封装为 LoginForm 对象传入 LoginAction 中。
LoginAction 类中的 execute 方法中,获取 LoginForm 对象的用户名和密码,调用 Dao 对象的 checkUser 方法进行登录验证,如果验证通过则返回 "success",否则返回 "fail"。
以上就是使用 Struts1 实现登录功能的示例代码。下面给出两条示例:
示例一
用户输入的用户名和密码在数据库中不存在,登录失败,页面跳转回登录界面。
示例二
用户输入的用户名和密码在数据库中存在,登录成功,页面跳转到欢迎页面 welcome.jsp。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts1登录示例代码_动力节点Java学院整理 - Python技术站