news 2026/3/13 16:55:20

IDEA(2020版)sevlet+session模拟用户登录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA(2020版)sevlet+session模拟用户登录

查看全文:https://www.longkui.site/program/java/idea2020sevletsession2/7213/


【任务目标】

通过所学Session知识,使用Session技术模拟用户登录。

当用户访问某个网站的首页时,首先会判断用户是否登录,如果已经登录,则在首页中显示用户登录信息,否则进入登录页面,实现用户登录功能,然后显示用户登录信息。

1.创建实体类
右击entity文件夹,选择New—>Java Class,名字为User

代码参考如下:

package cn.itcast.session.entity;public class User{private String username;private String password;public StringgetUsername(){returnusername;}public void setUsername(String username){this.username=username;}public StringgetPassword(){returnpassword;}public void setPassword(String password){this.password=password;}}

2.创建Servlet
右击Servlet,选择New—>Create New Servlet,名字为IndexServlet

IndexServlet.java参考代码如下:

package cn.itcast.session.servlet;importcn.itcast.session.entity.User;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.*;@WebServlet(name="IndexServlet",urlPatterns="/IndexServlet")public class IndexServlet extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 解决乱码问题 response.setContentType("text/html;charset=utf-8");// 创建或者获取保存用户信息的Session对象 HttpSession session=request.getSession();User user=(User)session.getAttribute("user");if(user==null){response.getWriter().print("您还没有登录,请<a href='/chapter05/login.html'>登录</a>");}else{response.getWriter().print("您已登录,欢迎你,"+ user.getUsername()+"!");response.getWriter().print("<a href='/chapter05/LogoutServlet'>退出</a>");// 创建Cookie存放Session的标识号 Cookie cookie=new Cookie("JSESSIONID", session.getId());cookie.setMaxAge(60*30);cookie.setPath("/chapter05");response.addCookie(cookie);}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}}

然后创建第二个LoginServlet,代码参考如下:

package cn.itcast.session.servlet;importcn.itcast.session.entity.User;importjava.io.*;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.*;@WebServlet(name="LoginServlet",urlPatterns="/LoginServlet")public class LoginServlet extends HttpServlet{public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{response.setContentType("text/html;charset=utf-8");String username=request.getParameter("username");String password=request.getParameter("password");PrintWriter pw=response.getWriter();//假设正确的用户名 是itcast 密码是123if(("itcast").equals(username)&&("123").equals(password)){User user=new User();user.setUsername(username);user.setPassword(password);request.getSession().setAttribute("user", user);response.sendRedirect("/chapter05/IndexServlet");}else{pw.write("用户名或密码错误,登录失败");}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}}

最后创建一个Servlet,名字为LogoutServlet,代码参考如下:

package cn.itcast.session.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.*;@WebServlet(name="LogoutServlet",urlPatterns="/LogoutServlet")public class LogoutServlet extends HttpServlet{public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{// 将Session对象中的User对象移除 request.getSession().removeAttribute("user");response.sendRedirect("/chapter05/IndexServlet");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}}

创建完的结构如下:


3.创建登录页面
右击web文件夹,选择New—>HTML File,名字为login.html


后续内容 查看全文:https://www.longkui.site/program/java/idea2020sevletsession2/7213/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/11 9:26:10

GitHub项目Fork后如何同步上游更新:保持PyTorch代码最新

GitHub项目Fork后如何同步上游更新&#xff1a;保持PyTorch代码最新 在深度学习项目的日常开发中&#xff0c;你是否遇到过这样的场景&#xff1f;好不容易复现了一篇论文的代码&#xff0c;运行时却报错 AttributeError: module object has no attribute compile。排查半天才…

作者头像 李华
网站建设 2026/3/11 5:17:04

CNN图像分类实战教程:基于PyTorch-CUDA-v2.8镜像快速实验

CNN图像分类实战&#xff1a;基于PyTorch-CUDA-v2.8镜像的高效实验实践 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计本身&#xff0c;而是环境配置——明明代码写好了&#xff0c;却因为CUDA版本不匹配、PyTorch安装失败或GPU无法调用而卡住。尤其对于卷积神经…

作者头像 李华
网站建设 2026/3/9 7:14:24

计算机毕业设计,基于springboot的智能物流管理系统,附源码+数据库+论文,包远程安装调试运行

1、项目介绍 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了智能物流管理系统的开发全过程。通过分析智能物流管理系统管理的不足&#xff0c;创建了一个计算机管理智能物流管理系统的方案。文章介绍了智能物流管理…

作者头像 李华
网站建设 2026/3/13 12:38:40

Conda Forge频道介绍:获取最新PyTorch构建版本

Conda Forge频道介绍&#xff1a;获取最新PyTorch构建版本 在深度学习项目开发中&#xff0c;最让人头疼的往往不是模型设计本身&#xff0c;而是环境搭建——尤其是当你要在一个新机器上配置 PyTorch CUDA 的时候。明明按照官方文档一步步来&#xff0c;却还是遇到 torch.cud…

作者头像 李华
网站建设 2026/3/12 0:41:27

Jupyter Lab与PyTorch集成配置:更强大的交互式开发体验

Jupyter Lab与PyTorch集成配置&#xff1a;更强大的交互式开发体验 在深度学习项目开发中&#xff0c;一个常见的场景是&#xff1a;你刚刚拿到一台配备高性能GPU的远程服务器&#xff0c;满心期待地准备开始训练模型&#xff0c;结果却被环境配置卡住——Python版本不兼容、C…

作者头像 李华
网站建设 2026/3/13 9:11:25

Java毕设项目:基于SpringBoot+Vue的宠物生活馆网站的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华