登录功能实现.
1、修改表单.

2、编写LoginController.
@Controller
public class LoginController {
@PostMapping("/user/login")
public String login(@RequestParam("username") String username, @RequestParam("password") String password, Model model){
if (!StringUtils.isEmpty(username) && username.equals("liuyou")){
return "redirect:/main.html";
}
model.addAttribute("msg","用户名或密码错误!");
return "index";
}
}
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// 视图跳转
registry.addViewController("/index.html").setViewName("index");
registry.addViewController("/main.html").setViewName("dashboard");
}
}
3、结果展示.

补充.
伪造的数据表(Map).
public class DepartmentDao {
//模拟数据表(事先存在的 -- static) <索引, 记录>
private static Map<Integer, Department> departments = null;
static {
departments = new HashMap<>();
departments.put(101, new Department(101,"教学部"));
departments.put(102, new Department(102,"市场部"));
departments.put(103, new Department(103,"教研部"));
departments.put(104, new Department(104,"运营部"));
departments.put(105, new Department(105,"后勤部"));
}
// 以下 是 dao的操作 只是没有数据库的连接 和 释放
// 获取所有部门信息
public Collection<Department> getDepartments(){
return departments.values();
}
// 通过id获取部门
public Department getDepartmentById(Integer id){
return departments.get(id);
}
}
public class EmployeeDao {
//模拟数据表(事先存在的 -- static) <索引, 记录>
private static Map<Integer, Employee> employees = null;
@Autowired
private DepartmentDao departmentDao;
// 主键自增
private static Integer initId = 6;
static {
employees = new HashMap<>();
employees.put(1, new Employee(1,"AA","123@qq.com",1,new Date(),new Department(101,"教学部")));
employees.put(2, new Employee(2,"BB","345@qq.com",0,new Date(),new Department(102,"市场部")));
employees.put(3, new Employee(3,"CC","234@qq.com",1,new Date(),new Department(103,"教研部")));
employees.put(4, new Employee(4,"DD","456@qq.com",0,new Date(),new Department(104,"运营部")));
employees.put(5, new Employee(5,"EE","146@qq.com",1,new Date(),new Department(105,"后勤部")));
}
// 以下 是 dao的操作 只是没有数据库的连接 和 释放
// 获取所有员工信息
public Collection<Employee> getEmployees(){
return employees.values();
}
// 通过id获取员工
public Employee getEmployeeById(Integer id){
return employees.get(id);
}
// 添加 一个员工
public void add(Employee employee){
if (employee.getId() == null) {
employee.setId(initId++);
}
// 外键
employee.setDepartment(departmentDao.getDepartmentById(employee.getDepartment().getId()));
employees.put(employee.getId(),employee);
}
// 删除 一个员工
public void delete(Integer id){
employees.remove(id);
}
}
实体类.
需要安装lombok插件,及依赖
Department实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Department implements Serializable {
private static final long serialVersionUID = 6619420117724195L;
private Integer id;
private String departmentName;
}
Employee实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Employee implements Serializable {
private static final long serialVersionUID = -5357243432996969444L;
private Integer id;
private String lastName;
private String email;
private Integer gender; // 0 : 女 1 : 男
private Date birth;
private Department department;
}