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(); } } } } }