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

news/2025/12/4 16:48:00/文章来源:https://www.cnblogs.com/longkui-site/p/19308334

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

查看全文:IDEA(2020版)sevlet+session模拟用户登录 – 每天进步一点点

-


【任务目标】

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

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

源代码下载(访问密码: 6429):https://url47.ctfile.com/f/64055047-1497444695-231929?p=6429

1.创建实体类

右击entity文件夹,选择New—>Java Class,名字为User

代码参考如下:

package cn.itcast.session.entity;public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}
2.创建Servlet

右击Servlet,选择New—>Create New Servlet,名字为IndexServlet

IndexServlet.java参考代码如下:

package cn.itcast.session.servlet;
import cn.itcast.session.entity.User;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.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;
import cn.itcast.session.entity.User;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.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;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.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


 

 

查看全文:IDEA(2020版)sevlet+session模拟用户登录 – 每天进步一点点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/987061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IEEE出版 | EI检索 | 往届检索良好】第六届机械自动化与智能制造国际学术会议(MAIM 2025)

2025年第六届机械自动化与智能制造国际学术会议(MAIM 2025) 计划2025年12月19-21日在中国上海隆重举行。【上海理工大学主办、高录用,本会议被“中国学术会议在线”收录、认可,并作重点推荐!】 第六届机械自动化与智…

2025年12月北京小程序开发公司排名,基于客户复购率的3家优质服务商盘点,活动小程序/工单小程序/寺庙小程序/律所小程序定制小程序开发公司推荐

在数字化转型加速推进的当下,小程序已成为企业连接用户、拓展业务边界的核心载体,北京作为科技创新与企业集聚高地,小程序开发服务市场竞争愈发激烈。面对海量服务商,企业在选型时往往陷入迷茫,而客户复购率作为衡…

2025 年足浴系统软件公司最新推荐榜,聚焦厂商技术实力与市场口碑深度解析足浴收银系统/足疗收银系统/足浴店管理系统/,足浴店收银系统/足疗店收银系统/足浴门店管理系统软件公司推荐

引言 在大健康养生行业持续发展的背景下,足浴门店对信息化管理系统的需求愈发迫切。为精准筛选优质足浴系统厂商,本次推荐榜参照行业协会最新测评标准,从技术研发能力、产品适配性、售后服务覆盖度、客户满意度四大…

2025年12月微信小程序定制开发公司哪家靠谱,全国精选3家+北京本地服务商优先选,物业小程序/社区小程序/商城小程序/硬件小程序/电商小程序/投票小程序多领域全覆盖小程序开发公司推荐

随着数字化转型的持续深入,微信小程序凭借微信生态的庞大用户基数与“即用即走”的便捷特性,已成为企业搭建线上服务入口、沉淀私域流量、优化业务流程的核心载体。2025年,小程序定制开发需求进一步升级,企业对开发…

C 盘瘦身必备:用 mklink 搬移插件和缓存

Windows 上使用 mklink 创建符号链接(Symlink)指南 在 Windows 上,mklink 可以创建符号链接(symlink),让软件认为目录还在原来的位置, 但实际内容可以放到别的盘,特别适合搬插件、缓存等大文件夹,释放 C 盘空…

Oxygen Forensic Detective 18.1 发布,新增功能简介

Oxygen Forensic Detective 18.1 发布,新增功能简介Oxygen Forensic Detective 18.1 Windows Multilingual - 领先的一体化数字取证软件 digital forensic software 请访问原文链接:https://sysin.org/blog/oxygen-f…

2025 年高精度分析仪厂家最新推荐排行榜:覆盖氢分析仪氧分析仪等多品类,综合技术服务口碑筛选优质品牌微量水分析仪/氯气微量水分析仪/防爆分析仪公司推荐

引言 在工业生产、能源化工、电力环保等关键领域,分析仪作为数据监测与质量把控的核心设备,其精度、稳定性与适配性直接影响生产效率、安全合规及成本控制。本次榜单由行业权威协会指导测评,结合协会发布的《工业分…

2025年12月成都优质律所推荐:知名股权,房产,合同纠纷,遗产纠纷,房屋买卖,婚姻律师事务所深耕专业破局法律难题

随着经济社会的发展,各类法律纠纷的复杂性日益提升,个人与企业对专业法律服务的需求愈发迫切。在成都这座法律服务机构密集的城市,如何精准筛选出专业可靠的律师事务所,成为许多人面临的核心困惑。本文基于司法行政…

2025年12月北京小程序定制开发公司怎么选,4大避坑要点+实地考察攻略,含抖音小程序/微信小程序/支付宝小程序多平台小程序开发公司推荐

在数字化转型持续深化的2025年,小程序凭借轻量化、高触达、强转化的优势,已成为企业链接用户、拓展业务的核心载体。北京作为科技企业集聚地,小程序定制开发市场呈现出百花齐放的态势,但同时也混杂着各类资质参差不…

2025 年足浴软件最新推荐榜,聚焦技术实力与市场口碑深度解析足浴管理软件/足疗管理软件/足疗收银软件公司推荐

引言 随着大健康养生行业数字化转型加速,足浴门店对专业化管理软件的需求呈爆发式增长。据行业协会最新测评数据显示,2024 年足浴软件市场渗透率已达 78%,但产品合格率仅为 62%,技术架构落后、服务响应迟缓等问题仍…

2025年灌浆料厂家推荐榜:无收缩/高强无收缩/水泥基/自流平/支座/灌浆料/试块,耐牛以质筑基,守护建筑安全

2025年灌浆料行业迎来品质升级浪潮,全球市场规模突破450亿元的背后,是基础设施改造与新能源项目的强劲需求。灌浆料作为建筑结构的"筋骨",其强度、稳定性直接决定工程安全,为此我们筛选出三家兼具实力与…

2025年国内头部CTU货架厂商推荐榜单,重载货架/仓库存储货架/钢制货架/立体货架/悬臂货架/牛脚式货架/CTU货架产品口碑推荐

随着智能仓储与柔性物流的快速发展,CTU(料箱搬运机器人)货架作为支撑自动化存取系统的核心物理载体,其重要性日益凸显。一个适配性高、稳定可靠的CTU货架系统,是保障机器人高效、精准作业的基础。面对市场上众多的…

2025年取材台推荐榜:病理/U字型/不锈钢/不锈钢自动升降/智能不锈钢下排风/取材台匠心之选赋能高效作业,北京中宝元五星领跑

在科研实验、材料检测等领域,取材台作为保障样品质量的核心设备,其精度、耐用性与场景适配性直接影响作业效率。结合产品品质、用户反馈与技术创新,2025年优质取材台品牌榜单新鲜出炉,为行业选择提供实用参考。 北…

2025年商超照明品牌推荐榜:商超照明/灯具/灯光供应商光效赋能消费,富明阳引领,这些品牌照亮零售新空间

商超照明绝非简单的“点亮空间”,而是通过光效调控商品质感、优化购物体验的“隐形推销员”。2025年,一批深耕商超照明领域的企业凭借技术创新与场景适配能力脱颖而出,为零售行业提供专业解决方案。以下这份推荐榜,…

我们客服系统的两个版本:编译版与源码版,到底该怎么选?

大家好!今天我想详细介绍一下我们客服系统的两种版本——编译版和源码版。很多开发者,特别是PHP背景的朋友,可能会对这两个概念有些困惑,让我来为大家详细解释一下。 vx: llike620 gofly.v1kf.com 两个版本的核心…

植物大战僵尸杂交版下载安装教程(PC/安卓/iOS 全平台详解 常见问题解决)

《植物大战僵尸杂交版》是一款深受玩家喜爱的二创塔防版本,具备植物融合、随机盲盒、高难度关卡等创新玩法。本文提供 PC、安卓、iOS 的全平台下载安装教程,包含详细步骤、运行环境准备、常见问题排查(如打不开、白…

2025年12月新沂排水沟、排水槽、U型槽、盖板厂家top5 推荐榜单

摘要 2025年12月,江苏及新沂地区的排水沟行业随着城市化建设和环保需求的提升,呈现出快速增长趋势。本文基于市场调研和用户反馈,整理了新沂排水沟品牌的前五推荐榜单,排名不分先后,旨在为读者提供参考。榜单中的…

2025年优质锂电池公司推荐及高端锂电池供应厂家分析

在当今快速发展的市场中,选择合适的聚合物锂电池销售厂家显得尤为关键。为了帮助您更好地决策,本文将着重分析当前市场上表现优异的锂电池公司。 许多高端锂电池生产厂家以其独特的技术优势和优质服务脱颖而出。产品…

IDEA+mybatis实现基于MyBatis注解的学生管理程序

IDEA+mybatis实现基于MyBatis注解的学生管理程序查看原文:IDEA+mybatis实现基于MyBatis注解的学生管理程序 – 每天进步一点点本文主要实现《Java EE企业级应用开发教程(Spring+SpringMVC+Mybatis)》第2版中的第5章…

中国制造业叶轮加工领域十大标杆企业排名

这份榜单源于 127 家企业的实地调研,依托《中国机械加工行业白皮书 2024》评价体系,经中金企信权威验证,从五重维度筛选真强者:一、问题:当叶轮成为中国制造的 “精度枷锁” 在航空发动机的轰鸣里,在风电叶片的旋…