"Weblogic 连接池 + Oracle + Servlet" 的无状态SessionBean 全攻略

WebLogic平台下部署Servlet与Jsp 一、实验目的: 学会在WebLogic平台下部署Servlet与Jsp 二、实验环境 Windows XP 三、实验内容: 1、Weblogic Server的安装和Weblogic管理控制台 1)Weblogic安装 从服务器上下载server813_win32.exe安装 2)创建自己的工作区 开始-》所有程序-》weblogic8.1-》configuration Wizard-》Create a new…-》…Server domain-》Express-》… 3)启动Weblogic服务 在第上步中你已创建一个工作区,假设为mydomain,则在\bea\user_projects\domains中有一个mydomain目录。运行startWeblogic.cmd。 立即下载

jbuilder7 + welogic6.1+ Oracle8i

一个无状态的Session bean
连接weblogic 数据库连接池
取 Oracle一个表的一个字段值
返回给客户端 (servlet)

就这些,now整理成笔记。

1. 确认安装好Oralce 和 Webligc 6.1 .Jbuilder7
   都是默认安装
2. 开始配置Jbuilder7 和Weblogic 的连接
   我参考了一篇Jbuilder6的配置 ,大同小异
   进入JB7
   a.打开Tools-->Configue Servers--> 选择weblogic6.x+
                Enable Server 打勾
      选择正确的Weblgic 安装路径
    注意 显示器分辨率为1024*768 才能看到下面的OK 按钮
    在General页 的Home Dircetory 和 Work Directory一样 如:
    D:/bea/wlserver6.1
    在Custome页中填入weblogic 启动密码
    其他默认
  b.打开Tools--> Enterprise Setup -->CORBA
               new 一个 起名为Weblogic的项目
               在Path for ORB tools下加入Weblogic 的目录
               在Library for project 下加入 weblogic 6.x delopy 库
               在compiler command 填上 idcj.exe
               在Command ... for oupput Dircetory 填上一个你自己的输出路径
  c 最后确认 Projects--> Default Projects Properties-->Server
              选的Application Server 是Weblogic 6.x file://应该已经是了,再看看
  d 最后到我的电脑点右键去修改系统变量
              Temp 和Tmp
              因为默认得目录名有空格,JB7过敏这个,改为一个没空格的目录
              如C:/temp 当然你得先建立这个目录
             
 3.下来在Weblogic中建立Oracle的连接池
  . 在Weblogic 控制台
       Services -->JDBC -->Connection Pools--> Configure a new JDBC Connection Pool
       在General属性页 
            Name :连接池名 file://我取名为testPool ,注意名字区分大小写
            URL: JDBC 连接字符串 file://Oracle的 为: jdbc:oracle:thin:@xiw:1521:sdb
                                        xiw为服务器名 也可为IP地址
                                        sdb为数据库名
            Driver Classname: 填入 oracle.jdbc.driver.OracleDriver
            Properties(key=value): 填入 user=system  file://即Oracle的用户名,也可以在这里填入密码
            Password 先不填
            点击Apply // Weblogic 如果有图标闪动,表示需要重启动Webligoc设置才能生效 后面不在说明
            然后点击Password 输入数据库密码 
       在Connection 页
             Initial Capacity : 1 file://初始连接数
             Maximum Capacity :10 file://最大连接数
             Capacity Increment :1 // 初始不够时,每次增加连接数
             Refresh Period: 5 file://防止网络意外中断时,每5分钟刷新一次连接,断了就自动恢复
             其他默认
       在testing 页
              Test Table Name:tab // Oracle 已经有了这个表 ,用其他Oracle系统表也行
              下面两项选中 打勾 表示启用意外端开时,自动刷新恢复连接
       图标闪动,表示需要重启动Webligoc
       重启后:
          在: Serviers -->JDBC -->Connection Pools-->testPool页
                target页 将myserver移到chosen 中 点Apply file://表示那个服务器启用这个池
                如果有错误,一般就是前面的URL错 或没有testing指定的那个表,我在这绊了很久
          可能需要重启
          然后到Services-->JDBC-->Data Source
               Configure a new JDBC Data Source
               Name:自己起吧
                   JNDI Name: 起名为MyJNDI file://这个后面编程要用,区分大小写
                   Pool Name:testPool file://前面建的那个池的名字
                   然后点击Apply
             在target页,和前面一样,将myserver移到chosen Apply
             此时若有错误,一般为连接池名大小写问题  
        重启动Weblogic 完成
4 开始编程
  ·在JB7中新建一个空项目
  ·在New 的Enterprise 页Ejb2.0 bean designer
  ·在可视化设计窗口,右键,New Session bean ,起名字为testsqlBean  type为stateless
  ·启动Oralce
  ·添加一个表table3 字段名 A1 再加一条数据 'OKOK' file://最后在Servlet中返回OKOK就算成功
  ·在该项目中New一个Class ,作为返回结果用,该类进行了序列化
   该类取名为TestString  代码如下,较为粗糙,没有优化,其实可以直接返回值的,凑合看吧。
package testpool;
import javax.ejb.*;
import java.sql.*;
import javax.sql.*;
public class TestString implements java.io.Serializable{
        private String returnS;
        public TestString(String ss){
                returnS=ss;
        }

        public String returnStr(){
          return returnS;
        }
        public String getA1(DataSource  ds, String sql)
        {String temp="nono"; file://默认为no  Servlet要是返回这个就是失败了
        try{
         Connection  conn=ds.getConnection();
         Statement stmt=conn.createStatement();
         stmt.executeQuery(sql);
         ResultSet rs=stmt.getResultSet();
         int i=rs.getRow(); file://没显示改值,调试时看了看
         if(rs.next())
           {temp=rs.getString(1);
           }
         rs.close();
         conn.close();
       }
        catch(Exception e)
        {
          e.printStackTrace();
        }
        return temp;
        }
}
  ·以下修改testsqlbean.java
  需要添加一些类
  import java.sql.*;
  import javax.sql.*;
  其他Home接口或Remote接口用到诸如ResultSet ,DataSource 得自己加入就行,不再复述
  添加几个属性
  String returnString;
  DataSource  ds;
 
  ·同时需要修改testsqlbean的ejbCreate代码为:
  public void ejbCreate() throws CreateException {
    try{
    Context  ctx=new  InitialContext();
    ds=(DataSource)ctx.lookup("MyJNDI"); // MyJNDI为前面配置的Weblogic的JDBC的JNDI名
    }
    catch(Exception e)
   { }
   }
  ·然后。在可视化设计窗口 testsqlBean上右键 add method 取名为getMyConn 返回类型为前面自建的TestString
   参数为String sql
   最后修改该函数代码如下:
   public TestString getMyConn(String sql) {
   TestString t1=new TestString(sql);
   String returnString=t1.getA1(ds,sql);
   return new TestString(returnString);
   }    
  .完成后 Make Project 一次编译通过后
  ·在项目文件列表上,点击web run
  此时不要人工启动Weblogic 让JB7去启动它
  如果没有错误,则EJB被自动部署到weblogic上,
 
  · 编一个Servlet作为客户端 
  用JB7的New 一个Servlet 起名为testpoolServlet
  全部代码如下
  package testpool;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.ejb.*;
import java.rmi.RemoteException;
import java.rmi.Remote;
import testpool.testsql;
import testpool.testsqlHome;

public class testpoolServlet extends HttpServlet {
  static final private String CONTENT_TYPE = "text/html; charset=GBK";
  TestVector myStr;

  file://Initialize global variables
  public void init() throws ServletException {
  }
  file://Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    String sql="select * from table3"; file://客户端给EJB的sql语句
    PrintWriter out = response.getWriter();
    out.println("");
    out.println("");
    out.println("");
    out.println("










");    try {      Context context=new  InitialContext();      Object objref = context.lookup("testsqlBean");// EJB中那个SessionBean的名字     testsqlHome home = (testsqlHome)javax.rmi.PortableRemoteObject.narrow(objref,testsqlHome.class);      testsql servletsql=home.create();       TestString myTStr=servletsql.getMyConn(sql);      String myStr=myTStr.returnStr();      out.println("
This is=="+myStr+"
");    out.println(" ");
    out.println("

The servlet has received a GET. This is the reply.

");
    out.println("");
    } catch (Exception e) {
        out.println("A problem has occurred with the servlet.");
    }
  }

  file://Clean up resources
  public void destroy() {
  }
}
     
 .完成后 Web Run Use "testpoolServlet" 
 
 或者·手工启动Weblogic 输入http://localhost:7001/testpoolservlet
 
 最后结果应该显示为            
                This is==okok
                The servlet has received a GET. This is the reply
               
 一般错误发生为:刚才Oracle插入数据时,没有Commit,所以查询不到。
                为这个问题,曾迷惑我半天,失败啊,哈哈
  
   JB7还是不错的,可以运行时单步调试EJB
   还可以为Bean中建一个testsqlBeanTestClient1,不用Servlet也很简单,作为测试用,不再赘述 
  
   下次作个Message Drive Bean ,学会了也共享之
    欢迎评论
   希望共同学习J2EE  我的QQ:11161875 身份请验证注明:优快云 J2EE
    
 
    

Win10平台下QT6.9.0 OpenCV 4.10.0从入门到精通 我最近开发一个视觉项目,我们从0开始记录在windows 10下 用QT6.9+OpenCV 4.10.0搞定整个项目的开发过程。以抛砖引玉,大家共同进步。 阅读详情

相关推荐

昇腾AI处理器Ascend C编程:从C/C++基础到高性能算子开发实战

异构计算是提升AI算力效率的核心技术,通过在CPU之外引入专用处理器(如GPU、NPU)协同工作,实现大规模并行计算。其原理在于将计算密集型任务卸载到专用硬件,利用其高并行架构加速处理。技术价值在于突破传统CPU的算力瓶颈,为深度学习训练与推理提供强大动力,广泛应用于模型部署、科学计算和高性能计算场景。本文聚焦昇腾AI处理器的原生编程语言Ascend C,它基于C/C++标准扩展,通过显式内存管理和任务并行模型,充分发挥达芬奇架构中Cube与Vector单元的性能。针对CANN算子开发,文章详解了从环境搭建

weixin_34411563的博客 365

weblogic部署EJB2.0 实现本地接口的SessionBean

由于在最近的项目中需要用到EJB2.0,所以花了一段时间去研究这项技术;以前接触过EJB3.0,但是在学习的过程中这两者之间有很大的差别,大部分都是访问远程接口,在编写访问远程接口的代码时,而且以前是在JBoss上部署的,相对比较简单,在网上也有很多相关的例子;在写代码的过程中发现访问本地接口时相对比较复杂(配置比较复杂,代码基本都一样,就是客户端访问的时候不一样);在此跟大家分享下weblogi...

luhaoshift的专栏 311

手把手教你用yt-dlp批量下载YouTube视频数据集(附TikTok/Kaggle资源)

本文提供了一份构建视频数据集的实战指南,重点介绍了使用yt-dlp工具批量下载YouTube视频的高级技巧,包括环境配置、批量参数设置与自动化脚本。同时,文章还整合了TikTok、Kaggle及学术开源数据集等多源高质量视频资源,并分享了数据清洗、格式统一与管理的完整流程,帮助研究者和开发者高效获取与处理训练数据。

weixin_29057237的博客 289

Weblogic中使用Servlet

本文当适合于个人开发时使用,项目deploy时会有专门的人负责的 为方便起见,请先完成相应的修改后,再启动Weblogic 以下操作有些是本来可以在console中完成的,但是由于目前console有些问题,故我们这里直接改...

cqwf95925的博客 844

Eplan P8自动线号生成全攻略:从电位定义点到连接编号的完整流程

本文详细解析了Eplan P8自动线号生成的全流程,从电位定义点的创建配置到连接编号的标准化管理,帮助电气设计人员提升图纸规范性和工作效率。重点介绍了自动编号方案的定义与调整技巧,以及企业级标准化实施建议,是掌握Eplan P8自动线号功能的实用指南。

weixin_29254029的博客 509

通信算法之325:无人机云哨协议及发射机接收机仿真算法

【代码】通信算法之325:无人机云哨物理层协议及发射机接收机仿真代码。

leegang12的专栏 362

weblogic配置连接池

weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@38" back into the connection pool "datasource", currently reserved by: java.lang.Exception  at weblogic.jdbc.common.internal.Co

tianlong1569的专栏 3148

Qt C++ 的虚拟演播室系统

**数据流转**:OpenCV 处理的图像格式通常是 `cv::Mat`,而 Qt 3D 渲染需要 `QImage` 或 `QTexture2D`。// 临时用颜色代替。// 前景在背景前面。#### 3.3 主窗口与 Qt 3D 集成 (`mainwindow.h` / `.cpp` / `.ui`)* **更复杂的 3D 场景**:加载 3D 模型(.obj, .gltf 等)作为背景和道具。1. **构建项目**:确保 `.pro` 文件中的 OpenCV 路径配置正确,然后构建项目。

寒寒豆豆软件公司的博客 111

weblogic 控制台端口_干货|Weblogic漏洞总结

0x01 Weblogic简介1.1 叙述Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。Weblogic将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成...

weixin_39963053的博客 1080

点云处理实操(四) -PCL中的点云三角化

点云处理实操(四) -PCL中的点云三角化

cangqiongxiaoye的博客 939

16. SAP Fiori Elements 应用里图片字段(Image)的显示原理介绍

很多朋友向我反映,学习了 一段时间的 SAP Fiori Elements 开发,但是感觉整套体系对于自己来说还是个黑盒子,很多技术点,看了 SAP 官方帮助文档后,觉得自己懂了,但是一旦需要自己动手做一些东西出来时,又觉得一片茫然。 其实笔者自己也经历过这个过程。究其原因,还是大家对 Fiori Elements 一些技术细节没有理解,对 SAP 官方的知识点仅仅停留在记忆,甚至是死记硬背上面。 不过没有关系,本教程笔者会刻意设置一些练习,让大家动手,在实战中逐渐熟悉 Fiori Elements 这

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 754

weblogic部署servlet

在使用命令行部署之前,要先进行环境变量的初始化,否则系统将不能识别weblogic.Deploy命令:D:/bea/weblogic81/server/bin>setWLSEnv.cmdbuild.xml文件改成如下:

蛰脚踝的天蝎 879

某验SVG图标验证码识别思路(非训练)

本文提出了一种无需训练的某验SVG图标验证码识别方法。通过分析SVG文件结构,使用正则表达式提取静态图标数据,并借助CairoSVG库转换为PNG格式。随后采用坐标定位方式裁剪出12个固定位置的图标,最后利用ResNet50提取特征,通过余弦相似度匹配目标图标。该方法避免了训练目标检测模型,实现了高效准确的验证码识别。关键步骤包括SVG文件预处理、图标定位裁剪和基于预训练模型的相似度比对。

九月镇灵将的博客 417

Weblogic 连接池 + Oracle + Servlet" 的无状态SessionBean 全攻略

jbuilder7 + welogic6.1+ Oracle8i一个无状态的Session bean连接weblogic 数据库连接池取 Oracle一个表的一个字段值返回给客户端 (servlet)就这些,now整理成笔记。1. 确认安装好Oralce 和 Webligc 6.1 .Jbuilder7   都是默认安装2. 开始配置Jbuilder7 和Weblogic 的连接  

飞鸟Blog 1396

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java weblogic连接池,两种使用weblogic连接池的方法:JAVA应用程序

我只想在开发的java应用中利用weblogic提供的数据源,不想用JDBC直接连接到数据库可以吗?其实我正是带着这样的疑问开始的,而到最后得到的答案是肯定的。 首先还是在Myeclipse中新建一个java过程,当然了先是创建一个生成连接的类Connect.java,这里给出我的代码:package connection;import java.sql.*;import java.util...

weixin_28685287的博客 481

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

利用weblogic的连接池连接数据库

以往用JAVA存取数据库都是直接用JDBC连接数据库; 一般的,每个数据库客户端应用程序都要打开一个或一个以上的数据库连接, 而在weblogic下我们可以利用weblogic提供的POOL来存取数据库, 使每个数据库客户端共同分享一个或一个以上的数据库连接, 从而可以提高程序的执行效率和减轻数据库服务器的负担。 这篇文章主要讨论的是服务器的配置和代码的实现,在这里在下不想讨论太多POOL的概念和

welcomejzh的专栏 1342

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java weblogic连接池,Weblogic JNDI 方式连接连接池 (工作中遇到的问题)

背景描述工作中客户的代码中没有alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS',这个sql,可是agent每条请求平均抓了60次,用户“要一个说法”weblogic使用JNDI 自行配置 往下拉这里有一个测试的表名需要注意下,可能跟下面的错误有关系,不能使oracl关键字ORA 点击刚刚新建的 往下拉下面有一个高级点开...

weixin_39680678的博客 706

weblogic集群配置和session共享(12c版本) 上

weblogic集群配置和session共享(12c版本)

个人博客 8123

weblogic数据库连接池、连接超时、session超时配置

1、数据库连接池配置 2、连接池超时时间配置 连接池配置路径:services->jdbc->data Sources->configuration->connection Pool ->Advanced->Inactive connection Timeout 如下图 这里设置连接池回收时间,时间单位为秒,比...

weixin_30532759的博客 1779

WebLogic 通过数据库的方式实现Session共享的配置

1. 配置准备 1) 要配置JDBC的方式复制Session,主要为下面三个步骤 (1)在数据库中创建表 (2)创建对数据库具有读/写权限的连接池 (3)在weblogic.xml 部署描述符中配置会话持久性 2) 配置会话的持久性的示例如下: jdbc MYSQL wl_servlet_sessions  可选参数如下。 ①

dqp2012的博客 4506

记一次Weblogic连接池泄露的修复过程

问题描述从weblogic控制台上,可以看到连接泄露已经达到了6K+,应用已经变得非常不稳定。根据以往的经验,连接池出现泄漏情况一般为代码申请了一个数据库连接,使用后未正常关闭,导致连接一致被占用,应用运行长时间后,累积的泄漏连接越来越多,导致应用在申请数据库连接时出现无可用连接的情况,从而出现应用报异常的情况。排查过程从PLSQL中 工具 -会话 可以看到 存在的sql,然后对应到了具体的代

小工匠 3万+

利用weblogic的POOL(连接池)连接数据库

以往用JAVA存取数据库都是直接用JDBC连接数据库; 一般的,每个数据库客户端应用程序都要打开一个或一个以上的数据库连接, 而在weblogic下我们可以利用weblogic提供的POOL来存取数据库, 使每个数据库客户端共同分享一个或一个以上的数据库连接, 从而可以提高程序的执行效率和减轻数据库服务器的负担

1442

Java web的笔记

1.web开发模型的2种模式,我们使用的是哪一种其优缺点是什么? b/s c/s b/s优点:成本低,客户端零维护,安全性高 缺点:负载重,分布式应用,宽带带宽 2.http是什么其作用和特点各是什么? http:超文本传输协议 基于请求和响应的无状态传输状态 3.servlet的执行流程? action→xml中的url→name→name→class→get或post 三层体系 数据层 存储大量的数据信息和数据逻辑,完成与数据有关的安全,完整性控制,数据的一致性,并发操作 中间层 所有的应用系统,应用逻

m0_46937429的博客 441

index加载显示servlet数据_Servlet(下)

在这一篇文章里,将会讨论ServletContext以及Servlet映射规则。这两个知识点非常重要,ServletContext直接关系到SpringIOC容器的初始化(请参考ContextLoaderListener解析),而Servlet映射规则与SpringMVC关系密切。可以说,作为初学者只要把这两点搞清楚,那么对Spring/SpringMVC的理解将会超过70%的程序员。我没开玩笑,...

weixin_39520199的博客 227

Weblogic中配置Servlet

在应用目录/Web-inf/web.xml中: <servlet> <servlet-name>Helloworld</servlet-name> //Servlet名称(不一定是类名称) <servlet-class>Helloworld</servlet-cla...

weixin_30905133的博客 596

idea编写的servlet无法访问_Java Web--Servlet--初识

Java Web--Servlet--初识ServletServlet的继承关系与生命周期初识Servlet-Servlet继承关系与生命周期一、Servlet产生背景二、Servlet是什么2.1、广义上来讲2.2、狭义上来讲三、Servlet的开发流程3.1、通过IDEA创建Java Web工程(1)、创建web工程(2)、定义工程名与模块名(3)、项目的基本结构(4)、创建Servlet(5...

weixin_39917791的博客 1459
上一篇: C++Builder使用ADSI创建web站点
下一篇: 从高交会看中国科技的落后--个人观感
Pasp
博客等级 码龄26年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值