编写登录模块
准备一个数据库,写入数据
在bean中编写一个UserIfor实体类 映射数据库字段,字段建议一致。在进行 set() get() toString() 方法 构造函数
package com.zhongruan.bean;
/**
* UserInfo - 实体类,映射数据库字段,字段建议一致。
*/
public class UserInfor {
// 在实体类中为什么要进行封装?
// Spring 容器,去访问对象成员属性的时候必须是封装类型的,不然就没办法访问!
private int id; //用户ID
private String username; //用户名
private String password; //用户密码
// get/ set 访问器
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 UserInfor() {
}
public UserInfor(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
// toString的方法重写
@Override
public String toString() {
return "UserInfor{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
从Dao 层入手 编写接口
在mapper文件夹中编写dao层映射文件
接着在service层里编写接口
新建文件夹 Impl 编写继承接口的实体类
最后是 控制器层 调用UserService中的接口,对得到的返回值进行判断,返回到对应的路径
在 @RequestMapping("") 中 编写代码路径
@Autowired
private IUserInforService userInforService;
@RequestMapping("/doLogin.do")
public String doLogin(HttpSession session, String username, String password) {
// 1. 调用service,查询得到结果,自动补全返回值 Ctrl + Alt + V
UserInfor userInfor = userInforService.doLogin(username);
// 2. 判断
if (userInfor != null) {
if (password.equals(userInfor.getPassword())) {
System.out.println("密码正确,登陆成功!");
session.setAttribute("userInfor", userInfor);
return "main";
} else {
System.out.println("密码错误,登陆失败!");
session.setAttribute("message", "密码错误,登陆失败!");
return "../login";
}
} else {
System.out.println("用户不存在,请重新输入!");
session.setAttribute("message", "用户不存在,请重新输入!");
return "../login";
}
找到对应的jsp页面填写路径
登录模块完成
编写注销模块
控制器层
jsp页面
注销模块编写完成
编写 添加 查询 模块
从Dao 层入手 编写接口
因为添加的内容包含了 id username password 所以看作是添加了一个对象
在mapper文件夹中编写dao层映射文件
接着在service层里编写接口
Impl 编写继承接口的实体类
最后是 控制器层 调用UserService中的接口,对得到的返回值进行判断,返回到对应的路径
在 @RequestMapping("") 中 编写代码路径
因为查询操作结果要呈现在网页上所以要封装到ModelAndView中
//所有需要返回页面显示的全部都要封装到ModelAndView中
@RequestMapping("/findAll.do")
public ModelAndView findAll() {
//调用service 中的方法, 得到查询结果
List<UserInfor> userInforList = userInforService.findAll();
ModelAndView mv = new ModelAndView();
mv.addObject("userInforList", userInforList);
mv.setViewName("user-list");
return mv;
}
//增加
@RequestMapping("/addUser.do")
public String addUser(UserInfor userInfor) {
// 调用 service , 得到结果
userInforService.addUser(userInfor);
// 如果增加成功, 返回重新查询
return "redirect:findAll.do";
}
找到对应的jsp页面填写路径
将查询得到的集合传到jsp页面,进行遍历
添加 查询模块完毕