news 2026/5/14 10:04:18

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/5/12 3:10:42

Java毕设项目推荐-基于SpringBoot+Vue的宠物生活馆网站的设计与实现宠物陪玩遛狗预约系统宠物信息管理【附源码+文档,调试定制服务】

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

作者头像 李华
网站建设 2026/5/8 9:59:17

Markdown嵌入HTML:增强技术博客排版表现力

Markdown嵌入HTML&#xff1a;增强技术博客排版表现力 在撰写深度技术文档时&#xff0c;你是否曾遇到这样的困扰&#xff1f;想把两张相关截图并列展示以便对比&#xff0c;却发现 Markdown 只能一张接一张地堆叠&#xff1b;想要隐藏一段复杂的配置说明&#xff0c;又不希望它…

作者头像 李华
网站建设 2026/5/2 20:08:26

数据结构 AVL树讲解

AVL树详解&#xff1a;自平衡二叉搜索树一、AVL树是什么&#xff1f;AVL树是最早发明的自平衡二叉搜索树&#xff0c;得名于其发明者G. M. Adelson-Velsky和Evgenii Landis&#xff08;1962年&#xff09;。它的核心思想是&#xff1a;在二叉搜索树的基础上&#xff0c;通过旋转…

作者头像 李华
网站建设 2026/5/1 10:32:19

SSH远程开发指南:在云服务器上运行PyTorch任务

SSH远程开发指南&#xff1a;在云服务器上运行PyTorch任务 如今&#xff0c;深度学习项目对计算资源的需求与日俱增。一个简单的Transformer模型训练动辄需要数十GB显存和上百小时GPU时间&#xff0c;而大多数本地设备——即便是顶配MacBook或高性能工作站——也难以支撑这种规…

作者头像 李华
网站建设 2026/5/11 14:01:15

深入理解 CSS 浮动布局(float)

CSS 浮动布局详解一、常见布局方式概览网页设计中常用的布局方案包括&#xff1a;文档流布局&#xff08;默认布局&#xff09;盒模型布局浮动布局&#xff08;float&#xff09;定位布局&#xff08;position&#xff09;弹性盒子布局&#xff08;flex&#xff09;响应式/流式…

作者头像 李华
网站建设 2026/5/1 0:45:37

PyTorch-CUDA-v2.7镜像训练StyleGAN3效果评测

PyTorch-CUDA-v2.7镜像训练StyleGAN3效果评测 在当今高分辨率图像生成任务日益普及的背景下&#xff0c;研究人员和工程师面临一个共同挑战&#xff1a;如何快速搭建稳定、高效且可复现的深度学习训练环境&#xff1f;尤其是像 StyleGAN3 这类对算力、内存和软件版本极为敏感的…

作者头像 李华