长弓无敌
===========================================================
重新进入了一次windows
===========================================================
很长时间以来,今天早上重新进入了一次windows;由于所里组织50周年庆祝活动,需要拍摄演示系统的几个镜头,只好重新进入Windows。Windows XP启动确实比较快,但是启动后,一堆服务却让人心烦,主要是防火墙和杀毒软件,还有一堆莫名其妙被流氓软件偷偷启动的服务。同时也会到了Debian的美妙与舒心,少了病毒的干扰。我无益攻击Windows,毕竟这么多年以来都是在Windows平台工作和学习,刚转到Linux也不会把老朋友忘得一干二净,呵呵。偶尔有些公文还是要用Word打开,毕竟虚拟Windows和Wine等和真实的Office有所差别。估计什么时候可以不依赖于Windows Office软件,有在线办公软件的话,也就是Windows系统推出桌面垄断地位的开始。
junsheng 发表于:2006.09.08 17:36 ::分类: ( 工作 ) ::阅读:(386次) :: 评论 (2)
===========================================================
Use Emacs
===========================================================

Long time no write blog here, just write in Emacs Wiki; It is a good method to organize personal information! I like Emacs very much, although there are still some properties I can't use, I will try my best to use it with my pleasure.


junsheng 发表于:2006.03.19 20:17 ::分类: ( 工作 ) ::阅读:(633次) :: 评论 (0)
===========================================================
(转载)ASP.NET访问Oracle数据库的方法
===========================================================

引言

Microsoft .NET Framework Data Provider for Oracle(以下简称为.NET for Oracle)是一个.NET Framework的组件。这个组件为我们使用.NET访问Oracle数据库提供了极大的方便。那些使用.NET和Oracle的开发人员,相信会乐的手舞足蹈,因为他们再也不必使用那个并不十分“专业="的OLEDB来访问Oracle数据库了。这个组件的设计非常类似.NET中内置的Microsoft .NET Framework Data Provider for SQL Server和OLEDB。如果读者非常熟悉这两个内置的组件,那么相信您学习这个组件也是轻车熟路的。

 查看全文
junsheng 发表于:2006.02.14 16:43 ::分类: ( 工作 ) ::阅读:(719次) :: 评论 (0)
===========================================================
休息一下
===========================================================
下午整合部分程序,被路径问题弄得头晕眼花;不同度数据库,是否要合到一起,其中有部分是asp.net写的,有部分是Jsp写的;由于时间的限制不可能推倒重来,从而给系统的功能补充带来很多的问题;为了分头进行,需要松散耦合,但是为了整个系统却需要紧密,尽量减去冗余部分,所做一切就是在一对矛盾中取舍。
junsheng 发表于:2006.02.14 16:32 ::分类: ( 工作 ) ::阅读:(2642次) :: 评论 (0)
===========================================================
重新装了系统
===========================================================

刚刚开始正常工作,突然norton冒出病毒提示;上网上下载了一个Nod32杀毒软件,评价还不错;结果原先的CVS不能用了,有些东西还得用;没办法了,卸载吧,结果出问题了;可能破坏了windows的上网部分功能,网上邻居,ping通,但就是无法上网;无奈,重新安装了一下。

以后少折腾杀毒软件,感觉每个杀毒软件本身就是一个病毒,呵呵;弄不好,就是自找麻烦;还是回到常规的软件ZoneAlarm和Norton。


junsheng 发表于:2006.02.10 14:13 ::分类: ( 工作 ) ::阅读:(3342次) :: 评论 (1)
===========================================================
本学年的最后一个星期
===========================================================

昨天和今天是考研的日子。挥手间已经是恍然如梦的四五年时间。人们仍然在忙碌着奋斗着为着各自的目标。19号20号是组内总结的日子,总结会开完也就代表年前工作的结束。

 查看全文
junsheng 发表于:2006.01.15 22:55 ::分类: ( 工作 ) ::阅读:(691次) :: 评论 (0)
===========================================================
今天学习了一下Flash
===========================================================

以前老犯愁,呵呵,因为老觉得自己的艺术修养不够;今天没办法硬着头皮学了一上午,问了一下师弟,好歹也能做点东西了,呵呵,还不错感觉。许多事情做了就是做了,也没有那么复杂,关键就是开始行动。

今年所里可以在1月21日到24日回家,到时候再看了,希望回家时候车不要太拥挤。


junsheng 发表于:2005.12.20 17:31 ::分类: ( 工作 ) ::阅读:(641次) :: 评论 (1)
===========================================================
这两天比较忙
===========================================================

一周的时间遇上两个国际会议,而且我们组都要负责一些具体的事情,早出晚归,所以没有写博客了。中午也没地方休息,呵呵,虽然估计比较累,还是要长胖了,自助餐吃着吃着就会吃多了:)


junsheng 发表于:2005.11.30 10:27 ::分类: ( 工作 ) ::阅读:(689次) :: 评论 (0)
===========================================================
A very good computer science study and research website
===========================================================

Yesterday, I have found a very good A very good computer science study and research website. It teaches us how to study and learn computer science and mathematics. I love it very much!

The URL is http://williamstallings.com/StudentSupport.html

 查看全文
junsheng 发表于:2005.11.25 11:57 ::分类: ( 工作 ) ::阅读:(1423次) :: 评论 (1)
===========================================================
今天发现了个秘密,lala原来是老虎:)
===========================================================

今天晚上无意间发现的。

在几个blog页面都有lala的留言,就是没看过lala的blog,于是输入http://blog.itpub.net/lala, 奇怪的事情出现了,竟然进入了老虎的写字本;刚开始还以为眼花了,重新输入以后还是哪个。

嘿,原先还以为lala是哪位大姐呢,原来是老虎的马甲,^_^


junsheng 发表于:2005.11.04 20:23 ::分类: ( 工作 ) ::阅读:(2785次) :: 评论 (3)
===========================================================
博客网页常用小技巧
===========================================================


1. 将彻底屏蔽鼠标右键
oncontextmenu="window.event.returnValue=false"<table border oncontextmenu=return(false)><td>no</table> 可用于Table

 查看全文
junsheng 发表于:2005.11.04 16:41 ::分类: ( 工作 ) ::阅读:(2944次) :: 评论 (0)
===========================================================
月薪一万的必备条件
===========================================================

前两天看了一篇文章,特此摘录做为笔记。
以目前中国市场薪资给付能力来看,需要具备以下几点能力:
第一个相关专业经验已经具备到管理层级,不仅仅能够自己做好工作,还能管好团队一起来工作,并且有这方面的经验。 查看全文
junsheng 发表于:2005.10.30 12:36 ::分类: ( 工作 ) ::阅读:(1940次) :: 评论 (6)
===========================================================
Some thoughts of the project requiremnt analysis
===========================================================
I don't know the real information of the software companies. I am still a student now. 查看全文
junsheng 发表于:2005.10.21 21:52 ::分类: ( 工作 ) ::阅读:(990次) :: 评论 (0)
===========================================================
Today I am very disappointed and felt very sad.
===========================================================
Today I am very disappointed and felt very sad.
Next weekend, there will be an display for the inspection of Chinese Academy of Sciences. The vice header of CAS will visit our institute. And our group will display two project fruits. 查看全文
junsheng 发表于:2005.10.21 20:57 ::分类: ( 工作 ) ::阅读:(800次) :: 评论 (2)
===========================================================
Java && XML
===========================================================
一个关于Java和XML的程序例子。 查看全文
junsheng 发表于:2005.10.12 17:27 ::分类: ( 工作 ) ::阅读:(886次) :: 评论 (0)
===========================================================
(转载)JSP 网页制作技巧总结
===========================================================
JSP 网页制作技巧总结 查看全文
junsheng 发表于:2005.10.12 17:13 ::分类: ( 工作 ) ::阅读:(1194次) :: 评论 (1)
===========================================================
软件应用的三个例子及启发
===========================================================
实例:
一个寓言-瞎子摸象 很久以前,有几个瞎子想知道大象长得什么样,于是就相约去摸象。摸到鼻子的说大象像一根管子,摸到耳朵的说像一把扇子,摸到牙的说像一根萝卜,摸到象身的说像一堵墙,摸到腿的说像一根柱子,摸到尾巴的说像一条绳子。象到底是什么样,明眼人自然很清楚,但是对于瞎子来说,却不容易明白。
[寓言寓意] 我们认识事物,一定要从多个角度来多方面去考察,才能得到最全面的了解。如果只知道个局部就以为自己已经全明白了,从而片面地看待事物,就不免会闹出瞎子摸象这样的笑话。 查看全文
junsheng 发表于:2005.10.07 16:44 ::分类: ( 工作 ) ::阅读:(802次) :: 评论 (0)
===========================================================
jdom和jdk版本不一致的错误
===========================================================

用Jdom解析XML文件时候出现如下错误:

class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.

 查看全文
junsheng 发表于:2005.09.23 19:07 ::分类: ( 工作 ) ::阅读:(1704次) :: 评论 (0)
===========================================================
Oracle数据库连接类
===========================================================
package DatabaseLink;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; 查看全文
junsheng 发表于:2005.09.22 16:55 ::分类: ( 工作 ) ::阅读:(1161次) :: 评论 (0)
===========================================================
Oracle XML JavaBeans
===========================================================

The Oracle XML JavaBeans are a set of XML components for Java applications or applets that make adding XML support to an application easy. These Java components can be integrated into Oracle JDeveloper to enable developers to create and deploy XML-based database applications quickly. The following beans are provided:

  1. DOMBuilder bean
  2. XSLTransformer bean
  3. DBAccess bean
  4. XMLDBAccess bean
  5. XMLDiff bean
  6. XMLCompress bean

junsheng 发表于:2005.09.22 16:27 ::分类: ( 工作 ) ::阅读:(737次) :: 评论 (0)
===========================================================
Oracle存储XML的几种方法
===========================================================

When mapping XML documents associated with an XML DTD or an XSD to a database schema for the purpose of storing XML in Oracle, three basic strategies exist:

(1) Map the complete XML document as a single, intact object, such as an XMLType CLOB.

(2) Store the data in relational or object-relational tables and create XMLType views over the data to present it as an XML document.

(3) Map XML documents to an Oracle Native XMLType.


junsheng 发表于:2005.09.22 16:26 ::分类: ( 工作 ) ::阅读:(1271次) :: 评论 (8)
===========================================================
Accessing XML with Java Binding(Oracle 10g)
===========================================================
The JAXB APIs create Java source files from an XML Schema to assist in programmatically creating valid document instances from dynamic data. This is useful when you want an application to send an XML message to another application according to an agreed-upon XML Schema, or you want a web form to construct an XML document. You can construct, optionally validate, and print XML documents that comply with the input XML Schema in your Java applications using the generated classes. The JAXB APIs work in conjunction with the Oracle XML Parser for Java, which parses the XML Schema and passes the parsed XML Schema to the JAXB compiler. 查看全文
junsheng 发表于:2005.09.22 12:39 ::分类: ( 工作 ) ::阅读:(1106次) :: 评论 (0)
===========================================================
如何让Tomcat支持中文链接
===========================================================
在使用jsp和tomcat时候,发现Tomcat无法显示中文链接。这怎么办呢?总不能把中文的文件名称都改为英文,那也太麻烦了。后来找到了解决方法,具体如下。 查看全文
junsheng 发表于:2005.09.16 10:49 ::分类: ( 工作 ) ::阅读:(1962次) :: 评论 (2)
===========================================================
tomcat配置web在线后台管理
===========================================================

默认的时候,当我们安装完tomcat后,输入网址:http://localhost:8080/admin/

会提示“TOMCAT web Server Administrator"下面是要输入用户和密码,因为默认的时候是没有管理用户的权限的用户,所以我们要创建一个:

 查看全文
junsheng 发表于:2005.09.16 10:41 ::分类: ( 工作 ) ::阅读:(1414次) :: 评论 (0)
===========================================================
制作可执行的JAR文件包及jar命令详解
===========================================================
常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。 查看全文
junsheng 发表于:2005.09.14 20:33 ::分类: ( 工作 ) ::阅读:(971次) :: 评论 (0)
===========================================================
火车查询网站
===========================================================

发现了两个比较好的火车查询网站:

http://www.huoche.com.cn
http://train.chinamor.cn.net/


junsheng 发表于:2005.09.11 09:53 ::分类: ( 工作 ) ::阅读:(756次) :: 评论 (0)
===========================================================
JDBC连接Access
===========================================================

jdbc连接access的方法
第一种:
你用下面的代码试试 (强烈建议也是only可以建议的方法)
con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/data/Access/test1.mdb","dba","sql");
后面的代码一样。这样你就可以访问access数据库了。

第二个:
用sun的jdbcodbc桥,数据源(个人主页不适用)

第三个:
用access的JDBC驱动程序,到http://industry.java.sun.com/products/jdbc/drivers这个网站上查找并下在access的jdbc驱动程序。 (这个没有试过,各位有兴趣可以试试看)

 查看全文
junsheng 发表于:2005.09.02 17:26 ::分类: ( 工作 ) ::阅读:(3661次) :: 评论 (5)
===========================================================
关于Html网页链接
===========================================================

活学巧用<A>链接


超链接<A>语句代表一个链接点,它是英文 Anchor(锚点)的缩写。<A>语句在 HTML 语言中的主要作用是把当前位置的文本或图片连接到其他的页面、文本或图像,但对于它一些巧妙用法可能朋友们就不是很熟悉了。所以,在这篇教程中,我就来讲解一下。当然你也可以按此链接直接进入实例部分。 查看全文
junsheng 发表于:2005.09.01 11:07 ::分类: ( 工作 ) ::阅读:(1145次) :: 评论 (0)
===========================================================
安装jdk和tomcat步骤
===========================================================

1:安装jdk,以j2sdk1.4.2_03为例,假设装到d盘根目录下,即c:j2sdk1.4.2_03;
2: 我的电脑 -〉属性--〉高级--〉环境变量-〉系统变量,添加 java_home ,值 c:j2sdk1.4.2_03;
3: 添加 classpath, 值 :.;D:j2sdk1.4.2_03libdt.jar;D:j2sdk1.4.2_03libtools.jar;
4: 安装tomcat5到路径c:tomcat5,一般解压缩即可;
5: 添加CATALINA_HOME,值c:tomcat5;
6: 到c:tomcat5bin下运行startup.bat即可启动;

junsheng 发表于:2005.08.27 17:07 ::分类: ( 工作 ) ::阅读:(1326次) :: 评论 (1)
===========================================================
XML开发环境的建立
===========================================================
学习 XML 的最佳途经是从简单的开发入手,大胆实践,循序渐进。XML 的妙处只有在开发过程中才能深入体会,离开了开发是学不好 XML 的。因此学习 XML 首先应该建立一个 XML 的开发环境。我给大家介绍一下怎样建立一个基于 Java 的 XML 开发环境。因为我现在没办法用到 Linux,所以所有的例子都是在 Windows 上做的。但是这里介绍的所有的软件在 Linux 和 Windows 上都是可以用的,用法也大同小异。而且除了 Sun 的 JRE 以外都是 open source 软件,任何人都可以拿来做任何用途,甚至是商业目的的重新发行。JRE 也是可以免费下载和使用的,只是没有源代码。如果您有在 Linux 上使用这些软件的经验,希望能贡献给大家。 查看全文
junsheng 发表于:2005.08.27 17:06 ::分类: ( 工作 ) ::阅读:(787次) :: 评论 (0)
===========================================================
Jsp与JavaBean结合的简单例子
===========================================================


  上面讲了这么多,到现在还没有看到具体应用,那好,现在我们看看具体的JavaServer Pages+JavaBean的例子吧,首先让我们看看一个简单的计数器程序。

  本例程共包含3个文件

  JavaBean--counter.java文件,JavaServer Page-- counter.jsp文件, counter1.jsp文件其中,counter.java主要用来进行计数器的计数操作,counter.jsp和counter1.jsp文件主要用来显示网页的计数。

 查看全文
junsheng 发表于:2005.08.27 17:05 ::分类: ( 工作 ) ::阅读:(912次) :: 评论 (1)
===========================================================
Jsp 数据库连接语句
===========================================================


数据库连接:

~~MYSQL
//设置数据库的URL
String url = "jdbc:mysql://localhost:3306/jspsky";
try
//加载驱动程序
Class.forname("org.gjt.mm.mysql.Driver").newInstance();
//建立连接
java.sql.Connection connection = java.sql.DriverManager.getConnection(url);
java.sql.Statement statement = connection.createStatement();
//SQL语句
String sqlStringi ="insert into commu(name,tel,mobile,oicq,email)values(‘"+name+"’,‘"+tel+"’,‘"+mobile+"’,‘"+oicq+"’,‘"+email+"’)";

 查看全文
junsheng 发表于:2005.08.27 17:04 ::分类: ( 工作 ) ::阅读:(949次) :: 评论 (0)
===========================================================
Jsp文件操作
===========================================================

文件操作

~~将一个字符串写到一个指定的文件中,如果该文件不存在,则新建一个文件,并完成写入;如果存在,则用此字符串覆盖原文件的所有内容
import java.io.*;
String str = "print me 雪峰!";
//定义好打印的目标文件名

//取得当前主机存放WEB页面的绝对路径
String hostdir = System.getProperty("user.dir");
//取得当前主机所采用的路径分隔符
String fileBar = System.getProperty("file.separator");
//书写完整的目标文件存放路径
String nameOfFile=hostdir+fileBar+"test.html";

 查看全文
junsheng 发表于:2005.08.27 17:03 ::分类: ( 工作 ) ::阅读:(780次) :: 评论 (0)
===========================================================
jsp计数器
===========================================================

Integer count = null;
synchronized (application)
count =(Integer) application.getAttribute("d");
if (count ==null)
count =new Integer("0");
count = new Integer(count.intValue()+1);
application.setAttribute("d",count);
{}
out.println(count);
// 首先定义一个整形对象,并初始化为:NULL,
// 取回APPLICATION对像的属性D的值,并强制转化为整形对象,赋给COUNT
// 判断COUNT是否为空,为空时,将O赋给COUNT对象,
// 否则,通过COUNT。INTVALUE()方法,实现COUNT对象加1,并赋值给COUNT
// 最后,将COUNT对象保存在APPLICATION对象的D变量中。


junsheng 发表于:2005.08.27 17:02 ::分类: ( 工作 ) ::阅读:(743次) :: 评论 (0)
===========================================================
动态制作svg介绍
===========================================================
近日从来邮中,发觉网友对动态制作svg很感兴趣,但却难以入手,现介绍一下(使用jsp)。
首先制作svg:

drawCircle.jsp:
-------------------------------------------------
<?xml version="1.0"?>
<%@ page contentType="text/xml" %>
<svg>
<circle cx="<%=request.getParameter("x")%>" cy="<%=request.getParameter("y")%>" r="<%=request.getParameter("r")%>" />
</svg>
-------------------------------------------------

 查看全文
junsheng 发表于:2005.08.26 08:53 ::分类: ( 工作 ) ::阅读:(2308次) :: 评论 (6)
===========================================================
数据库设计方法、规范与技巧
===========================================================

一、数据库设计过程
数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

 查看全文
junsheng 发表于:2005.08.23 11:34 ::分类: ( 工作 ) ::阅读:(1013次) :: 评论 (0)
===========================================================
Erwin 数据库设计
===========================================================
1.在Erwin中打开设计好的ER模型,在工具栏选择physical模式,
2.在菜单server->target server->(ERwin3.5.2)或database->choose database...(ERwin4.0)选择sql server 然后选择相应的版本 查看全文
junsheng 发表于:2005.08.23 11:30 ::分类: ( 工作 ) ::阅读:(2486次) :: 评论 (7)
===========================================================
various database technology
===========================================================

分布推理技术 <-->数据库<--> 分布式数据库系统
并行处理技术 <-->数据库<--> 并行数据库系统
人工智能技术 <-->数据库<--> 知识库系统,主动数据库系统
多媒体技术   <-->数据库<--> 多媒体数据库系统
模糊技术     <-->数据库<--> 模糊数据库系统

企业信息系统/决策支持系统 <-->数据库<--> 数据仓库
CAD/CAM/CIM <-->数据库<--> 工程数据库>
计划/统计 <-->数据库<--> 统计数据库
地理信息系统 <-->数据库<--> 空间数据库


junsheng 发表于:2005.04.25 09:11 ::分类: ( 工作 ) ::阅读:(588次) :: 评论 (0)
===========================================================
java小技巧
===========================================================
1,出现image图标和jfilechooser错误的时候,解决方法,可能是系统的图标丢失;我遇到的问题是由于用优化大师优化后的图标突然丢失;
2.jdbc出先错误,可能是由于Oracle的jdbc驱动,最好用classes12.zip来处理大对象,用classes11.zip可能会出现一些问题;出现问题是Oracle8.1.7.
3. 驱动程序在jbuilder中在tools,菜单下面的enterprise setup中设置;
junsheng 发表于:2004.12.06 09:07 ::分类: ( 工作 ) ::阅读:(955次) :: 评论 (0)
===========================================================
用jdbc操作Oracle Blob读写过程
===========================================================

package blobtest;

import javax.swing.*;
import java.io.*;
import java.sql.*;
//import DriverData;

import oracle.jdbc.driver.*;
import oracle.sql.*;
//import oracle.ord.im.*;

// Package for JDBC classes
import java.sql.Connection;
import java.sql.Clob;
import java.sql.ResultSet;
import java.sql.Blob;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import oracle.jdbc.pool.OracleDataSource;

public class ReadAudioFromDB {
Connection conn;
Statement stmt;

ResultSet rs;
int bufferSize;

public ReadAudioFromDB()

throws SQLException, ClassNotFoundException {

String connectString;
Class.forName("oracle.jdbc.driver.OracleDriver");
connectString = "jdbc:oracle:oci8:@";
conn = (OracleConnection)
DriverManager.getConnection(connectString, "blobtest",
"1234");

stmt = conn.createStatement();

}

public void readFromDB() {

String pathname, name;
int amount = 0;
InputStream in = null;
BufferedOutputStream out = null;

JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
pathname = chooser.getSelectedFile().getAbsolutePath();
name = chooser.getSelectedFile().getName();
chooser = null;
}
else {
System.out.println("没有找到文件!");

System.out.println("程序非正常结束...");
return;
}

try {
rs = stmt.executeQuery(
"select BlobFile from audio where cavern_no='285' and document_id=1");
if (rs.next()) {
Blob blob = rs.getBlob(1);
in = blob.getBinaryStream();
bufferSize = ( (oracle.sql.BLOB) blob).getBufferSize();

out = new BufferedOutputStream(new FileOutputStream(pathname),
(int) bufferSize);

byte[] b = new byte[ (int) bufferSize];
int count = in.read(b, 0, (int) bufferSize);

while (count != -1) {
out.write(b, 0, count);
amount += count;
System.out.println("已经处理了" + amount + "字节.");
count = in.read(b, 0, (int) bufferSize);
}
System.out.println("成功处理完毕字节数:" + amount);
out.close();
out = null;
in.close();
in = null;

}
else {
System.out.println("文档:" + name + "未找到.");
}

}

catch (Exception e) {
e.printStackTrace();
}

finally {
if (out != null) {
try {
out.close();
}
catch (Exception ignored) {}
}
if (in != null) {
try {
in.close();
}
catch (Exception ignored) {}
}
}

}

}

=======
package blobtest;

import javax.swing.*;
import java.io.*;
import java.sql.*;
//import DriverData;

import oracle.jdbc.driver.*;
import oracle.sql.*;
//import oracle.ord.im.*;

// Package for JDBC classes
import java.sql.Connection;
import java.sql.Clob;
import java.sql.ResultSet;
import java.sql.Blob;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import oracle.jdbc.pool.OracleDataSource;

public class WriteAudioToDB {
Connection conn;
Statement stmt;

ResultSet rs;
int bufferSize;

public WriteAudioToDB() throws SQLException, ClassNotFoundException {

String connectString;
Class.forName("oracle.jdbc.driver.OracleDriver");
connectString = "jdbc:oracle:oci8:@";
conn = (OracleConnection)
DriverManager.getConnection(connectString, "blobtest",
"1234");

stmt = conn.createStatement();

}

public void sendToDb() {
String pathname, name;
int amount = 0;
OutputStream out = null;
BufferedInputStream in = null;

JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
pathname = chooser.getSelectedFile().getAbsolutePath();
name = chooser.getSelectedFile().getName();
chooser = null;
}
else {
System.out.println("没有找到文件!");

System.out.println("程序非正常结束...");
return;
}
try {
conn.setAutoCommit(false);
stmt.executeUpdate("insert into document(cavern_no,audio_id,TITLE ,

ARCHITECTURE_ATTR_VAL ,PAINTED_SCULPTURE_ATTR_VAL,

FRESCO_ATTR_VAL,FOKAN_ATTR_VAL,BLOBFILE )

values("+"'285',2,'"+name+"','1111','111101','10101','10001',empty_blob())");
rs = stmt.executeQuery(
"select BlobFile from document where cavern_no='285' and document_id=1");

if (rs.next()) {
Blob blob = rs.getBlob("BlobFile");
out = ( (oracle.sql.BLOB) blob).getBinaryOutputStream();
bufferSize = ( (oracle.sql.BLOB) blob).getBufferSize();
in = new BufferedInputStream(new FileInputStream(pathname), bufferSize);

byte[] b = new byte[bufferSize];
int count = in.read(b, 0, bufferSize);
while (count != -1) {
out.write(b, 0, count);
amount += count;
System.out.println("处理了" + amount + "字节.");
count = in.read(b, 0, bufferSize);

System.out.println("处理了" + amount + "字节,成功.");

}

out.close();
out = null;
in.close();
in = null;
conn.commit();

}

}

catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
}
catch (Exception ignored) {}
}
finally {
if (out!=null) try{out.close();} catch(Exception igored){}
if (in!=null) try{in.close();} catch(Exception igored){}
}


}

}


junsheng 发表于:2004.12.05 14:44 ::分类: ( 工作 ) ::阅读:(5032次) :: 评论 (3)
===========================================================
读书笔记
===========================================================
“如果在对技术的使用和构建过程中没有赋予足够的人文方面的重视,技术将毫无价值,甚至是危险的(technology is worthless - even dangerous - if we don't pay attention to the human aspects of both its use and its construction)”
===========================
1)动手去解决问题之前,好好想想问题的来源;
2)如何站在各个角度来看待面临的问题,以能够知道其真正所在;如何去尝试那个最能解决真
正问题的方法,并且时刻保持警惕心;
3)为什么不要把人们的解决方法误认为是问题的定义,更不要把某个问题的解决方法误认为是问题的定义,特别是这个解决方法是你自己所使用
的;
4)永远都不要肯定自己已经有了一个正确的定义,即使是在问题好像已经解决之后。
5)每一种解决方法都会带来新的问题;
6)问题最难以处理的
部分恰恰是去意识到它们的存在;
7)在理解问题之前,至少要做好准备接受三种可能的出错情况;
8)或许还可以改变问题的表述来获得不同的解决方法;
9)当你沉迷于寻找问题定义和解决方法时,不要忘记随时都回头看看,看看自己是不是已经迷路了..
当别人能够很好地解决自己问题的时候,千万不要越俎代庖;
11)如果某人能够解决这个问题,但是他本人却并不会遇到这一问题时,那么你首先要做的就是让他也感受到这一问题;12)不管看上去如何,人们很少知道他们要什么,直
到你给了他们所需要的东西;
13)甚至,事实上,并没有多少人真的希望他们的问题被解决。
=========================================
真正的问题所在可能并不是您现在的所想,换个角度分析,或许您已经找到了问题的真谛。
软件的合理安排是:
1/3的时间计划,1/6的时间编码,1/4的时间单元测试,1/4的时间系统测试;
junsheng 发表于:2004.12.03 21:32 ::分类: ( 工作 ) ::阅读:(642次) :: 评论 (0)
===========================================================
java小知识
===========================================================
静态变量可以用ClassName.variableName的方法,objectReference.variableName的方法得到变量的值;在类的内部可以直接用variableName.
阻止类的任意实例更改变量的值的方法:public static final int varname=3;
使用this的两种常见情况:
1. 有一个局部变量往往是变元,使用相同的名字作为实例变元;
2. 需要以变元的形式给另外一个类中的方法传递当前对象的引用;
junsheng 发表于:2004.12.03 09:40 ::分类: ( 工作 ) ::阅读:(651次) :: 评论 (0)
===========================================================
把java加载到Oracle数据库的方法
===========================================================

1.
loadjava -user username/password -verbose *.class
可以把class文件加载到oracle数据库中;
调用方法:
在sql×plus下
create or replace procedure proc_name
as language java
name "javaclassname.method()";
set serveroutput on size 5000
call dbms_java.set_output(5000)
execute proc_name;
2.
另外可以直接加载java文件:
create or replace and complie java source named ClassName
as
public class ...{
...
}

create or replace procedure proc_name
as language java
name "javaclassname.method()";

set serveroutput on size 5000
call dbms_java.set_output(5000)
execute proc_name;


junsheng 发表于:2004.12.02 21:27 ::分类: ( 工作 ) ::阅读:(760次) :: 评论 (1)
===========================================================
Oracle显示BFile
===========================================================

Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@orcl","system","manager");
Statement stmt=conn.createStatement();
ResultSet rset=stmt.executeQuery("select * from bfiletable");

while(rset.next()){

//获取bfile

BFILE bfile=((OracleResultSet)rset).getBFILE("pic");

//打开bfile
bfile.openFile();

int length=(int)bfile.length();

InputStream instream=bfile.getBinaryStream();

byte[] buffer=new byte[lengh];

//从instream中读到buffer中

instream.read(buffer);

//把buffer中的数据显示在button上

button =new JButton(new ImageIcon(buffer));

instream.close();
bfile.close();
}

//关闭数据库的连接

rset.close();
stmt.close();
conn.close();


junsheng 发表于:2004.12.02 21:05 ::分类: ( 工作 ) ::阅读:(846次) :: 评论 (0)
===========================================================
调用存储过程
===========================================================

CallableStatement cstmt=conn.prepareCall("{CALL 存储过程名字(参数1,参数2..)}");

cstmt.execute();


junsheng 发表于:2004.11.30 20:40 ::分类: ( 工作 ) ::阅读:(2754次) :: 评论 (0)
===========================================================
jsp中文乱码问题解决
===========================================================
在jsp页面提交查询时,虽然输入的是中文,但是传到sql语句执行时,中文变成了??,即使用request.setCharacterEncoding("gb2312")也无济于事;最终发现解决方案:strsql = new String(strsql.getBytes("ISO8859-1"), "GB2312");我用的环境是tomcat5.0.28.
junsheng 发表于:2004.11.25 12:11 ::分类: ( 工作 ) ::阅读:(1002次) :: 评论 (0)
===========================================================
jsp学习笔记
===========================================================

共享数据在web中的应用范围

1. page:当前jsp页面;

2. request:用户请求访问的当前web组建,以及合当前web组件共享同一个用户请求的其他web组建。Jsp includeforward包含的jsp文件也能访问共享数据。request范围内的数据实际上存放在HttpServletRequest对象中。

3. Session:存在于整个Http会话中,同一个http会话的web组件共享它。共享数据存储在httpsession中。

4. application:共享数据存在于整个web应用的生命周期,web应用中的所有web组件都能应用它。存在于ServletContext对象中。

一个session的资源释放:

1. 客户端关闭浏览器

2. 会话过期

3. 服务器端调用了invalidate()方法

sessionrequest相比占用更多的资源;

JspJavaBean搭配使用时,jsp可以侧重生成动态网页,javabean则侧重数据或者逻辑。

Struts框架中,ActionForm Bean是一种典型的JavaBean,范围有两种:requestsession

重定向的方法:

1. <jsp:forward page="hello.jsp>

2. response.sendRedirect(URL)


junsheng 发表于:2004.11.24 15:15 ::分类: ( 工作 ) ::阅读:(648次) :: 评论 (0)
自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...