手把手教你学javaweb(三)登录和退出功能开发

您所在的位置:网站首页 头条登录后怎么退出 手把手教你学javaweb(三)登录和退出功能开发

手把手教你学javaweb(三)登录和退出功能开发

2024-07-12 12:52| 来源: 网络整理| 查看: 265

javaweb项目登录退出功能的开发

登录功能

我们一步一步深入javaweb开发,此处就只讲登录和退出的servlet和jsp层面的处理逻辑,并不涉及持久层数据库的处理。

新增index.jsp 并 编写登录的form表单

代码如下

Insert title here 用户登录 ${msg} 用户名: 密码:

其中 msg是用来回显错误提示信息的

新增登录成功后的页面 home.jsp

代码如下

Insert title here :${userName} 欢迎进入IT技术学习系统

这里引入了一个小的图片,在webapp目录下新增/static/img目录,并将userinfo.jpg放入目录中

编写 转向index.jsp页面的servlet

package com.cgy.demos.web.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class IndexServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req,resp); } }

编写处理登录的LoginServlet

package com.cgy.demos.web.servlet; import org.apache.commons.lang3.StringUtils; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String userName = req.getParameter("userName"); String password = req.getParameter("password"); if (StringUtils.isBlank(password)) { req.setAttribute("msg", "密码不能为空"); req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp); return; } if (StringUtils.isBlank(userName)) { req.setAttribute("msg", "用户名不能为空"); req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp); return; } if (!userName.equals("admin")) { req.setAttribute("msg", "用户名不正确"); req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp); return; } if (!password.equals("123456")) { req.setAttribute("msg", "密码不正确"); req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp); return; } req.getSession().setAttribute("userName", userName); req.getRequestDispatcher("/WEB-INF/home.jsp").forward(req, resp); return; } }

这里我们在servlet中写死用户名 admin 和密码123456 后续使用到jdbc的时候 再建表存入这些数据

登录成功后,将用户名 存入 session中,

将新写的servlet 配置到web.xml中

indexServlet com.cgy.demos.web.servlet.IndexServlet indexServlet /index loginServlet com.cgy.demos.web.servlet.LoginServlet loginServlet /login

启动项目 并测试功能

在这里插入图片描述

故意输入错密码

在这里插入图片描述

登录成功后页面

在这里插入图片描述

我们的小图片也展示出来了

退出功能

在home.jsp页面新增 退出表单

代码如下

Insert title here :${userName} 欢迎进入IT技术学习系统

编写 LogoutServlet

package com.cgy.demos.web.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class LogoutServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getSession().removeAttribute("userName"); req.getRequestDispatcher("/WEB-INF/index.jsp").forward(req,resp); } }

退出登录 将登录时放入session中的userName 数据清除,并转向到index.jsp

在web.xml中配置新的servlet

logoutServlet com.cgy.demos.web.servlet.LogoutServlet logoutServlet /logout

启动项目并测试功能

在这里插入图片描述

点击退出登录 后跳转至登录页

在这里插入图片描述

下一节,我们讲解在登录页添加验证码



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3