news 2026/4/18 7:22:17

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/4/16 15:47:11

PyTorch-v2.8新特性解读:性能提升背后的底层优化

PyTorch-v2.8新特性解读&#xff1a;性能提升背后的底层优化 在深度学习研发的日常中&#xff0c;你是否曾遇到这样的场景&#xff1a;模型结构早已设计完毕&#xff0c;训练逻辑也反复验证无误&#xff0c;可一跑起来却发现 GPU 利用率始终徘徊在 30% 以下&#xff1f;或者更糟…

作者头像 李华
网站建设 2026/4/16 20:44:37

使用SSH远程连接PyTorch开发环境:高效运维必备技能

使用SSH远程连接PyTorch开发环境&#xff1a;高效运维必备技能 在深度学习项目中&#xff0c;我们常常面临这样一个现实&#xff1a;训练模型需要强大的GPU算力&#xff0c;而这些资源通常集中在远程服务器或云平台上。你的笔记本可能跑不动ResNet-50的完整训练&#xff0c;但…

作者头像 李华
网站建设 2026/4/16 20:02:40

PyTorch分布式训练入门:多GPU并行计算实践指南

PyTorch分布式训练入门&#xff1a;多GPU并行计算实践指南 在现代深度学习项目中&#xff0c;单块GPU早已无法满足大模型的训练需求。当你面对一个拥有上亿参数的Transformer网络&#xff0c;或是处理ImageNet级别的图像数据集时&#xff0c;训练时间动辄以天甚至周为单位——这…

作者头像 李华
网站建设 2026/4/8 20:19:52

如何选择合适的CUDA版本匹配PyTorch GPU运行需求

如何选择合适的CUDA版本匹配PyTorch GPU运行需求 在深度学习项目开发中&#xff0c;一个看似简单却频繁困扰开发者的问题是&#xff1a;为什么我的 PyTorch 无法使用 GPU&#xff1f;明明装了 CUDA&#xff0c;也安装了 torch&#xff0c;但 torch.cuda.is_available() 却返回 …

作者头像 李华
网站建设 2026/4/16 19:57:34

Jupyter Notebook插件推荐:提升PyTorch代码编写效率

Jupyter Notebook 与 PyTorch-CUDA 镜像&#xff1a;构建高效深度学习开发环境 在如今的 AI 开发实践中&#xff0c;一个常见的尴尬场景是&#xff1a;好不容易复现了一篇论文的代码&#xff0c;却卡在了环境配置上——torch 版本不兼容、CUDA 找不到驱动、cuDNN 编译失败………

作者头像 李华
网站建设 2026/4/16 12:09:08

[特殊字符] MediaCrawler - 自媒体平台爬虫 [特殊字符]️

&#x1f525; MediaCrawler - 自媒体平台爬虫 &#x1f577;️ MediaCrawler 是一款功能强大的多平台自媒体数据采集工具&#xff0c;它能够帮助用户抓取各大自媒体平台如小红书、抖音、快手、B站、微博、贴吧、知乎等的公开信息。无论是进行数据分析、舆情监控还是进行内容创…

作者头像 李华