关于weblogic...

利而不害 2002-12-02 09:38:09
加精
第一节 WEBLOGIC 6.1 的安装 摘自Thinking Java

WEBLOGIC 6.1 的安装 无状态SessionBean开发 数据源的设置 JMS的使用的简单介绍
WEBLOGIC 6.1 的安装
所需软件: 一个安装用压缩包和一个破解的文件
安装过程:
1.双击安装文件,将WEBLOGIC安装到D:\BEA
在询问是否作为一个WINGDOW SERVER时,选择NO
其余选缺省值
2.按照破解说明,README文件,去除30天限制
3.编辑 D:\bea\wlserver6.1\config\mydomain\startWebLogic.cmd
69行中 set WLS_PW=yourpassword
56行中 set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar
就是WEBGLOIC运行中用到的CLASSPATH
在这里可以加入所需要的类和路径
73行 set STARTMODE=true
设置模式 true 为PRODUCT 模式
false 为 Development 模式
此模式中 可以自动查找并发布 applications 目录及其子目录中的EJB的jar包
4.在菜单中启动 WEBLOGIC
启动控制台(start default console)测试服务
无状态SessionBean开发
EJB是WEBLOGIC提供的一种服务,使用RMI
调用过程:
客户端,通过URL找到EJB服务器
通过JNDI找到具体的EJB
发送请求,得到返回值(远程方法调用协议)
客户端得到一个远程接口,WEBLOGIC 通过此接口给客户端提供服务
EJB通过JAR包发布,包含EJB的CLASS文件和EJB的描述文档
具体参照HelloWorld.jar的过程
其中HelloHome创建远程接口Hello,客户端通过这个接口
调用HELLOBEAN中的对应方法.
其中HelloBean.class只在服务器端使用
Hello and HelloHome interface 客户端和服务器均必须使用
注意weblogic-ejb-jar.xml 中 <jndi-name>com.helloworld</jndi-name>
com.helloworld用来标记EJB,并加入JNDI命名空间中
编制好EJB的JAR包后,拷贝到applications目录下
使用WEBLOGIC控制台发布
在左边树中点击 domain/deployments/ejb节点
在右边选择"Install a new EJB..."
根据提示操作
Weblogic6.1的JDBC缓冲池的使用
1.将用的的DRIVE CLASS 设置到 WEBLOGIC 的CLASSPATH 中
启动WEBLOGIC 打开控制台
2.在左边树中点击domain/Servcies/JDBC/Connection Pools节点
Configuration_General页中
name:myOraclePool (Any Name Is Ok!)
URL:jdbc:oracle:thin:@ServerIp:1521:sid
DRIVERCLASSName: oracle.jdbc.driver.OracleDriver
Properties: user=yourUserName Password=yourPassword
then clike the "create" button
The Pool is created.
3.Configuration_Connections页:
Initial Capacity: 缓冲池创建后的初始连接数。
Maximum Capacity: 最大的连接数。
Capacity Increment: 当连接不够时,缓冲池中自动创建的连接数量(不超过Maximum Capacity)。
Login Delay Seconds: 缓冲池创建连接时的允许延迟时间。
Refresh Period: 当Testing页配置了TestTableName后,如果此周期不为零,
则每个空闲连接都要按此周期进行测试,如果连接不正确,则关闭此连接并尝试重建连接。
Allow Shrinking: 缓冲池按Capacity Increment创建新的连接后,
如果存在空闲连接,是否允许自动删除空闲连接(直到达到Initial Capacity数量)
Shrink Period: 删除空闲连接的周期。

我们可以按如下格式设置:
Initial Capacity: 5
Maximum Capacity: 10
Capacity Increment: 1
Login Delay Seconds: 0
Refresh Period: 0
Allow Shrinking: true
Shrink Period: 15

Configuration_General页设置完毕后按右下角的"Apply"按钮保存设置。

Target页:绑到使用缓冲池的Server
缓冲池创建后可以修改,修改的结果只有重新启动Weblogic服务器后有效。
通过右键菜单可以删除、复制缓冲池。
4.设置数据源
1、在Weblogic的控制台左边树中点击
domain/Servcies/JDBC/Data Sources节点。
2、在右边选择"Create a new JDBC Data Source…"超链接,创建新的数据源。
按提示操作就行了
注:最好用TX Data Source ---进行tranaction处理.方法一样.

5.使用数据源
同EJB的使用,找URL找JNDI得到一个CONNECTION
JMS简介
消息系统
  消息系统允许分开的未耦合的应用程序之间可靠地异步通信。
类同邮件系统.
  通常有两种消息类型。
  1.发布/订阅(publish/subscribe)
  发布/订阅消息系统支持一个事件驱动模型,消息产生者和使用者都参与消息的传递。
产生者发布事件,而使用者订阅感兴趣的事件,并使用事件。
产生者将消息和一个特定的主题(Topic)连在一起,消息系统根据使用者注册的兴趣,将消息传给使用者。
  2.点对点(Peer to peer)
  在点对点的消息系统中,消息分发给一个单独的使用者。
它维持一个"进入"消息队列。消息应用程序发送消息到一个特定的队列,
而客户端从一个队列中得到消息
JMS和EJB一样是WEBLOGIC 提供的服务,客户端通过JNDI名字查找
在控制台 先创建一个JMS的主题,设定一个JNDI(参照提示做啊,跟前边的介绍雷同)
  一个典型的JMS客户端由下面的几个基本步骤来创建:
  创建一个到消息系统提供者的连接(Connection)
  创建一个Session,用于接收和发送消息
  创建MessageProducer和MessageConsumer来创建和接收消息
  当完成了上述步骤后,一个消息产生者客户端将创建并发布消息到一个主题,(JNDI)
而消息使用者客户端会接收与一个主题相关的消息。
  1.创建一个Connection
  一个Connection提供客户端对底层的消息系统的访问。并实现资源的分配和管理。
通过使用一个ConnectionFactory来创建一个Connection,通常用JDNI来指定:
Connection message=new initialContext();
TopicConnectionFactory topicConnectionFactory=(TopicConnectionFactory);
topic = (Topic) jndiContext.lookup(topicName);
topicConnection =topicConnectionFactory.createTopicConnection();
  2.创建一个Session
  Session是一个比较大的JMS对象,他提供了生产和消费消息的手段。
用于创建消息使用者和消息产生者。
  topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
  两个参数用于控制事务和消息确认。
  3.定位一个Topic
  用JDNI来定位一个Topic,Topic用于识别发送或接收的消息,在发布/订阅系统中。
订阅者订阅一个给定的Topic,而发布者将它发布的消息与一个Topic相连。
  下面是创建一个Topic "WeatherReport"
  Topic weatherTopic=messaging.lookup("WeatherReport");
  4.启动Connection
  在上面的初始化步骤之后,消息流是禁止的,用于防止在初始化时发生不可预料的行为。
一旦初始化结束,必须让Connection启动消息系统。
  topicConnection.start();
  5.创建一个消息产生者
  在发布/订阅里,一个产生者发布消息到一个指定的Topic。
下面的代码显示创建一个产生者,以及后续的建立和发布一个简单文本消息。
  TopicPublisher publisher=session.createPublisher(weatherTopic);
  TexeMessage message=session.createMessage();
  message.setText("ssss");
  publisher.publish(message);
  下面是一个消息使用者的代码
topicConnection =topicConnectionFactory.createTopicConnection();
topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topicSubscriber = topicSession.createSubscriber(topic);
topicListener = new MsgListener();
topicSubscriber.setMessageListener(this);
topicConnection.start();
...全文
383 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhx_232 2002-12-04
  • 打赏
  • 举报
回复
thanks
sgr_kk 2002-12-04
  • 打赏
  • 举报
回复
砸死了
风清扬-3 2002-12-04
  • 打赏
  • 举报
回复
再次请您致敬!!!
利而不害 2002-12-04
  • 打赏
  • 举报
回复
今天下午5点结贴
风清扬-3 2002-12-03
  • 打赏
  • 举报
回复
太好了,真是太感谢你( hazeline(砸死我) )了!这些对于我们初学者来说,实在太难得了!向您致敬!
junnef 2002-12-03
  • 打赏
  • 举报
回复
很好的东西呀,谢谢!
利而不害 2002-12-03
  • 打赏
  • 举报
回复
有的朋友说在制作下载链接时遇到word,execel等office文件不能正确下载,下面是解决办法

jsp网页编码形式
word: <%@ page contentType="application/msword" %>
excel: <%@ page contentType="application/vnd.ms-excel" %>

----------------------------------------------
加入web.xml文件类型关联
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
利而不害 2002-12-02
  • 打赏
  • 举报
回复
第八节 一个可以发送附件的javabean和其调用的servlet实例
作者:邢雅莉

1.javabean
import java.util.* ;
import java.io.* ;
import javax.mail.* ;
import javax.mail.internet.* ;
import javax.activation.* ;
public class Mail {
//定义发件人、收件人、主题等
String to="";
String from="";
String host="";
String filename="";
String subject="";
//用于保存发送附件的文件名的集合
Vector file = new Vector();
//做一个可以传发件人等参数的构造
public Mail (String to,String from,String smtpServer,String subject){
//初始化发件人、收件人、主题等
this.to=to;
this.from=from;
this.host=smtpServer;
this.subject=subject;
}
//该方法用于收集附件名
public void attachfile(String fname){
file.addElement(fname);
}
//开始发送信件的方法
public boolean startSend(){
//创建Properties对象
Properties props = System.getProperties();
//创建信件服务器
props.put("mail.smtp.host", host);
//得到默认的对话对象
Session session=Session.getDefaultInstance(props, null); try {
//创建一个消息,并初始化该消息的各项元素
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address={new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject(subject);
//后面的BodyPart将加入到此处创建的Multipart中
Multipart mp = new MimeMultipart();
//利用枚举器方便的遍历集合
Enumeration efile=file.elements();
//检查序列中是否还有更多的对象
while(efile.hasMoreElements()){
MimeBodyPart mbp=new MimeBodyPart();
//选择出每一个附件名
filename=efile .nextElement().toString();
//得到数据源
FileDataSource fds=new FileDataSource(filename);
//得到附件本身并至入BodyPart
mbp.setDataHandler(new DataHandler(fds));
//得到文件名同样至入BodyPart
mbp.setFileName(fds.getName());
mp.addBodyPart(mbp);
}
//移走集合中的所有元素
file.removeAllElements();
//Multipart加入到信件
msg.setContent(mp);
//设置信件头的发送日期
msg.setSentDate(new Date());
//发送信件
Transport.send(msg);
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex=mex.getNextException())!=null){
ex.printStackTrace();
}
return false;
}
return true;
}
}

2.servlet
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class SendMail extends
HttpServlet implements SingleThreadModel{
public void init(ServletConfig Conf)
throws ServletException {
super.init(Conf);
}
public void doPost(HttpServletRequest
Req, HttpServletResponse Res)
throws ServletException, IOException {
try{
//实例化刚才我们做的类,并按其构造传进相应的参数
Mail sendmail=newMail("zhang@263.net",
"chtwoy@21cn.com","smtp.21cn.com","test");
sendmail.attachfile("table.pdf");
sendmail.startSend();
}catch(Exception e){
e.printStackTrace();
}
}
public void destroy() {
}
}
liucm 2002-12-02
  • 打赏
  • 举报
回复
very good ,thank you
利而不害 2002-12-02
  • 打赏
  • 举报
回复
第二部分:关于JavaMail

文档的使用

下载的JavaMail API中带的文档是很有用的。你可以在JavaMail下的/docs/javadocs/index.html找到它。第二部分主要将分析邮件程序的组件。你可以通过阅读文档来获得更多这方面的信息。

组件发送邮件需要使用JavaMail,它使对邮件的操作变得简单易用。

属性对象
JavaMail需要创建一个格式为"mail.smtp.host"的文件用来发送信息。
Properties props = new Properties ();
props.put("mail.smtp.host", "smtp.jspinsider.com"); 对话对象

所有的基于JavaMail的程序都至少需要一个或全部的对话目标。
Session sendMailSession;
sendMailSession = Session.getInstance(props, null);

传输
邮件的传输只有送出或受到两种状态。JavaMail将这两种不同状态描述为传输和储存。传输将送出邮件,而储存将收取邮件。
Transport transport;
transport = sendMailSession.getTransport("smtp");
使用JavaMail能为我们节约大量的时间。JavaMail能代替所有的SMTP的工作。
注意:JavaMail并不能完全的支持所有的邮件发送收取工作。它目前仅支持IMAP、SMTP和POP3,除此以外你只有等待新的JavaMail版本或自己开发协议。

信息对象
信息对象将把你所发送的邮件真实的反映出来。
Message newMessage = new MimeMessage(sendMailSession);
这就是我们所需要的全部四个对象。下一步将是如何将对象加入到JSP中。


第三部分:JavaMail和JSP的结合

创建JSP
下面我们将开始将他们结合在一起。最重要的一点是要确认根据页面指示分类。还要记得在邮件上标注java.util.date。
<%@ page
import= " javax.mail.*, javax.mail.internet.*, javax.activation.*, java.util.*"
%>

其次,创建邮件发送的确认信息。确认信息可以是任意的,一般常用"你的邮件已经发送出去了(Your mail has been sent)。"

信息是如何创建和发送的
我们在第二部分里已经讨论过信息对象的创建。我们下面将对信息进行操作。这就和设置信息对象的属性一样简单。你可以通过下面的程序来实现这项操作。
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));

现在将开始发送信息。通过JavaMail来实现它非常简单。
transport.send(newMessage);

将所有的组件结合在一起
现在所有的组件都已经齐全了。现在将它们都放在JSP里面。要注意每一个错误信息,并将它反馈给用户。代码如下,你可以通过复制它们直接使用:
Sample JSP email Utility Using JavaMail
<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
%>

<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>
</HEAD>
<BODY>

<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.jspinsider.com");
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>

<P>Your mail has been sent.</P>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>

你会很快体会到JavaMail的方便之处,JSP和JavaMail将是未来的希望。
利而不害 2002-12-02
  • 打赏
  • 举报
回复
第七节 在JSP中使用JavaMail收发邮件 转载自代码实验室

你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具。在这篇文章中你可以了解到JavaMail API的一些要点以及如何在JSP中使用它。本文中还包括了在JSP中使用JavaMail的实例。JavaMail是JSP应用软件中相当强大的API。

阅读这篇文章需要对JSP、JavaBeans和JavaMail有一定的初步了解。当然,有关于JavaMail的知识你可以通过阅读这篇文章来获得。如果你对于以上三项一无所知,但你所使用的服务器支持JSP和JavaMail的话,你可以仅仅通过复制/粘贴来使用它们。



什么是JavaMail



JavaMail是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。



虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。



接下来要讲解的是这篇指南的最难理解的部分。



这篇指南包括三部分:HTML表格、关于JavaMail、JavaMail和JSP的结合。



第一部分:HTML表格



第一部分提供了一个最基本的基于HTML的email发送收取程序的例子。第二部分则讲述JavaMail的工作原理。第三部分则介绍将JavaMail加入JSP,创建一个基本的email发送收取程序。



划分组件



JSP最重要的特性是能将整个网页划分成一些细小的组件。这里使用的组件包括:



●一个用来将email的信息发送给JSP的HTML表格;



●一个JSP页面用来处理和发送信件。



第一步,就是创建一个HTML表格用来给JSP页面发送信息。你可以将以下的HTML代码复制到你的电脑上:



用来发送email的HTML源代码



<HTML>

<BODY>

<FORM action="sendmail.jsp" method="post">

<TABLE align="center">

<TR>

<TD width="50%">

To:<BR><INPUT name="to" size="25">

</TD>

<TD width="50%">

From:<BR><INPUT name="from" size="25">

</TD>

</TR>

<TR>

<TD colspan="2">

Subject:<BR><INPUT name="subject" size="50">

</TD>

</TR>

<TR>

<TD colspan="2">

<P>Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA></P>

</TD>

</TR>

</TABLE>

<INPUT type="submit" name="cb_submit" value=" Send ">

<INPUT type="reset" name="cb_reset" value=" Clear ">

</FORM>

</BODY>

</HTML>

以上这段程序将创建一个包含email基本信息(例如:收件地址、发送地址、主题和内容)的文件。当然你可以根据你自己的需要来决定这个文件包含那些信息。



这个HTML文件的使用有两点要求:第一点是生成的文件必须发送给接下来将介绍的程序使用。在这个例子中就是sendmail.jsp,但在你使用时,必须用这个文件在系统里的URL来代替它;第二点是必须有空间来允许用户发送email。



第二部分将对JavaMail的特征进行一些分析,为在第三部分创建JSP程序作准备。所以接下来我们将学习JavaMail。
zxhong 2002-12-02
  • 打赏
  • 举报
回复
补充:
是收邮件的
zxhong 2002-12-02
  • 打赏
  • 举报
回复
好。
那还麻烦你把发邮件的也整理一下,这样别人用这个连接找的时候就很方便了!
:)
利而不害 2002-12-02
  • 打赏
  • 举报
回复
呵呵,谢谢楼主来捧场阿,这些代码本来就是用来相互讨论的,只要能帮助别人加到哪里都没问题了。
zxhong 2002-12-02
  • 打赏
  • 举报
回复
到星了,祝贺啊!

文章不错,可以加到精华区.

欢迎大家参与“关于收发邮件的专题讨论”

不知道楼主可不可以把发邮件的也整理出来,这样就比较完善了,免得大家找来找去.

另外,我想把你整理的收发邮件的代码,加到“讨论”里,不知可不可以?:)
利而不害 2002-12-02
  • 打赏
  • 举报
回复
非常感谢大家一直以来对我的关照和帮助,让我在这里学到了许多东西,小生在此有礼了。同时,我希望有更多jsp爱好者都能得到这样帮助,所以特别收集一些初学者常遇到的问题,以供参考。
baitianhai 2002-12-02
  • 打赏
  • 举报
回复
不错,谢谢,收藏
利而不害 2002-12-02
  • 打赏
  • 举报
回复
第六节 一个简单的关于Email发送的javabean

package bag.mail;
import java.util.*;
import javax.mail.*;
import java.io.*;
import javax.mail.internet.*;
import javax.activation.*;

public class Email {
protected String to = null;
protected String subject = "Email Test";
protected String body = null;

public Email() {
super();
}

public void setTo(String to) {
this.to = to;
}

public void setBody(String body) {
this.body = body;
}

public void sendmail() {
try
{
String host = "smtp.163.net";
String from = "your name";
String to = "other email address";
String username = "your username";
String password = "your password";
this.body = "This is a test";

SmtpAuth sa=new SmtpAuth();
sa.getuserinfo(username,password);
Session session;
MimeMessage message;
Properties props = System.getProperties();
props.put("mail.smtp.auth","true");
props.put("mail.smtp.host", host);
session = Session.getInstance(props, sa);
session.setDebug(true);
message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
MimeBodyPart mbp = new MimeBodyPart();
mbp.setText(body);
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp);
message.setContent(mp);
message.setSentDate(new java.util.Date());
Transport transport = session.getTransport("smtp");
transport.connect("smtp.163.net",username,password);
transport.send(message);
}
catch (MessagingException e) {
System.out.println("error" + e.getMessage());
}
}

class SmtpAuth extends javax.mail.Authenticator {
private String user,password;
public void getuserinfo(String getuser,String getpassword){
user=getuser;
password=getpassword;
}
protected javax.mail.PasswordAuthentication getPasswordAuthentication(){
return new javax.mail.PasswordAuthentication(user,password);
}
}
}

如果需要更为完善的收发功能,请大家一起参与斑竹的“关于收发邮件的专题讨论”
利而不害 2002-12-02
  • 打赏
  • 举报
回复
第五节 BLOB字段的存取图片问题

一个完整的例子
<%@ page language = "java" %>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="oracle.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page contentType="text/html;charset=gb2312" %>

<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@133.166.200.73:1521:ora73";
String user="asset";
String password="asset";
Connection con= DriverManager.getConnection(url,user,password);
con.setAutoCommit(false); //*
String sql = "insert into sandwichtest values('00000013', empty_blob())";
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
con.commit(); //*
sql = "select blobimage from table where id='00000013' for update";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
//这里有个分支,用数组方法入库和用预处理方法入库,两者用其一就可以了,下面注释掉的是数组方法,本例使用预处理方法
/* File file = new File("D:\\bea\\wlserver6.1\\config\\mydomain\\applications\\DefaultWebApp\\note.gif");
java.io.InputStream ins = new FileInputStream(file);

oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("blobimage");
java.io.OutputStream outs = blob.getBinaryOutputStream();

int i = ins.available();
System.out.println(i);
if (i > 0) {
byte temp[] = new byte[4096];
while (ins.read(temp) != -1) {
outs.write(temp);
outs.flush();
}
ins.close();
}*/


File file = new File("D:\\bea\\wlserver6.1\\config\\mydomain\\applications\\DefaultWebApp\\note.gif");
InputStream fis = new FileInputStream(file);

oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("blobimage");
System.out.println(fis.available());
PreparedStatement ps =
con.prepareStatement("update table set blobimage=? where id='00000013'");
ps.setBinaryStream(1,fis,fis.available());
ps.executeUpdate();
ps.close();
fis.close();

}
con.commit();
rs.close();
//取图片显示
sql="SELECT * FROM table WHERE id='00000013'";
rs = stmt.executeQuery(sql);
if (rs.next()) {
java.io.File file = new java.io.File("c:\\","note.gif");
java.io.FileOutputStream fout = new java.io.FileOutputStream(file);

BLOB blocco = (BLOB)rs.getObject("blobimage");
int lengthb = (int)blocco.length();
byte [] byte_array = blocco.getBytes(1, lengthb);
for(int i=0;i<byte_array.length;i++)
{
fout.write(byte_array[i]);
}
fout.close();
}
rs.close();
stmt.close();
con.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
%>
jmars 2002-12-02
  • 打赏
  • 举报
回复
up
加载更多回复(4)

1,236

社区成员

发帖
与我相关
我的任务
社区描述
企业软件 中间件技术
社区管理员
  • 中间件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧