JAVAEE_Servlet_20_登录注册功能

实现登录注册功能

  • 注册功能

    
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import java.io.IOException;
          import java.io.PrintWriter;
          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.PreparedStatement;
          import java.sql.SQLException;
    
          public class RegisterServlet extends HttpServlet {
              @Override
              protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                  //解决中文乱码问题
                  request.setCharacterEncoding("UTF-8");
    
                  //获取表单数据
                  String userName=request.getParameter("username");
                  String userEmail=request.getParameter("email");
                  String userPwd=request.getParameter("password");
    
                  //创建数据库连接对象
                  Connection connection=null;
                  PreparedStatement preparedStatement=null;
    
                  try {
                      // 连接数据库
                      Class.forName("com.mysql.cj.jdbc.Driver");
    
                      // 获取连接
                      connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
                              "root","123456");
    
                      // 获取预编译数据库操作对象
                      String sql="insert into t_userInfo(username,email,userpwd)values(?,?,?)";
                      preparedStatement=connection.prepareStatement(sql);
    
                      //给预编译数据库操作对象插入值
                      preparedStatement.setString(1,userName);
                      preparedStatement.setString(2,userEmail);
                      preparedStatement.setString(3,userPwd);
    
                      //执行SQL语句
                      int count=preparedStatement.executeUpdate();
    
                      // 显示执行结果
                      if(count!=0){
                          //跳转
                          response.sendRedirect("/myWeb/RegisterSuccess.html");
                      }
    
                  } catch (ClassNotFoundException | SQLException e) {
                      e.printStackTrace();
                  }finally {
                      //释放资源
                      if(preparedStatement!=null){
                          try {
                              preparedStatement.close();
                          } catch (SQLException e) {
                              e.printStackTrace();
                          }
                      }
    
                      if(connection!=null){
                          try {
                              connection.close();
                          } catch (SQLException e) {
                              e.printStackTrace();
                          }
                      }
                  }
              }
          }
    
    
    
  • 登录功能

    
    
       import javax.servlet.ServletException;
       import javax.servlet.http.HttpServlet;
       import javax.servlet.http.HttpServletRequest;
       import javax.servlet.http.HttpServletResponse;
       import java.io.IOException;
       import java.io.PrintWriter;
       import java.sql.*;
    
       public class LoginServlet extends HttpServlet {
           @Override
           protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
               //解决中文乱码问题
               request.setCharacterEncoding("UTF-8");
    
               //获取用户提交的表单数据
                 String userEmail=request.getParameter("email");
                 String userPwd=request.getParameter("password");
               //创建数据库连接对象
               Connection connection=null;
               PreparedStatement preparedStatement=null;
               ResultSet resultSet=null;
    
               try {
    
                   // 连接数据库
                   Class.forName("com.mysql.cj.jdbc.Driver");
    
                   // 获取连接
                   connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
                           "root","123456");
    
                   // 获取预编译数据库操作对象
                   String sql="select email,userpwd from t_userInfo where email=? and userpwd=?";
                   preparedStatement=connection.prepareStatement(sql);
    
                   //给预编译语句传参
                   preparedStatement.setString(1,userEmail);
                   preparedStatement.setString(2,userPwd);
    
                   //执行SQL语句
                   resultSet=preparedStatement.executeQuery();
    
                   //处理查询结果集
                   response.setContentType("text/html;charset=UTF-8");
                   PrintWriter out=response.getWriter();
                   //HTML代码
                   out.print("          <!DOCTYPE html>");
                   out.print("<meta http-equiv=\"content-type\" content=\"text/html\" charset=\"utf-8\"/> ");
                   out.print("  <head>");
                   out.print("      <meta charset='UTF-8'>");
                   out.print("      <title>用户信息</title>");
                   out.print("  </head>");
                   out.print("     <body>");
                   out.print("          <h3 align='center'>用户信息表</h3>");
                   out.print("          <hr width='60%'>");
                   out.print("          <table border='1' align='center' width='50%'>");
                   out.print("              <tr align='center'>");
                   out.print("                  <th>序号</th>");
                   out.print("                  <th>用户邮箱</th>");
                   out.print("                  <th>用户密码</th>");
                   out.print("              </tr>");
                   int i=1;
                   while(resultSet.next()){
                       String email=resultSet.getString("email");
                       String pwd=resultSet.getString("userpwd");
                       out.print("              <tr align='center'>");
                       out.print("                  <th>"+(i++)+"</th>");
                       out.print("                  <th>"+email+"</th>");
                       out.print("                  <th>"+pwd+"</th>");
                       out.print("              </tr>");
                   }
    
                   out.print("          </table>");
                   out.print("    </body>");
                   out.print("  </html>");
    
    
               } catch (ClassNotFoundException | SQLException e) {
                   e.printStackTrace();
               }finally {
    
                   //释放资源
                   if(resultSet!=null){
                       try {
                           resultSet.close();
                       } catch (SQLException e) {
                           e.printStackTrace();
                       }
                   }
                   if(preparedStatement!=null){
                       try {
                           preparedStatement.close();
                       } catch (SQLException e) {
                           e.printStackTrace();
                       }
                   }
    
                   if(connection!=null){
                       try {
                           connection.close();
                       } catch (SQLException e) {
                           e.printStackTrace();
                       }
                   }
               }
    
    
           }
       }
    
    
     
    
posted @ 2021-04-23 14:04  失昼  阅读(267)  评论(0)    收藏  举报