JSP+servlet实现登录与注册功能

您所在的位置:网站首页 使用jsp不能实现数据库的分页浏览吗对吗 JSP+servlet实现登录与注册功能

JSP+servlet实现登录与注册功能

2024-07-15 02:01| 来源: 网络整理| 查看: 265

这学期上课教了JSP,其实是很抵触学这个东西的,毕竟是一个已经被淘汰的技术,但是学了一点html的东西和一些前端的思想还是不错的。期末的时候要求通过servlet写一个登录和注册的功能。

思路:

首先注册信息,然后登录检测是否与已经注册过的信息匹配,若匹配就登录成功,不匹配就登录失败。所以需要登录页面、注册页面、登录成功页面、登录失败页面servlet其实就是一个实现了Servlet接口的java代码程序,在服务器端运行,实现http请求和响应与客户端进行交互,在这个功能中使用servlet进行注册信息的记录和登录信息的匹配使用一个User类来存每一个用户注册的信息,在servlet中用vector存若干个User类的对象,每注册一个信息就添加一个新对象,匹配时遍历所有的对象一一进行匹配

难点:

原本想使用两个servlet一个负责匹配登录,一个负责注册,注册完后把注册的信息再传给负责匹配的servlet的用户信息Vector中,两个servlet之间传数据要用到request.setAttribute和request.getAttribute方法,或者使用request.getSession获得一个session来存数据,弄了半天之后发现这样太麻烦还不如直接用一个servlet来处理这两个事情。在选择servlet执行哪个功能时,用一个if判断这个请求来自哪一个页面,要使用request.getHeader(“Referer”)方法就能得到request来源页面的地址从servlet向jsp页面传数据不能用session得不到值,要用request.setAttribute(“success”, nowUser); request.getRequestDispatcher(“Success.jsp”).forward(request, response);

完整代码如下: 登录页面 在这里插入图片描述

登录界面 用户名 密码 注册

登录失败页面 在这里插入图片描述

登录失败 用户名或密码错误 重新登录 ```java

注册页面 在这里插入图片描述

注册页面 用户名 密码 取消

登录成功页面 在这里插入图片描述

登录成功 登陆成功,欢迎你, 退出

servlet

package com; import java.io.IOException; import java.io.PrintWriter; import java.util.Vector; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginServlet extends HttpServlet { Vector users = new Vector() ; //存多个用户注册信息 public LoginServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response) ; } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(request.getHeader("Referer").equals("http://localhost:8080/Login/register.jsp")) //请求来源是注册 register(request, response) ; //注册函数 else if(request.getHeader("Referer").equals("http://localhost:8080/Login/index.jsp")){ //请求来源是登录 check(request, response) ; //登录函数 } } public void init() throws ServletException { super.init(); } public void register(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8") ; //注册前先设置编码格式 String userName = request.getParameter("user") ; String password = request.getParameter("password") ; Users newUser = new Users(userName, password) ; //创建新的用户信息 users.add(newUser) ; //将新用户添加进vector response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(" A Servlet"); out.println(" "); out.print("注册成功"); out.println(" "); out.println(""); out.flush(); out.close(); } public void check(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8") ; //登录前设置编码格式不然识别不出中文 String nowUser = request.getParameter("user") ; String nowPassword = request.getParameter("password") ; Users check ; boolean flag = true ; //记录是否匹配成功 for(int i=0; i


【本文地址】


今日新闻


推荐新闻


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