2021-04-21 08:34  阅读(118)
文章分类:Servlet 简单教程 文章标签:Servlet
©  原文作者:一点教程 原文地址:http://www.yiidian.com/servlet/

本文将学习如何在Servlet中完成用户的表单注册。本文使用的数据库是MySQL5.7。

出于简化程序的目的,我们在Servlet中混合了数据库逻辑。实际开发中,应该划分实体,Dao等元素。

1 创建表

在MySQL的test数据库建立t_user表:

    
    CREATE TABLE `t_user` (
       `id` int(11) NOT NULL AUTO_INCREMENT,
       `username` varchar(50) DEFAULT NULL,
       `password` varchar(50) DEFAULT NULL,
       PRIMARY KEY (`id`)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8

2 编写注册页面

register.jsp:

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>一点教程网-使用Servlet完成用户注册</title>
    </head>
    <body>
    <h1>使用Servlet完成用户注册</h1>
    <form action="Register" method="post">
    
        用户名:<input type="text" name="userName"/><br/><br/>
        密码:<input type="password" name="userPass"/><br/><br/>
        <br/>
        <input type="submit" value="注册"/>
    
    </form>
    </body>
    </html>

3 编写RegisterServlet

RegisterServlet用于获取用户输入的信息,保存到用户表中:

    
    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;
    
    /**
     * 一点教程网 - http://www.yiidian.com
     */
    public class RegisterServlet extends HttpServlet {
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
    
            String n=request.getParameter("userName");
            String p=request.getParameter("userPass");
    
            try{
                Class.forName("com.mysql.jdbc.Driver");
                Connection con= DriverManager.getConnection(
                        "jdbc:mysql://localhost:3306/test","root","root");
    
                PreparedStatement ps=con.prepareStatement(
                        "insert into t_user(username,password) values(?,?)");
    
                ps.setString(1,n);
                ps.setString(2,p);
    
                int i=ps.executeUpdate();
                if(i>0)
                    out.print("你已经成功注册...");
    
    
            }catch (Exception e2) {
                System.out.println(e2);
            }
    
            out.close();
        }
    
    }
    

4 配置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_3_1.xsd"
             version="3.1">
    
        <servlet>
            <servlet-name>RegisterServlet</servlet-name>
            <servlet-class>RegisterServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>RegisterServlet</servlet-name>
            <url-pattern>/Register</url-pattern>
        </servlet-mapping>
    
    </web-app>

5 运行测试

20210421083117_1.png

注册成功后,提示如下:

20210421083113_2.png

查询数据库表,记录是否成功插入:

2021042108317_3.png


本案例需要在lib目录导入mysql驱动程序,点击下面链接下载:

下载mysql-connector-java-5.1.40.jar

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 使用Servlet完成用户注册
上一篇
使用Servlet完成分页
下一篇
使用Servlet完成用户登录