使用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 运行测试

注册成功后,提示如下:

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


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

下载mysql-connector-java-5.1.40.jar

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码