zoukankan      html  css  js  c++  java
  • servlet增删查改demo(一)注册与登录

    项目结构

    增删查改利用jsp前端页面获取用户在浏览器输入或者操作的数据,利用servlet进行处理,通过jdbc调用数据库,从而完成用户的要求。

    注册:

      userregister.jsp

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="utf-8">
     7 <title>用户注册</title>
     8 </head>
     9 <body>
    10     
    11     <form action="userregister" method="post">
    12             <table align = "center" border="1" style="border-collapse: collapse;">
    13                 <tr>
    14                     <td colspan="2">用户注册</td>
    15                 </tr>
    16                 <tr>
    17                     <td>用户名:</td>
    18                     <td><input type="text" name="userName" /></td>
    19                 </tr>
    20                 <tr>
    21                     <td>密码:</td>
    22                     <td><input type="password" name="userPassword" /></td>
    23                 </tr>
    24                 <tr>
    25                     <td class="tdstyle" colspan="2">
    26                         <input type="submit" value="注册" />
    27                     </td>
    28                 </tr>
    29             </table>
    30     </form>    
    31     
    32 </body>
    33 </html>

    userlogin.jsp

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="ISO-8859-1">
     7 <title>登录页面</title>
     8 </head>
     9 <body>
    10 
    11      <form action="login" method="post">
    12           <p>用户名: <input type="text" name="username" /></p>
    13           <p>&nbsp;&nbsp;&nbsp;&nbsp;码: <input type="password" name="password" /></p>
    14           <input type = "submit" name="login" value ="登录"/>
    15       </form>
    16 
    17 </body>
    18 </html>

    ServletUserRegister.java

     1 package servlet;
     2 
     3 import java.io.IOException;
     4 import java.sql.SQLException;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 import dao.UserDao;
    12 import vo.UserEmp;
    13 
    14 public class ServletUserRegister extends HttpServlet{
    15 
    16     public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
    17         
    18         request.setCharacterEncoding("utf8");
    19         response.setCharacterEncoding("utf8");
    20         
    21         //获取表单中的username,password
    22         String username = request.getParameter("userName");
    23         String password = request.getParameter("userPassword");
    24         
    25         //数据存入VO
    26         UserEmp useremp = new UserEmp();
    27         useremp.setUsername(username);
    28         useremp.setPassword(password);
    29         
    30         //实例化操作数据库对象
    31         UserDao userDao = new UserDao();
    32         //调用增加用户方法
    33         try {
    34             userDao.insert(useremp);
    35         } catch (SQLException e) {
    36             e.printStackTrace();
    37         }
    38         
    39         request.getRequestDispatcher("/userlogin.jsp").forward(request, response);
    40         
    41     }
    42     
    43 }

    从表单中获取用户输入的数据,存储到数据库中,在把页面转发到登录页面。

    ServletUserLogin.java

     1 package servlet;
     2 
     3 import java.io.IOException;
     4 import java.sql.SQLException;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 import dao.UserDao;
    12 import vo.UserEmp;
    13 
    14 public class ServletUserLogin extends HttpServlet {
    15     
    16     @Override
    17     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
    18         
    19         req.setCharacterEncoding("utf8");
    20         resp.setCharacterEncoding("utf8");
    21         
    22         String username = req.getParameter("username");
    23         String password = req.getParameter("password");
    24         
    25         UserEmp userEmp = new UserEmp();
    26         userEmp.setUsername(username);
    27         userEmp.setPassword(password);
    28         
    29         UserDao dao = new UserDao();
    30         
    31         boolean flag = false;
    32         try {
    33             flag = dao.login(userEmp);
    34         } catch (SQLException e) {
    35             e.printStackTrace();
    36         }
    37         
    38         if(flag)
    39             req.getRequestDispatcher("/userlist.jsp").forward(req, resp);
    40         else
    41             req.getRequestDispatcher("/userlogin.jsp").forward(req, resp);
    42         
    43     }
    44     
    45 }

    从浏览器获取用户输入数据,与底层数据库的数据比较,若用户名密码都相等则页面转到list页面,若不同则重新刷新当前登录页面

    UserDao.java

     1 package dao;
     2 
     3 import java.sql.Connection;
     4 import java.sql.PreparedStatement;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8 
     9 import vo.UserEmp;
    10 
    11 public class UserDao {
    12 
    13     public boolean login(UserEmp userEmp) throws SQLException {
    14         
    15         Connection connection = dbmanage.Util.getConnection();
    16         Statement statement = connection.createStatement();
    17         
    18         String sql = "SELECT user_name,user_pawd FROM user_emp ";
    19         ResultSet rs = statement.executeQuery(sql);
    20         
    21         String username = null;
    22         String password = null;
    23         
    24         while(rs.next()) {
    25             username = rs.getString("user_name");
    26             password = rs.getString("user_pawd");
    27             
    28             if(username.equals(userEmp.getUsername()) && password.equals(userEmp.getPassword())) {
    29                 return true;
    30             }
    31             
    32         }
    33         
    34         dbmanage.Util.closeDB(statement, connection, rs);
    35         
    36         return false;
    37     }
    38     
    39     public void delete(UserEmp userEmp) {
    40         
    41     }
    42     
    43     public void update(UserEmp userEmp) {
    44         
    45     }
    46     
    47     public void insert(UserEmp userEmp) throws SQLException {
    48         
    49         Connection connection = dbmanage.Util.getConnection();
    50         
    51         String sql = "INSERT INTO user_emp (user_name,user_pawd) VALUES(?,?)";
    52         
    53         PreparedStatement ps = connection.prepareStatement(sql);
    54         ps.setString(1, userEmp.getUsername());
    55         ps.setString(2, userEmp.getPassword());
    56         
    57         ps.executeUpdate();
    58         
    59         dbmanage.Util.closeDB(ps, connection);
    60         
    61     }
    62     
    63 }

    工具类:调用数据库

    Util.java

     1 package dbmanage;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8 
     9 public class Util {
    10 
    11     private static String driver = "com.mysql.jdbc.Driver";
    12     private static String url = "jdbc:mysql://localhost:3306/my_db?charaterEncoding=utf-8";
    13     private static String username = "root";
    14     private static String password = "123456";
    15     
    16     public static Connection getConnection() throws SQLException {
    17         
    18         Connection con = null;
    19         
    20         try {
    21             Class.forName(driver);
    22             con = DriverManager.getConnection(url, username, password);
    23         } catch (ClassNotFoundException e) {
    24             e.printStackTrace();
    25         }
    26         
    27         return con;
    28         
    29     }
    30     
    31     public static void closeDB(Statement statement,Connection connection,ResultSet resultSet) {
    32         try {
    33             statement.close();
    34             resultSet.close();
    35             connection.close();
    36         } catch (SQLException e) {
    37             e.printStackTrace();
    38         }
    39     }
    40     
    41     public static void closeDB(Statement statement,Connection connection) {
    42         try {
    43             statement.close();
    44             connection.close();
    45         } catch (SQLException e) {
    46             e.printStackTrace();
    47         }
    48     }
    49     
    50 }

    vo:与数据库表对应,通过创建对象把数据存入

    UserEmp.java

     1 package vo;
     2 
     3 public class UserEmp {
     4     
     5     private String username;
     6     private String password;
     7     
     8     public String getUsername() {
     9         return username;
    10     }
    11     public void setUsername(String username) {
    12         this.username = username;
    13     }
    14     public String getPassword() {
    15         return password;
    16     }
    17     public void setPassword(String password) {
    18         this.password = password;
    19     } 
    20     
    21 }

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7       
     8       <!-- 登录 -->
     9       <servlet>
    10           <servlet-name>UserLogin</servlet-name>
    11           <servlet-class>servlet.ServletUserLogin</servlet-class>
    12       </servlet>
    13       <servlet-mapping>
    14           <servlet-name>UserLogin</servlet-name>
    15           <url-pattern>/login</url-pattern>
    16       </servlet-mapping>
    17       
    18       <!-- 注册 -->
    19     <servlet>
    20         <servlet-name>UserRegister</servlet-name>
    21           <servlet-class>servlet.ServletUserRegister</servlet-class>
    22     </servlet>
    23     <servlet-mapping>
    24           <servlet-name>UserRegister</servlet-name>
    25         <url-pattern>/userregister</url-pattern>
    26  </servlet-mapping>
    27         
    28 </web-app>

    项目测试:在浏览器地址栏输入项目下的jsp文件即可访问

  • 相关阅读:
    CF575A Fibonotci [线段树+矩阵快速幂]
    P3768 简单的数学题 [杜教筛,莫比乌斯反演]
    2-SAT 学习笔记
    CF776D The Door Problem [2sat]
    KD-Tree 学习笔记
    Mybatis入门笔记(2)——基于代理Dao实现CRUD
    Mybatis入门笔记(1)——基于原始dao实现CRUD
    mybatis入门看这一篇就够了
    使用JDBC程序的问题总结
    关于递归你知道多少?
  • 原文地址:https://www.cnblogs.com/lsy-lsy/p/10953546.html
Copyright © 2011-2022 走看看