Servlet + mysql

 

package com.hust;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


//@WebServlet("/register1") 

@WebServlet(description = "show the using of different nethod", urlPatterns = { "/register1" }, initParams = {
        @WebInitParam(name = "ProjectName", value = "Levice"),
        @WebInitParam(name = "ServletName", value = "MethodServlet") })

public class TestServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    private final String DB_URL = "jdbc:mysql://localhost:3306/hoyita?&useSSL=true";
    private final String USER = "root";
    private final String PASS = "root";
    
    public TestServlet() {
        super();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Connection conn = null;
        Statement stmt = null;

        String u = req.getParameter("username");
        String p = req.getParameter("passwd");
        System.out.println("--username:" + u);
        System.out.println("--passwd:" + p);

        try {
            // 注册 JDBC 驱动器
            Class.forName("com.mysql.jdbc.Driver");
            // 打开一个连接
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            // 执行 SQL 查询
            stmt = conn.createStatement();
            String sql = "SELECT * FROM users";
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                String username = rs.getString("username");
                String password = rs.getString("password");
                String email = rs.getString("email");
                if (u.equals(username) && p.equals(password)) {
                    System.out.println("user:" + username + ", email:" + email);
                    break;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println(e.getMessage());
        } finally {
            try {
                if (stmt != null) {
                    stmt.close();
                }
            } catch (SQLException e) {
                System.out.println(e.getMessage());
            }

            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                System.out.println(e.getMessage());
            }
        }

        PrintWriter out = resp.getWriter();
        out.println("<HTML><BODY>Hello abc!</BODY></HTML>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }

    @Override
    public void destroy() {
        System.out.println("destroy()");
        super.destroy();
    }

    @Override
    public void init() throws ServletException {
        System.out.println("init()");
        super.init();
    }
}

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

    <form action="register1" method="get">
        <table width="60%" border="1">
            <tr>
                <td>用户名</td>
                <td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="passwd"></td>
            </tr>
            <tr>
                <td>确认密码</td>
                <td><input type="password" name="confirmPwd"></td>
            </tr>
            <tr>
                <td><input type="reset" value="清空"></td>
                <td><input type="submit" value="注册"></td>
            </tr>
        </table>
    </form>
</body>
</html>

配置mysql数据库:

安装mysql后启动mysql服务
设置path 环境变量C:\Program Files\MySQL\MySQL Server 5.5\bin 如果mysql连不上则可能是服务没启动,需要启动该服务

  打开控制面板->管理工具->服务 找到mysql服务并启动

C:\Users\c0>mysql -u root -p
mysql> create database hoyita;
mysql> use hoyita;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> CREATE TABLE users (
  username varchar(20) NOT NULL,
  password varchar(20) NOT NULL,
  email varchar(20) NOT NULL,
  PRIMARY KEY (username)
);
mysql> show tables;
+------------------+
| Tables_in_hoyita |
+------------------+
| users            |
+------------------+
row in set (0.00 sec)
mysql> drop users;
mysql> insert into users(username, password, email) values ("muhe221", "123456", "muhe221@126.com");
Query OK, 1 row affected (0.05 sec)
mysql> select * from users;
+----------+----------+-----------------+
| username | password | email           |
+----------+----------+-----------------+
| muhe221  | 123456   | muhe221@126.com |
+----------+----------+-----------------+
row in set (0.00 sec)

 

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法

必须把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面!
在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。
在web项目中,当Class.forName("om.mysql.jdbc.Driver");时myeclipse是不会去查找字符串,不会去查找驱动的。所以只需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录
驱动下载路径: https://dev.mysql.com/downloads/connector/j/

 

Java使用mysql-jdbc连接MySQL出现如下警告:
  Establishing SSL connection without server's identity verification is not recommended.
在mysql连接字符串url中加入ssl=true或者false即可,如下所示。
  private final String DB_URL = "jdbc:mysql://localhost:3306/hoyita?&useSSL=true";

 

http://blog.csdn.net/jabony/article/details/39338613
==================================================================================
如果不使用@WebServlet 则可以使用web.xml进行servlet映射
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    version="3.1">
    <display-name>FirstBlood</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

    <servlet>
        <display-name>register_test</display-name>
        <servlet-name>register</servlet-name>
        <servlet-class>com.hust.TestServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>register</servlet-name>
        <url-pattern>/register1</url-pattern>
    </servlet-mapping>
</web-app>

https://www.cnblogs.com/dige1993/p/5384957.html
posted @ 2018-01-22 16:46  牧 天  阅读(138)  评论(0)    收藏  举报