ssm框架登入驗證
阿新 • • 發佈:2018-12-12
整體思路: 1、不輸入名字,提示:請輸入使用者名稱 2、輸入名字,分兩種情況:不管輸不輸入密碼,都會先判斷使用者是否存在
- 01、使用者不存在,不用判斷密碼了 提示:使用者不存在
- 02、使用者存在,判斷密碼 密碼錯誤:提示密碼錯誤 密碼正確:重定向到指定頁面
實現步驟如下: 一、User類:
private Integer id;
private String name;
private Integer age;
private String sex;
private String password;
get、set方法省略、、、
二、Controller類(主要程式碼)
@RequestMapping("login") public String login(@Param("name")String name,@Param("password")String password,Model model) { User user=userService.checkUser(name, password); if(name==null||"".equals(name)){ //沒有輸入姓名 model.addAttribute("msg1","請輸入姓名"); }else if(user==null||"".trim().equals(user)){ //輸入姓名但是姓名錯誤 model.addAttribute("msg1","賬戶不存在,請先註冊"); return "login"; }else if(user!=null &(password==null||"".equals(password))){ //姓名正確,但沒有輸入密碼 model.addAttribute("msg2","請輸入密碼"); }else if(user!=null &!(user.getPassword().equals(password))) { //姓名正確,輸入密碼,但是密碼錯誤 model.addAttribute("msg2","密碼錯誤"); }else if (user!=null &user.getPassword().equals(password)){ //姓名密碼均正確 return "redirect:/user/getAllUser"; } return "login"; }
三、Service介面實現類(Service介面類省略了)
@Service("userService")
public class UserServiceImpl implements IUserService {
@Resource
private IUserDao userDao;
@Override
public User checkUser(String name, String password) {
return userDao.checkUser(name);
}
}
四、Dao介面類
public interface IUserDao { public User checkUser(String name); }
五、UserDao.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 設定為IUserDao介面方法提供sql語句配置 -->
<mapper namespace="com.ssm.dao.IUserDao">
<select id="checkUser" resultType="com.ssm.model.User" parameterType="String">
select id,name,sex,age,password from user where name=#{name}
</select>
</mapper>
六、login.jsp 登入失敗會有提示返回給jsp頁面, ${msg}用來接收返回來的錯誤資訊 登陸成功以後,轉到getAllUser,獲取全部使用者資訊
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>使用者登入</title>
</head>
<body>
<div style="width:100%;text-align:center">
<h1>使用者登入</h1>
<form action="${pageContext.request.contextPath }/user/login" method="post">
<span>${msg1}</span><br>
姓名: <input type="text" name="name" ><br>
<span>${msg2}</span><br>
密碼: <input type="text" name="password"><br>
<input type="submit" value="登入">
<br>
</form>
</div>
</body>
</html>
主要程式碼就是這樣,其他程式碼和上個專案一樣,只不過新增一個登入驗證就ok了