servlet_15 数据库访问

本实例中我们需要把 mysql-connector-java-5.1.39-bin.jar 拷贝到 tomcat 下 lib 目录


Servlet 数据库访问实例:

package MyServlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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.*;

/**
 * Created by 1192126986 on 2017/1/19.
 */
@WebServlet(name = "DataBaseAccess")
public class DataBaseAccess extends HttpServlet {
    //JDBC驱动名和数据库url
    static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
    static final String DB_URL="jdbc:mysql://localhost:3306/runoob2";
    //用户名和密码
    static final String user="root";
    static final String pass="123456";



    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Connection connection = null;
        Statement statement = null;

        // 设置响应内容类型
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String title = "Servlet Mysql 测试 - 菜鸟教程";
        String docType = "<!DOCTYPE html>\n";
        out.println(docType +
                "<html>\n" +
                "<head><title>" + title + "</title></head>\n" +
                "<body bgcolor=\"#f0f0f0\">\n" +
                "<h1 align=\"center\">" + title + "</h1>\n");

        try {
            //注册JDBC驱动器
            Class.forName(JDBC_DRIVER);
            //获取数据库链接对象
            connection = DriverManager.getConnection(DB_URL, user, pass);
            //创建数据库语句执行对象
            statement = connection.createStatement();
            //定义数据库SQL语句
            String sql = "SELECT id,name,url FROM websites";
            //执行sql语句,返回结果集
            ResultSet res = statement.executeQuery(sql);

            while (res.next()) {//遍历结果集
                //获取结果集的id,name和url
                int id = res.getInt("id");
                String name = res.getString("name");
                String url = res.getString("url");

                out.println("ID:" + id);
                out.println("站点名称:" + name);
                out.println("站点url:" + url);
                out.println("<br/>");
            }
            out.println("</body></html>");
            //关闭
            res.close();
            statement.close();
            connection.close();

        } catch (SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();

        }finally{
            // 最后是用于关闭资源的块
            try{
                if(statement!=null)
                    statement.close();
            }catch(SQLException se2){
            }
            try{
                if(connection!=null)
                    connection.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值