`

JSP简单访问数据库

    博客分类:
  • jsp
阅读更多
学习使用javaBean,代码很烂,仅为留个脚印

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;
	}

}


<%@ 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>


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方法之外的
分享到:
评论

相关推荐

    JSP通过JDBC访问数据库

    是一个最简单,也是学习jsp必须会的一个入门实验----通过jdbc连接数据库。 采用jsp+access数据库实现,同时使用javabean通过jdbc连接数据库。运行结果将显示从数据库查询出的图书。里面包含了javabean的源代码及解释...

    jsp连接各种数据库代码及读取数据实例

    jsp 连接各种数据库代码及读取数据实例 在 Web 应用程序中,连接数据库是一个非常重要的步骤,而 JSP 技术正是解决这个问题的利器。本文将详细介绍如何使用 JSP 连接各种数据库,包括 MySQL、Sql Server 7.0/2000、...

    jsp超简单的数据库管理界面

    【标题解析】:“jsp超简单的数据库管理界面”这个标题表明我们将会探讨如何使用JSP(JavaServer Pages)技术创建一个简易的数据库管理界面。在Web开发中,JSP常用于动态网页的生成,通过结合HTML、CSS、JavaScript...

    jsp访问数据库的源代码

    以下是一个简单的JSP访问数据库的示例: ```jsp *" %&gt; String url = "jdbc:mysql://localhost:3306/mydb"; String user = "username"; String password = "password"; try { Connection conn = ...

    jsp 数据库基本操作实验

    在实验中,你可以尝试创建一个简单的表,然后用JSP编写页面来显示数据、添加新记录、更新现有记录和删除记录。这将帮助你掌握JDBC的基本用法和事务管理等概念。 在实际应用中,为了提高代码的可维护性和复用性,...

    简单的jsp+servlet+javaBean访问mysql数据库

    总的来说,这个项目展示了如何利用JSP、Servlet和JavaBean的协同工作来实现对MySQL数据库的访问。这种分层架构使得代码更易于维护和扩展,同时也遵循了MVC(Model-View-Controller)设计模式的思想,即模型处理数据...

    JSP.rar_JSP简单连接数据库_jsp

    1. **JDBC(Java Database Connectivity)**:这是Java平台中用于访问数据库的标准API,提供了与多种数据库交互的能力。在JSP中,我们通常会使用JDBC来建立与数据库的连接,执行SQL语句,并处理返回的结果。 2. **...

    JSP连接数据库和登录数据库代码

    本教程将深入讲解如何使用JSP连接和操作数据库,特别是针对登录功能的实现。 首先,连接数据库的关键在于JDBC(Java Database Connectivity),它是Java平台中用于与各种数据库交互的一套标准API。要使用JDBC,我们...

    第7章_在JSP中使用数据库

    JDBC是Java Database Connectivity的缩写,包含在`java.sql`包中的类和接口,提供了一个标准API来访问数据库。使用JDBC,开发人员可以轻松地向任何兼容的数据库发送SQL语句,而无需针对每个数据库系统编写单独的代码...

    jsp操作xml数据库

    在“bookxml”这个项目中,很可能是通过JSP页面实现了一个简单的图书管理系统,用户可以通过界面提交请求,JSP处理这些请求并操作XML文件。这可能包括搜索书籍、添加新书、删除书籍和更新书籍详情等功能。通过源代码...

    jsp对数据库查找

    * 需要注意数据库的安全性和访问控制 * 需要处理可能出现的异常和错误 jsp 对数据库查找是一种强大和灵活的技术,能够满足各种 Web 应用程序的需求。但是,需要注意相关的安全性和性能问题,并进行适当的优化和调整...

    jsp简单实现数据库操作

    简单实现数据库的链接,数据库的访问,插入,修改,删除

    jsp实例(连接mysql数据库)

    一个简单的DAO类会包含方法如`select()`、`insert()`、`update()`和`delete()`,分别对应数据库的CRUD操作。这样,当数据库更改时,只需修改DAO层,而不影响其他层。 3. **工厂模式**: 工厂模式是一种创建型设计...

    JSP使用ODBC连接Access数据库

    JDBC(Java Database Connectivity)是Java平台上的标准数据库访问接口,它通过驱动程序模型与不同的数据库系统通信。JDBC-ODBC桥是Java早期版本中提供的一种方式,用于连接非Java原生支持的数据库,例如Access。 ...

    JSP连接ACCESS数据库

    在这个例子中,我们将其放在`C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\data`,这个路径取决于你的Tomcat安装位置,确保JSP文件能够正确访问到数据库文件。 然后,编写**JSP文件**以...

    Jsp写入MySQL数据库方法

    3. **Java JDBC (Java Database Connectivity)**:Java访问数据库的标准API,提供了与各种数据库交互的接口。 #### 三、核心代码分析 为了实现JSP向MySQL数据库写入数据的功能,我们需要编写以下几部分代码: 1. ...

    jsp例子 各种数据库访问

    例如,一个简单的JSP页面可能包含以下代码片段,用于显示从数据库中查询的数据: ```jsp *" %&gt; DataSourceBean dsb = new DataSourceBean(); ResultSet rs = dsb.getDataFromDB(); while (rs.next()) { %&gt; ...

    jsp访问sqlserver205数据库

    【JSP 访问 SQL Server 2005 数据库】 在Web开发中,JavaServer Pages(JSP)常用于创建动态网页,而SQL Server 2005是一款功能强大的关系型数据库管理系统。将JSP与SQL Server 2005结合,可以实现Web应用程序与...

    JSP 在线考试系统 数据库是MySQL

    综上所述,JSP在线考试系统利用了JSP的动态网页生成能力,结合MySQL的数据库功能,以及Tomcat的Servlet容器服务,提供了一种便捷、实用的在线考试解决方案。这样的系统对于教育机构而言,既节省了资源,也提高了教学...

    简单的jsp+mysql实现数据库的增删改查

    综上所述,"简单的jsp+mysql实现数据库的增删改查"项目涵盖了Web开发的基本流程,包括用户交互、服务器处理、数据库操作以及权限控制。这样的实践有助于开发者理解Web应用的工作原理,同时为更复杂的系统开发打下...

Global site tag (gtag.js) - Google Analytics