- 浏览: 214795 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
a66756675:
...
tomcat:tomcat的OutOfMemoryError解决 -
ooo456mmm:
说的对,如果用Mina框架来处理,要简单很多了
NIO socket服务器注意的几点. -
long_ltoy:
这样的话,看上去是代替了session,但这不和session ...
在JSP中使用JAVABEAN代替Session -
linzx0212:
关注下,不错……
tomcat:tomcat的OutOfMemoryError解决 -
liudeh_009:
总结得很好
NIO socket服务器注意的几点.
本程序由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!!!”
注释不是太多,希望你能看明白。
发表评论
-
Java字典:如何从程序员升级到架构师.
2012-03-24 23:32 0最近好多同学问学习java ... -
一个Java程序员应该掌握的10项技能
2011-12-08 12:56 9061、语法:必须比较熟 ... -
自定义log4j中的DailyRollingFileAppender
2011-03-11 22:47 4059需求: 日志内容是自定义的。例如,登录信息记录到一个日志文 ... -
google 测试
2010-05-11 16:32 781在Google,测试有一个721的原则:70%的测试工作在底层 ... -
项目测试风险总结
2009-12-01 11:38 993随着项目规模的扩大,项目的复杂性也逐渐增加,在项目中做好风险控 ... -
性能测试总结之性能监控篇
2009-12-01 11:35 1587在性能测试的整个流程当中,监控起着至关重要的作用。因为在性 ... -
如何编写高质量的Java代码
2009-10-14 09:17 1174如何编写高质量的Java代码: 1、 养成良好的习惯及 ... -
一直在用的类注释
2009-10-10 09:17 697/** * @Filename: ${file_na ... -
rapid-framework 连接 oracle时的一个bug
2009-04-28 17:40 2181在连接oracle数据库时报错: Exception ... -
xapool的框架配置
2008-12-17 10:31 2728package juan.orm.datasource.imp ... -
NIO socket服务器注意的几点.
2008-12-06 17:36 4357当你看到这篇文 ... -
jsp分页
2004-06-23 04:26 890******************************* ... -
解决jsp中乱码问题
2004-06-23 04:28 732数据库存储最好用8859_1的格式,所以存入数据库的时候进行一 ... -
使用类文件的数据库连接方法
2004-06-23 04:34 630******************************* ... -
jsp中文显示问题
2004-06-23 04:40 54510:30 2003-11-29 InberGong整理&l ... -
不用数据源直接连sqlserver数据库(jsp,中文)
2004-06-23 04:43 852//////////////整理InberGong10:22 ... -
WINDOWS 2000 环境下JAVA环境配置
2004-06-23 04:44 946//////////////整理InberGong10:22 ... -
Java 学习方法浅谈(http://www.javaeye.com站长Robbin著)
2004-07-01 02:51 678Java本身是一种设计的非 ... -
解决java中文问题的一些资源
2004-07-01 02:54 756解决java中文问题的一些资源 我收集了一些这方面的文章, 希 ... -
JAVA程序桥联数据库
2004-07-02 12:11 804/****************************** ...
相关推荐
【描述】:本文主要探讨了如何利用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. ...