• JSP简单访问数据库


    Java代码

    public class DBHelper {

    private String driverName;

    private String url;

    private String user;

    private String password;

    private Connection connection;

    private String createTableSql;

    private String dropTableSql;

    public void getConnection() {

    if (null == connection) {

    try {

    Class.forName(driverName);

    connection = DriverManager.getConnection(url, user, password);

    } catch (ClassNotFoundException | SQLException e) {

    e.printStackTrace();

    }

    }

    }

    public void closeConnection() {

    if (null != connection) {

    try {

    connection.close();

    connection = null; //connection.close won't set the connection to be null

    System.out.println("closed db connection.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    }

    public void createTable() {

    getConnection();

    Statement stmt = null;

    try {

    stmt = connection.createStatement();

    stmt.execute(createTableSql);

    System.out.println("Executed sql [" + createTableSql + "] success.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    closeConnection();

    }

    public void dropTable() {

    getConnection();

    Statement stmt = null;

    try {

    stmt = connection.createStatement();

    stmt.execute(dropTableSql);

    System.out.println("Executed sql [" + dropTableSql + "] success.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    closeConnection();

    }

    public String getDriverName() {

    return driverName;

    }

    public void setDriverName(String driverName) {

    this.driverName = driverName;

    }

    public String getUrl() {

    return url;

    }

    public void setUrl(String url) {

    this.url = url;

    }

    public String getUser() {

    return user;

    }

    public void setUser(String user) {

    this.user = user;

    }

    public String getPassword() {

    return password;

    }

    public void setPassword(String password) {

    this.password = password;

    }

    public String getCreateTableSql() {

    return createTableSql;

    }

    public void setCreateTableSql(String createTableSql) {

    this.createTableSql = createTableSql;

    }

    public String getDropTableSql() {

    return dropTableSql;

    }

    public void setDropTableSql(String dropTableSql) {

    this.dropTableSql = dropTableSql;

    }

    }

      Java代码

    <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Test connecting mysql db</title>

    </head>

    <body>

    <jsp:useBean id="dbHelper" class="com.jesse.jsp.bean.DBHelper" />

    <jsp:setProperty property="driverName" name="dbHelper" value="com.mysql.jdbc.Driver"/>

    <jsp:setProperty property="url" name="dbHelper" value="jdbc:mysql://192.168.1.104:3306/db_jesse?useUnicode=true&characterEncoding=GBK"/>

    <jsp:setProperty property="user" name="dbHelper" value="jesse"/>

    <jsp:setProperty property="password" name="dbHelper" value="jesse"/>

    <jsp:setProperty property="createTableSql" name="dbHelper" value="create table test_tbl(id int)"/>

    <jsp:setProperty property="dropTableSql" name="dbHelper" value="drop table test_tbl"/>

    <%!

    private int id = 0;

    %>

    <%

    System.out.println(this); //to check if the servlet is singleton

    id++;

    synchronized(com.jesse.jsp.bean.DBHelper.class) {

    dbHelper.createTable();

    System.out.println(id + " created the table.");

    Thread.sleep(5000);

    dbHelper.dropTable();

    System.out.println(id + " dropped the table.");

    }

    %>

    </body>

    </html>

      Java代码

    org.apache.jsp.pages.mysql_jsp@567e0fb8

    Executed sql [create table test_tbl(id int)] success.

    closed db connection.

    1 created the table.

    org.apache.jsp.pages.mysql_jsp@567e0fb8

    Executed sql [drop table test_tbl] success.

    closed db connection.

    2 dropped the table.

    Executed sql [create table test_tbl(id int)] success.

    closed db connection.

    2 created the table.

    Executed sql [drop table test_tbl] success.

    closed db connection.

    2 dropped the table.

      Note:本意是要让log打印出来是哪个session在执行,看到结果...又长知识了 <%! %> 查了下,觉得这种说法有道理,暂不深究: <%%>是代码段,在由jsp转换成Servlet后 <%%>中的代码是放在serive方法中,相当于doGet()和doPost()方法 <%!%>是

    jsp声明,用来定义属性和方法的,在由jsp转换成Servlet后 <%!%>中的代码是放serive方法之外的.

    技术分享:www.kaige123.com

  • 相关阅读:
    tcpdump分析tcp连接的建立、传输和关闭
    链表排序:冒泡和快排
    linux文件IO操作篇 (一) 非缓冲文件
    linux文件操作篇 (四) 目录操作
    linux文件操作篇 (三) 文件状态和操作属性
    linux文件操作篇 (二) 打开和关闭文件
    linux文件操作篇 (一)文件属性与权限
    linux编程(三)多线程
    linux编程(二)进程
    linux编程(一)文件IO 目录
  • 原文地址:https://www.cnblogs.com/kaige123/p/5898160.html
Copyright © 2020-2023  润新知