实现登录
- 编写业务逻辑代码,新建一个service包在下面编写AdminService接口以及在service包新建一个包impl本编写AdminServiceImpl类实现接口中的方法
AdminService接口
package com.oracle.xiaomi.service;
public interface AdminService {
//登录判断
public boolean Login(String name,String pwd);
}
AdminServiceImpl.java
package com.oracle.xiaomi.service.impl;
import com.oracle.xiaomi.mapper.AdminMapper;
import com.oracle.xiaomi.pojo.Admin;
import com.oracle.xiaomi.pojo.AdminExample;
import com.oracle.xiaomi.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
//加@Service的目的是让spring接管此类的对象的创建,并依赖注入给控制器
@Service
public class AdminServiceImpl implements AdminService {
//切记切记:要有Mapper接口对象,此对象由spring创建并注入
@Autowired //spring根据类型进行依赖注入
AdminMapper adminMapper;
@Override
public boolean Login(String name, String pwd) {
boolean flag=false;
//传入用户名,查到Admin对象,取出对象中密码与传来的密码比对,判断登录是否成功
//创建封装条件的对象AdminExample
AdminExample adminExample=new AdminExample();
//添加用户名为查找条件
adminExample.createCriteria().andANameEqualTo(name);
List<Admin> list=adminMapper.selectByExample(adminExample);
if(list.size()>0){
Admin admin=list.get(0);
if(admin.getaPass().equals(pwd)){
flag=true;
}
}
return flag;
}
}
- 实现控制层的代码创建controller包并编写AdminController.java
package com.oracle.xiaomi.controller;
import com.oracle.xiaomi.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/admin")
public class AdminController {
//切记切记:必须要有Service对象
@Autowired
AdminService adminService;
//完成登录处理
@RequestMapping("/login")
public String login(String name, String pwd, Model model){
boolean flag=adminService.Login(name,pwd);
if(flag){
model.addAttribute("adminName",name);
return "main";
}else{
model.addAttribute("error","用户名或密码不正确");
return "login";
}
}
}
-
页面处理
login.jsp
修该信息的调用地址与之前代码相匹配
mian.jsp
-
目录结构
目录的创建都在配置文件中有对应 -
运行结果