Jsp+Servlet实现简单登录注册查询

本文实例为大家分享了Jsp+Servlet实现简单登录注册查询的具体代码,供大家参考,具体内容如下

1、注册功能:

制作一个注册页面
用户输入:

用户名
密码
年龄
注册成功:——>跳转至登录页面进行登录
注册失败:——>文字或其他形式的提示皆可

2、简易查询:

制作一个查询页面
输入用户名
显示该用户的用户名、密码、年龄

演示

1.启动进入登陆页面

2.点击注册,进入注册页面,成功跳转到登录页面

失败则提示

回到登录页面,登录成功进入查询页面

登录失败显示提示信息

输入用户名->显示该用户的用户名、密码、年龄

代码

dao

  public class UserDao {   private Connection conn = null;   private PreparedStatement ps=null;   private int result=0;   private ResultSet rs=null;     //用户注册   public int register(User user){   String sql="insert into users(name,password,age) value (?,?,?)";   try {   //获取数据库连接对象   conn= JDBCUtil.getConnection();   //获取数据库操作对象   ps=conn.prepareStatement(sql);   ps.setString(1,user.getName());   ps.setString(2,user.getPassword());   ps.setInt(3,user.getAge());   //执行sql   result=ps.executeUpdate();   } catch (Exception e) {   e.printStackTrace();   }finally {   JDBCUtil.close(null,ps,conn);   }   return result;   }     //登录验证用户信息   public int login(String userName,String password){   String sql ="select count(*) from users where name=? and password=?";   try {   conn=JDBCUtil.getConnection();   ps=conn.prepareStatement(sql);   ps.setString(1,userName);   ps.setString(2,password);   rs=ps.executeQuery();   while (rs.next()){   result=rs.getInt("count(*)");   }   } catch (Exception e) {   e.printStackTrace();   } finally {   JDBCUtil.close(rs,ps,conn);   }   return result;   }     //根据用户名 显示用户名、密码、年龄   public User findByName(String userName){   String sql="select name,password,age from users where name=?";   User user = null;   try {   conn=JDBCUtil.getConnection();   ps=conn.prepareStatement(sql);   ps.setString(1,userName);   rs=ps.executeQuery();   while (rs.next()){   String name = rs.getString("name");   String password = rs.getString("password");   int age = rs.getInt("age");   user = new User(name,password,age);   }     } catch (Exception e) {   e.printStackTrace();   }finally {   JDBCUtil.close(null,ps,conn);   }   return user;   }  }

entity 实体类

  public class User {   private int id;   private String name;   private String password;   private int age;  //set...  //get...  //constructor...  }

service

  public class UserServiceImpl implements UserService {   UserDao userDao = new UserDao();   // 注册   @Override   public int register(User user) {   return userDao.register(user);   }   // 登陆   @Override   public int login(String userName, String password) {   return userDao.login(userName,password);   }     // 根据用户名查找信息   @Override   public User findByName(String userName) {   return userDao.findByName(userName);   }  }

servlet

  // FindByNameServlet  public class FindByNameServlet extends HttpServlet {   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   String name = request.getParameter("name");     UserService userService = new UserServiceImpl();   User user = userService.findByName(name);     //将查询结果放入request作用域   request.setAttribute("userInfo",user);   request.getRequestDispatcher("/jsp/index.jsp").forward(request,response);   }  }    // LoginServlet  public class LoginServlet extends HttpServlet {   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   //1 获取   String userName = request.getParameter("userName");   String password = request.getParameter("password");     //2 service调用dao对数据库操作   UserService userService = new UserServiceImpl();   int result = userService.login(userName, password);     //3 成功跳转到查询页面,失败跳转到失败页面   if (result>0){   response.sendRedirect("/jsp/index.jsp");   }else{   response.sendRedirect("/login_error.html");   }   }  }  // RegisterServlet  public class RegisterServlet extends HttpServlet {   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   UserService userService = new UserServiceImpl();   User user = null;   int result = 0;   //1【调用请求对象】读取【请求头】参数信息,得到用户注册信息   String userName, password, age;   userName = request.getParameter("userName");   password = request.getParameter("password");   age = request.getParameter("age");   user = new User(userName, password, Integer.valueOf(age));   //2 调用userService——>userDao   // 先查询用户是否存在   User byName = userService.findByName(userName);   if (byName!=null){   request.setAttribute("info","用户已存在!");   request.getRequestDispatcher("/jsp/register.jsp").forward(request,response);   }   // 注册   result = userService.register(user);     //3 设置编码格式,防止乱码   response.setContentType("text/html;charset=utf-8");   PrintWriter out = response.getWriter();     //注册成功:——>跳转至登录页面进行登录   //注册失败:——>注册页面提示:注册失败   if (result == 1) {   response.sendRedirect("/login.html");   } else {   request.setAttribute("info","注册失败!");   request.getRequestDispatcher("/jsp/register.jsp").forward(request,response);   }   }  }

JDBCUtil

  public class JDBCUtil {   private JDBCUtil(){}   //静态代码块在类加载时执行,并且执行一次。   static{   try {   Class.forName("com.mysql.cj.jdbc.Driver");   } catch (ClassNotFoundException e) {   e.printStackTrace();   }   }   //获取数据库连接对象   public static Connection getConnection() throws Exception{   String url="jdbc:mysql://127.0.0.1:3306/zy?&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true";   String user="root";   String password="rootroot";     return DriverManager.getConnection(url,user,password);   }   /**   *关闭资源   * @param conn 连接对象   * @param ps 数据库操作对象   * @param rs 结果集   */   public static void close(ResultSet rs, Statement ps, Connection conn){   if (rs != null) {   try {   rs.close();   } catch (SQLException e) {   e.printStackTrace();   }   }   if (ps != null) {   try {   ps.close();   } catch (SQLException e) {   e.printStackTrace();   }   }   if (conn != null) {   try {   conn.close();   } catch (SQLException e) {   e.printStackTrace();   }   }   }  }

index.jsp

  <%@ page import="entity.User" %>  <%@ page contentType="text/html;charset=UTF-8" language="java" %>  <html>  <head>   <title>查询页面</title>  </head>  <body>  <div align="center">   <h2/>输入用户名,查询信息   <form action="/findByName" method="get">   <input type="text" name="name" id="name">   <input type="submit" value="查询">   </form>   <%   User userInfo = (User) request.getAttribute("userInfo");   %>   <%   if (userInfo != null) {   %>   <table border="3">   <tr>   <th>用户名</th>   <th>密码</th>   <th>年龄</th>   </tr>   <tr>   <td> &nbsp; &nbsp; <%=userInfo.getName()%> &nbsp; &nbsp;</td>   <td> &nbsp; &nbsp; <%=userInfo.getPassword()%> &nbsp; &nbsp;</td>   <td> &nbsp; &nbsp; <%=userInfo.getAge()%> &nbsp; &nbsp;</td>   </tr>     </table>   <%   }   %>  </div>  </body>  </html>

register.jsp

  <%@ page import="com.mysql.cj.util.StringUtils" %>  <%@ page contentType="text/html;charset=UTF-8" language="java" %>  <html>  <head>   <title>Title</title>  </head>  <body>  <br>  <br>  <%   String info =(String) request.getAttribute("info");  %>  <%   if (!StringUtils.isNullOrEmpty(info)){  %>   <h1 style="color: red;text-align: center" ><%=info%></h1>  <%   }  %>    <div align="center">   <form action="/register" method="post">   <table border="2">   <tr>   <th>用户名</th>   <td><input type="text" name="userName"/></td>   </tr>   <tr>   <th>密码</th>   <td><input type="password" name="password"/></td>   </tr>   <tr>   <th>年龄</th>   <td><input type="text" name="age"/></td>   </tr>   <tr>   <td colspan="2" align="center">    <input type="submit" value="注册"/>    <input type="reset" value="清空"/>   </td>   </tr>   </table>   </form>  </div>  </body>  </html>

web.xml

  <?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"   version="4.0">   <servlet>   <servlet-name>LoginServlet</servlet-name>   <servlet-class>servlet.LoginServlet</servlet-class>   </servlet>   <servlet>   <servlet-name>RegisterServlet</servlet-name>   <servlet-class>servlet.RegisterServlet</servlet-class>   </servlet>   <servlet>   <servlet-name>FindByNameServlet</servlet-name>   <servlet-class>servlet.FindByNameServlet</servlet-class>   </servlet>   <servlet-mapping>   <servlet-name>LoginServlet</servlet-name>   <url-pattern>/login</url-pattern>   </servlet-mapping>   <servlet-mapping>   <servlet-name>RegisterServlet</servlet-name>   <url-pattern>/register</url-pattern>   </servlet-mapping>   <servlet-mapping>   <servlet-name>FindByNameServlet</servlet-name>   <url-pattern>/findByName</url-pattern>   </servlet-mapping>     <!--设置默认欢迎文件规则-->   <welcome-file-list>   <welcome-file>login.html</welcome-file> <!--servlet 作为默认欢迎文件 ‘/'需要去掉-->   </welcome-file-list>  </web-app>

login.html

  <!DOCTYPE html>  <html lang="en">  <head>   <meta charset="UTF-8">   <title>登陆界面</title>  </head>  <body>  <div align="center">   <font size="10px" color="#00008b">用户登录</font>   <form action="/login" method="post">     <table border="2">   <tr>   <th>用户名</th>   <td><input type="text" name="userName"/></td>   </tr>   <tr>   <th>密码</th>   <td><input type="password" name="password"/></td>   </tr>   <tr>   <td colspan="2" align="center">    <input type="submit" value="登录"/>    <input type="reset" />   </td>   </tr>   </table>   </form>   <a href="/jsp/register.jsp" style="text-align: left">立即注册</a>      </div>  </body>  </html>

login_error.html

  <!DOCTYPE html>  <html lang="en">  <head>   <meta charset="UTF-8">   <title>登录验证</title>  </head>  <body>  <div align="center">   <font size="10px" color="#00008b">用户登录</font><br>   <font size="5px" color="red">登录信息不存在,请重新登陆!!!</font>   <form action="/login" method="post">   <table border="2">   <tr>   <th>用户名</th>   <td><input type="text" name="userName" /></td>   </tr>   <tr>   <th>密码</th>   <td><input type="password" name="password" /></td>   </tr>   <tr>   <td colspan="2" align="center">    <input type="submit" value="登录"/>    <input type="reset">     </td>   </tr>   </table>   </form>   <a href="/jsp/register.jsp" style="text-align: left">立即注册</a>    </div>  </body>  </html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Jsp+Servlet实现简单登录注册查询

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论