【MapSheep】
[好记性不如烂笔头]
posts - 228,comments - 15,views - 17万

实体类

  1. 用户实体类
import java.io.Serializable;
public class PUser implements Serializable {
private String PUserName;
private String Password;
}

清.登录 Copy

  1. Postman调用

  1. 逻辑实现
@PostMapping("/loginPost")
public void loginPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
//设置请求编码格式
request.setCharacterEncoding("UTF-8");
//设置响应编码格式
response.setCharacterEncoding("UTF-8");
//设置数据返回的类型
response.setContentType("text/json");
//TODO:获取请求信息
//账号
String PUserNumber = request.getParameter("PUserNumber");
//密码
String Password = request.getParameter("password");
//记住密码
String remember = request.getParameter("remember");
String str;
//通过账号查询用户密码
PUser user = findByPUserNumber(PUserNumber);
//判断账号是否存在
if (user != null) {
//判断密码是否正确
if (user.getPassword().equals(Password)) {
str = "success";
//判断记住密码是否选中
if (remember != null) {
//创建Cookie对象
Cookie c1 = new Cookie("PUserName", PUserNumber);
Cookie c2 = new Cookie("Password", Password);
//设置Cookie的有效期(3天)
c1.setMaxAge(3 * 24 * 3600);
c2.setMaxAge(3 * 24 * 3600);
//响应Cookie信息
response.addCookie(c1);
response.addCookie(c2);
}
} else {
str = "密码错误,请重新输入";
}
} else {
str = "该用户不存在";
}
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(str));
//刷新该流的缓冲
out.flush();
//关闭流
out.close();
}

清.获取Cookie

  1. Postman调用

  1. 逻辑实现
@PostMapping("/loginPost")
public void loginPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
//设置请求编码格式
request.setCharacterEncoding("UTF-8");
//设置响应编码格式
response.setCharacterEncoding("UTF-8");
//设置数据返回的类型
response.setContentType("text/json");
//TODO:获取请求信息
//账号
String PUserNumber = request.getParameter("PUserNumber");
//密码
String Password = request.getParameter("password");
//记住密码
String remember = request.getParameter("remember");
String str;
//通过账号查询用户密码
PUser user = findByPUserNumber(PUserNumber);
//判断账号是否存在
if (user != null) {
//判断密码是否正确
if (user.getPassword().equals(Password)) {
str = "success";
//判断记住密码是否选中
if (remember != null) {
//创建Cookie对象
Cookie c1 = new Cookie("PUserName", PUserNumber);
Cookie c2 = new Cookie("Password", Password);
//设置Cookie的有效期(3天)
c1.setMaxAge(3 * 24 * 3600);
c2.setMaxAge(3 * 24 * 3600);
//响应Cookie信息
response.addCookie(c1);
response.addCookie(c2);
}
} else {
str = "密码错误,请重新输入";
}
} else {
str = "该用户不存在";
}
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(str));
//刷新该流的缓冲
out.flush();
//关闭流
out.close();
}

清.清除Cookie

  1. Postman调用

  1. 逻辑实现
@GetMapping("/cleanCookie")
public void cleanCookie(HttpServletRequest request, HttpServletResponse response) throws IOException {
//设置数据返回的类型
response.setContentType("text/json");
//设置请求编码格式
request.setCharacterEncoding("UTF-8");
//设置响应编码格式
response.setCharacterEncoding("UTF-8");
//设置返回值
JSONObject jsonObject = new JSONObject();
//清除用户名
Cookie pUserName = new Cookie("PUserName", "");
if (0 != pUserName.getMaxAge()) {
pUserName.setMaxAge(0); //设置立即删除
response.addCookie(pUserName);
}
//清除密码
Cookie password = new Cookie("Password", "");
password.setMaxAge(0); //设置立即删除
response.addCookie(password);
PrintWriter out = response.getWriter();
jsonObject.put("success", "清除成功!");
out.write(JSON.toJSONString(jsonObject));
//刷新该流的缓冲
out.flush();
//关闭流
out.close();
}

工具类

  1. 模拟Service返回数据
/**
* 模拟 Service 返回数据
*
* @param PUserName
* @return PUser
*/
private static PUser findByPUserNumber(String PUserName) {
if ("靳露".equals(PUserName)) {
return new PUser(PUserName, "12");
}
return null;
}
posted on   (Play)  阅读(352)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

点击右上角即可分享
微信分享提示