手把手教你学javaweb(三)登录和退出功能开发 |
您所在的位置:网站首页 › 头条登录后怎么退出 › 手把手教你学javaweb(三)登录和退出功能开发 |
javaweb项目登录退出功能的开发
登录功能我们一步一步深入javaweb开发,此处就只讲登录和退出的servlet和jsp层面的处理逻辑,并不涉及持久层数据库的处理。 新增index.jsp 并 编写登录的form表单 代码如下 Insert title here 用户登录 ${msg} 用户名: 密码:其中 msg是用来回显错误提示信息的 新增登录成功后的页面 home.jsp 代码如下 Insert title here![]() 这里引入了一个小的图片,在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![]() 编写 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 |