- 浏览: 301494 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
tacyuuhon:
这个代码就有问题。当前的 int activeSessions ...
HttpSessionListener统计在线人数 -
yangleilt:
唉。。能通俗的说一下不?你说的这些百科上到处都是的!
LDAP是什么? -
hezhou_0521:
你显示正确了吗?
HttpSessionListener统计在线人数 -
sevk:
我喜欢用vim或gvim,比Ultra Edit 顺手
让Ultra Edit和Keil结合的更紧密
本文以一个完整的JavaBean数据库访问程序简要说明jsp操作数据库。
本程序由3个bean组成,其中WebConstants中定义全局变量,ConnectionManager管理数据库连接,MainBean利用WebConstants和ConnectionManager操作数据库。
首先定义全局变量,如下:
package WebRelease;
public interface WebConstants
{
public static final String driverClass ="driverClass";
const userId is the user id to connect to database
public static final String userId ="comm";
const passWd is the user password to connect to database
public static final String passWd ="comm123";
const url is the url to connect to database
public static final String url="jdbc:oracle:thin:@10.2.0.1:1521:ORCL";
public static final String selectType ="select";
public static final String connection ="connection";
public static final String connError ="conError";
}
接着创建一个数据库连接管理bean,如下:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.WebConstants;
import oracle.jdbc.driver.*;
public class ConnectionManager implements WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
PropertyChangeSupport pcs;
////////////////////////////////////////////////////////////////////////////////
public ConnectionManager()
{
pcs = new PropertyChangeSupport(this);
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void setDebug(String b)
{
debug = b.equals("true");
}
////////////////////////////////////////////////////////////////////////////////
public void addPropertyChangeListener( PropertyChangeListener l)
{
pcs.addPropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void removePropertyChangeListener(PropertyChangeListener l)
{
pcs.removePropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void login()
{
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(Exception e)
{
if(debug) { writer.writeDebug("Error setting driver:"+e.getMessage());}
}
try
{
con = DriverManager.getConnection(url,userId,passWd);
pcs.firePropertyChange(connection,null,con);
if(debug)
{
writer.writeDebug("connection succeded ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
catch(Exception e)
{
pcs.firePropertyChange(connError,null,e);
if(debug)
{
writer.writeDebug("connection failed ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
}
}
在MainBean中,侦听数据库是否连接,如果连接则对数据库进行操作:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.*;
public class MainBean implements PropertyChangeListener ,WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
////////////////////////////////////////////////////////////////////////////////
public MainBean()
{
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void propertyChange(PropertyChangeEvent evt)
{
String prop = evt.getPropertyName();
//see if we got a connection
if(prop.equals(connection))
{//ok so update the local connection
try
{
//make sure it really is a connection
con = (Connection)evt.getNewValue();
}
catch(Exception e)
{
writer.writeDebug("Error connecting to database"+e.getMessage());
}
}
}
////////////////////////////////////////////////////////////////////////////////
public void setConnectionManager(ConnectionManager cm)
{
if(cm != null)
{
// to remove the old listener from cm
// to avoid confusion in the mainbean
cm.removePropertyChangeListener(this);
cm.addPropertyChangeListener(this);
if(debug)
{
writer.writeDebug("MainBean;Set connection manager"+ cm.toString());
}
}
else
{
if(debug)
{
writer.writeDebug("MainBean;Tried to set a null connection manager");
}
}
}
////////////////////////////////////////////////////////////////////////////////
public boolean isConnected()
{
//see if datatabe is connected
return (con != null);
}
////////////////////////////////////////////////////////////////////////////////
public void processQuery()
{
try
{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from hello order by id");
writer.writeDebug("select * from hello order by id");
while(rs.next())
{
writer.writeDebug("next");
String str=rs.getString("name");
writer.writeDebug(str+"   ");
}
rs.close();
}
catch(Exception e)
{
}
}
}
OK,现在我们来测试一下这个程序,创建一个测试页面:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>
hello
</title>
</head>
<body bgcolor="#ffffc0">
<h1>
<jsp:useBean id="main" class="WebRelease.MainBean" scope ="session"/>
<jsp:useBean id="con" class="WebRelease.ConnectionManager" scope ="session"/>
<%
main.setConnectionManager(con);
con.login();
%>
<%
if(main.isConnected())
out.print("mainbean connect success!!!");
main.processQuery();
%>
</h1>
</body>
</html>
在tomcat中浏览这个页面,我们应该可以看到输出“Mainbean connect sucess!!!”
注释不是太多,希望你能看明白。
本程序由3个bean组成,其中WebConstants中定义全局变量,ConnectionManager管理数据库连接,MainBean利用WebConstants和ConnectionManager操作数据库。
首先定义全局变量,如下:
package WebRelease;
public interface WebConstants
{
public static final String driverClass ="driverClass";
const userId is the user id to connect to database
public static final String userId ="comm";
const passWd is the user password to connect to database
public static final String passWd ="comm123";
const url is the url to connect to database
public static final String url="jdbc:oracle:thin:@10.2.0.1:1521:ORCL";
public static final String selectType ="select";
public static final String connection ="connection";
public static final String connError ="conError";
}
接着创建一个数据库连接管理bean,如下:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.WebConstants;
import oracle.jdbc.driver.*;
public class ConnectionManager implements WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
PropertyChangeSupport pcs;
////////////////////////////////////////////////////////////////////////////////
public ConnectionManager()
{
pcs = new PropertyChangeSupport(this);
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void setDebug(String b)
{
debug = b.equals("true");
}
////////////////////////////////////////////////////////////////////////////////
public void addPropertyChangeListener( PropertyChangeListener l)
{
pcs.addPropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void removePropertyChangeListener(PropertyChangeListener l)
{
pcs.removePropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void login()
{
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(Exception e)
{
if(debug) { writer.writeDebug("Error setting driver:"+e.getMessage());}
}
try
{
con = DriverManager.getConnection(url,userId,passWd);
pcs.firePropertyChange(connection,null,con);
if(debug)
{
writer.writeDebug("connection succeded ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
catch(Exception e)
{
pcs.firePropertyChange(connError,null,e);
if(debug)
{
writer.writeDebug("connection failed ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
}
}
在MainBean中,侦听数据库是否连接,如果连接则对数据库进行操作:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.*;
public class MainBean implements PropertyChangeListener ,WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
////////////////////////////////////////////////////////////////////////////////
public MainBean()
{
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void propertyChange(PropertyChangeEvent evt)
{
String prop = evt.getPropertyName();
//see if we got a connection
if(prop.equals(connection))
{//ok so update the local connection
try
{
//make sure it really is a connection
con = (Connection)evt.getNewValue();
}
catch(Exception e)
{
writer.writeDebug("Error connecting to database"+e.getMessage());
}
}
}
////////////////////////////////////////////////////////////////////////////////
public void setConnectionManager(ConnectionManager cm)
{
if(cm != null)
{
// to remove the old listener from cm
// to avoid confusion in the mainbean
cm.removePropertyChangeListener(this);
cm.addPropertyChangeListener(this);
if(debug)
{
writer.writeDebug("MainBean;Set connection manager"+ cm.toString());
}
}
else
{
if(debug)
{
writer.writeDebug("MainBean;Tried to set a null connection manager");
}
}
}
////////////////////////////////////////////////////////////////////////////////
public boolean isConnected()
{
//see if datatabe is connected
return (con != null);
}
////////////////////////////////////////////////////////////////////////////////
public void processQuery()
{
try
{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from hello order by id");
writer.writeDebug("select * from hello order by id");
while(rs.next())
{
writer.writeDebug("next");
String str=rs.getString("name");
writer.writeDebug(str+"   ");
}
rs.close();
}
catch(Exception e)
{
}
}
}
OK,现在我们来测试一下这个程序,创建一个测试页面:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>
hello
</title>
</head>
<body bgcolor="#ffffc0">
<h1>
<jsp:useBean id="main" class="WebRelease.MainBean" scope ="session"/>
<jsp:useBean id="con" class="WebRelease.ConnectionManager" scope ="session"/>
<%
main.setConnectionManager(con);
con.login();
%>
<%
if(main.isConnected())
out.print("mainbean connect success!!!");
main.processQuery();
%>
</h1>
</body>
</html>
在tomcat中浏览这个页面,我们应该可以看到输出“Mainbean connect sucess!!!”
注释不是太多,希望你能看明白。
发表评论
-
JMS
2009-01-15 10:21 906JMS分为两个部分,一部分是应用程序接口,用于编写发送和接收 ... -
Jsp环境配置
2004-06-23 14:02 684第一部分 JAVA环境安装1.目前J2SDK的最新版本是1.4 ... -
jspSmartUpload
2004-06-23 14:16 613//========upload.html========== ... -
第十讲 JSP和Servlet
2004-06-23 17:09 76210.1 Servlet的概念、配置 ... -
第三篇:Servlet入门篇
2004-06-24 07:00 604严重警告:知道Servlet的人不要往下看<o:p> ... -
第五篇:Struts小试牛刀篇
2004-06-24 07:03 694严重警告:如果你跳过了 ... -
Struts,MVC 的实现
2004-06-24 18:43 822简介小学生也可以在因 ... -
Struts简单介绍
2004-06-24 18:44 876Struts是采用Java Servlet/JavaServe ... -
Struts的体系结构
2004-06-24 18:45 808Struts的体系结构(Struts Framework Ar ... -
Jakarta Struts的七大实战心法
2004-06-24 18:48 619编者按:当作者 Chuck Cav ... -
JavaBean使用技巧
2004-06-28 15:16 623虽然你可以把大段 ... -
getParameterValues用法
2004-07-19 22:26 781<form name="checkform&q ... -
HttpSessionListener统计在线人数
2004-08-31 22:01 1274/** * 编写以下SessionCounter.java * ... -
彻底搞定java文件上传
2004-09-28 15:37 1033JAVA的文件上传遍一直是一个比较关注的问题,而且有几个NB东 ... -
JavaBean 设置关联属性
2004-09-28 15:40 641在一个Bean中设置关联属 ... -
jspSmartUpload上传组件
2004-09-28 15:46 697一、安装篇 jspSmartUpload是由www.js ... -
日前和时间的操作
2004-09-29 20:52 638一、JAVA中日期的获取、设置和格式化1)JAVA提供了3个日 ... -
常用的分页函数
2004-10-04 13:47 574方法大致有三种: 1:)用next()方法:(最通用的方法 ... -
用Javamail写的邮件接收程序
2004-10-05 08:59 789package coffeecatwebmail;import ... -
JavaBean用户化
2004-10-05 09:05 635JavaBean开发者可以给一个Bean添加用户化器(Cust ...
相关推荐
【描述】:本文主要探讨了如何利用Oracle提供的JavaBean组件进行数据库的快速开发,通过分析Oracle的JDBC和数据源(DataSource)方法,阐述了JavaBean在数据库操作中的应用。 【标签】:“Oracle 数据库”,“关系...
本篇将深入讲解如何创建一个JavaBean来连接Oracle数据库,并在JSP中使用它。 首先,让我们了解JavaBean的基本概念。JavaBean是一种符合特定规范的Java类,它可以被其他Java组件或应用程序(如JSP页面)用来存储和...
JDBC 提供了一种统一的接口,用于连接各种类型的数据库,例如 MySQL、Oracle、SQL Server 等。 在 JavaBean 中连接数据库的步骤 在 JavaBean 中连接数据库需要遵循以下步骤: 1. 创建 JavaBean:首先,需要创建一...
JavaBean应包含数据库连接的配置信息和执行数据库操作的方法。 - **部署JavaBean**: 将编译后的JavaBean放置于Tomcat的WEB-INF/classes目录下,确保CLASSPATH中包含了JavaBean的位置。 - **调用JavaBean**: 在JSP...
连接oracle数据库的JavaEean
在本项目中,"servlet+javabean+Oracle登录案例"是一个基于Web的简单用户登录系统,利用了Servlet、JavaBean以及Oracle数据库的技术。这个系统的主要目的是展示如何通过Servlet来处理HTTP请求,使用JavaBean作为业务...
本系统采用JSP(JavaServer Pages)作为前端展示,javabean作为业务逻辑处理,Oracle数据库作为数据存储,构建了一个功能完善的在线考试系统。下面将详细介绍这个系统的各个方面。 一、JSP技术 JSP是Java的一种动态...
总结来说,"用jsp+JavaBean+Oracle实现表的增删查改"是一个典型的企业级Web开发场景,它涉及到前端界面设计、后端业务逻辑处理以及数据库操作。熟练掌握这些技能,能帮助开发者构建高效、稳定的Web应用系统。
对于开发者而言,熟悉Oracle数据库操作和JDBC驱动的配置至关重要。通过输入SQL命令验证Oracle的安装和连接,例如查询emp表中的记录。 然后,文章深入讨论了如何在JSP中调用JavaBean,再由JavaBean调用Oracle存储...
系统中的数据存储通常依赖于SQL(结构化查询语言)数据库,如MySQL、Oracle或SQL Server。SQL用于创建、查询、更新和删除数据库中的数据。在这个案例中,开发者可能会设计一个名为“Student”的表,包含学号、姓名、...
【JSP论坛项目】是一个基于Web的互动交流平台,它采用了经典的JSP(JavaServer Pages)、Servlet、JavaBean以及Oracle数据库技术。这个项目是为学习和掌握这些技术的学生或者开发者设计的,旨在提供一个实际操作的...
利用JavaBean连接Oracle数据库,实现对数据库的操作。
【标题】"jsp servlet javabean连接oracle系统"涉及了Web开发中的关键技术,包括JavaServer Pages(JSP)、Servlet以及JavaBean,同时结合了Oracle数据库的使用。这是一个典型的三层架构模型,常用于构建动态、数据...
使用Oracle数据库,开发者可以利用SQL语句进行数据操作,通过JDBC(Java Database Connectivity)接口与Java代码进行通信。 购物车功能是该项目的核心部分,用户可以将心仪的商品加入购物车,系统会持久化这些信息...
管理员管理用户订单时,会执行相应的数据库操作。 4. 前台购物模块: 该模块为用户提供浏览商品、搜索商品、添加到购物车、结算等服务。用户可以通过搜索框输入关键词查找商品,查看商品详情后将其添加到购物车。在...
3. **创建JavaBean**:编写一个名为`MessageBean`的Java类,它包含了对数据库操作的方法,如添加新留言、查询所有留言或根据特定条件查询留言。 4. **JSP页面**:创建多个JSP页面,例如`index.jsp`用于展示留言列表...
JavaBean与Oracle数据库的连接通常涉及加载Oracle JDBC驱动,创建数据库连接,执行SQL语句,处理结果集,然后关闭连接。 5. **数据库操作**: - 在JavaBean中,你可以定义方法来执行CRUD(创建、读取、更新和删除...
本项目以"jsp+javaBean实现的对Oracle数据库的emp表的增,删,改,查"为主题,结合了前端页面和后端逻辑处理,实现了完整的CRUD(创建、读取、更新、删除)操作。下面将详细介绍这个项目涉及的主要知识点: 1. **...
本工具“mysql, sqlserver, Oracle 数据库生成javabean小工具”正是为了解决开发者手动编写javabean时的繁琐工作,它能够自动根据数据库中的表结构生成对应的javabean文件。 1. **数据库连接**: 工具支持三种主流...
2. 书籍管理:包括书籍的添加、删除、修改,以及分类和搜索功能,可能使用了JDBC或ORM框架如Hibernate进行数据库操作。 3. 购物车:实现商品的添加、删除,以及数量调整,涉及会话管理(Session)和状态跟踪。 4. ...