//登录
@PostMapping("login_session")
//HttpServletRequest用于获取客户端发送的HTTP请求的信息,使用了Spring MVC的@RequestBody注解的参数-HTTP请求的内容体(Body)是JSON或其他格式的数据时,Spring MVC会自动将这个数据转换为Users类型的Java对象。
public Result login_session(HttpServletRequest httpServletRequest, @RequestBody Manager manager){
Manager e=screSessionService.login(manager);
if(e!=null){
//getSession()与http关联,建立一个会话,会话中设置一个属性username,值为manager.getUsername()
httpServletRequest.getSession().setAttribute("username",manager.getUsername());
//获取会话中的username属性(获取到的是object型)
String username=(String)httpServletRequest.getSession().getAttribute("username");
System.out.println("查询不为空"+username);
return Result.success();
}
else{
String username=(String)httpServletRequest.getSession().getAttribute("username");
System.out.println("查询为空。"+username);
return Result.error("用户名或密码错误");
}
}
//退出
@GetMapping("/logout")
public Result logout(HttpServletRequest request){
//清除session中保存的当前登陆的账号username
request.getSession().removeAttribute("username");
return Result.success("退出成功");
}
@GetMapping("/index")
public Result index1(HttpServletRequest request) {
List<SreSession> list=screSessionService.findAll();
return Result.success(list);
}
//jwt令牌
@GetMapping("/manager_index1")
public Result index1() {
List<Manager> managersList =screSessionService.findAll1();
return Result.success(managersList);
}
@PostMapping("/loginJwt")
public Result login(@RequestBody Manager manager) {
//调用业务层:登录功能
Manager loginManager = screSessionService.login(manager);
//判断:登录用户是否存在
if(loginManager !=null ){
//自定义信息
Map<String , Object> claims = new HashMap<>();
claims.put("password",loginManager.getPassword());
claims.put("username",loginManager.getUsername());
//使用JWT工具类,生成身份令牌
String token = JwtUtils.generateJwt(claims);
System.out.println(token);
Map<String, String> response = new HashMap<>();
response.put("token", token);
return Result.success(token);
}
return Result.error("用户名或密码错误");
}
全部代码
LoginCheckFilter
ScreSessionMapper
局部新增代码
@Select("select * from manager where username = #{username} and password =#{password}")
public Manager getByManager(Manager manager);
@Select("select *from manager")
public List<Manager> list1();
全部代码
ScreSessionService
局部新增
public Manager login(Manager manager);
public List<Manager> findAll1();
全部
ScreSessionImpl
package com.example.Service.impl;
import com.example.Mapper.ScreSessionMapper;
import com.example.Service.ScreSessionService;
import com.example.pojo.Manager;
import com.example.pojo.PageBean;
import com.example.pojo.Result;
import com.example.pojo.SreSession;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ScreSessionImpl implements ScreSessionService {
@Autowired
private ScreSessionMapper screSessionMapper;
/*@Override
public List<SreSession> list(){return screSessionMapper.list();}
//直接返回数据*/
@Override
public List<SreSession> findAll(){
return screSessionMapper.findAll();
}
//按照id查询
@Override
public SreSession scresessionfindById(Integer sessionid){return screSessionMapper.ScreSessionfindById(sessionid);}
//按id删除
@Override
public int deleteScreSession(Integer sessionid){return screSessionMapper.deleteScreSession(sessionid);}
/* //增加
@Override
public boolean addUser(SreSession sreSession){
int result=screSessionMapper.add(sreSession);
return result==1;
}*/
//增加
@Override
public boolean addUser(SreSession sreSession) {
int result = screSessionMapper.add(sreSession);
return result > 0;
}
//修改
@Override
public boolean editScreSession(SreSession sreSession){return screSessionMapper.editScreSession(sreSession);}
@Override
public PageBean list(Integer page, Integer pageSize){
// 当你调用了这个方法之后,紧接着执行的MyBatis查询(通常是一个 select 语句)就会自动被 PageHelper 插件处理,从而只返回指定页的数据。
// 例如,如果你调用了 PageHelper.startPage(2, 10);,然后执行了一个查询,那么你将得到第2页的数据,每页包含10条记录。这意味着你将得到数据库中第11到20条记录(假设记录是从1开始编号的)。
//设置分页参数
PageHelper.startPage(page,pageSize);
//执行分页查询
List<SreSession> scresessionList=screSessionMapper.findAll();
//获取分页结果 PageInfo是一个工具类,它接收一个查询结果列表作为参数,并自动分析这个列表来获取分页信息
PageInfo<SreSession> p=new PageInfo<>(scresessionList);
//封装PageBean
PageBean pageBean=new PageBean(p.getTotal(),p.getList());
System.out.println(page+pageSize);
return pageBean;
}
@Override
public PageBean list_chaxun(Integer page,Integer pageSize,Integer sessionid,Integer movieid){
//设置分页参数
PageHelper.startPage(page,pageSize);
List<SreSession> scresessionList=screSessionMapper.list_chaxun(sessionid,movieid);
//System.out.println(poetList);
//获取分页结果 PageInfo是一个工具类,它接收一个查询结果列表作为参数,并自动分析这个列表来获取分页信息
PageInfo<SreSession> p=new PageInfo<>(scresessionList);
//封装PageBean
PageBean pageBean=new PageBean(p.getTotal(),p.getList());
return pageBean;
}
//登录
@Override
public Manager login(Manager manager){
return screSessionMapper.getByManager(manager);
}
@Override
public List<Manager> findAll1(){
return screSessionMapper.list1();
}
}