(转)WebSphere的web工程中怎么获取数据源
原文:http://aguu125.iteye.com/blog/1694313
https://blog.csdn.net/bigtree_3721/article/details/44900325-------JNDI之java:comp/env
was配置数据源和tomcat是不同的。tomcat只需要配置tomcat 的service.xml或者content.xml,然后 WEB程序就不需要配置了。但是was不同.was 除了在控制台配置数据源后,还需要在web.xml 和WEB-IBN.XML中配置
websphere 下获取jndi,有两种方式:java:comp/env/cas与jdbc/cas。 A.lookup("java:comp/env/cas")与lockup("jdbc/cas")在websphere中都可以使用。两者的差别在于,java:comp/env/cas是websphere建议使用的方式 。
如果你当前的线程属于websphere的线程,建议使用java:comp/env/cas的方式,否则was的控制台将报出警告。
在web程序中,要实现通过java:comp/env/cas的方式来获得jndi必须在web.xm和ibm-web-bnd.xmi文件里分别添加
web.xml:
- <resource-ref id="ResourceRef_1129470735234">
- <res-ref-name>cas_ase</res-ref-name>
- <res-type>java.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- <res-sharing-scope>Shareable</res-sharing-scope>
- </resource-ref>
ibm-web-bnd.xmi:
- <resRefBindings xmi:id="ResourceRefBinding_1129470735234"
- jndiName="jdbc/cas_ase">
- <bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1129470735234" />
- </resRefBindings>
以上两段配置的意思是告诉web容器的上下文环境,将应用映射到的jndi资源。然后就可以通过lookup(“java:comp/env/cas/jdbc/cas_ase”)名来获得数据源。
然而,如果你当前执行的线程不在was的容器内,比如说你通过web容器的线程新起了一个子线程,那么该线程将不在容器的上下文内,通过lookup(“java:comp/env/cas/jdbc/cas_ase”)名来获得数据源
将报错,这个时候你只能使用通用的获取jndi资源的方式,就是通过lookup(“jdbc/cas”)来实现。“jdbc/cas”为你在was的资源设定的jndi名
java代码:
- package com;
- import java.sql.Connection;
- import java.util.Hashtable;
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.naming.NamingException;
- import javax.sql.DataSource;
- public class conn {
- public static void main(String[] args) throws Exception {
- InitialContext initialContext = getInitialContext();
- javax.sql.DataSource ds = (DataSource) initialContext.lookup("jdbc/cas_ase");
- Connection cn = ds.getConnection();
- if (cn != null){
- System.out.println("Connection ok");
- }
- }
- /* 因为此类不在Websphere服务器内部运行,所以需要配置环境变量,否则是可以省略的 */
- public static InitialContext getInitialContext() throws NamingException {
- Hashtable env = new Hashtable();
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
- env.put(Context.PROVIDER_URL, "iiop://localhost:2809"); // iiop是协议
- InitialContext context = new InitialContext(env);
- return context;
- }
- }
关于JNDI可以看:http://blog.csdn.net/lan861698789/article/details/26402935
关于web.xml中参数的解释:
resource-ref元素用于指定对外部资源的servlet引用的声明。<!ELEMENT resource-ref (description?, res-ref-name,
- res-type, res-auth, res-sharing-scope?)>
- <!ELEMENT description (#PCDATA)>
- <!ELEMENT res-ref-name (#PCDATA)>
- <!ELEMENT res-type (#PCDATA)>
- <!ELEMENT res-auth (#PCDATA)>
- <!ELEMENT res-sharing-scope (#PCDATA)>
resource-ref子元素的描述如下:
● res-ref-name是资源工厂引用名的名称。该名称是一个与java:comp/env上下文相对应的JNDI名称,并且在整个Web应用中必须是惟一的。
● res-auth表明:servlet代码通过编程注册到资源管理器,或者是容器将代表servlet注册到资源管理器。该元素的值必须为Application或Container。
● res-sharing-scope表明:是否可以共享通过给定资源管理器连接工厂引用获得的连接。该元素的值必须为Shareable(默认值)或Unshareable。
转载于:https://www.cnblogs.com/liujiacai/p/10299408.html
(转)WebSphere的web工程中怎么获取数据源相关推荐
- web工程中的各种路径(eclipse开发)
目前遇到的 web 工程中要写url和路径的文件有 webContent中.jsp/.html :action src中的servlet类 : 映射地址.重定向.请求转发.访问资源文件(webCont ...
- eclipse的web工程中导入jir包如何放到lib目录中
eclipse的web工程中import的jar文件,如何自动部署到tomcat中 eclispe中导入external jar package 无法添加入webcontent中的lib中,导致tom ...
- html500错误原因1003无标题,web工程中404/500错误页面配置+404页面模板
[实例简介] web工程中404/500错误页面配置+404页面模板 [实例截图] [核心代码] 247959a9-c3ea-4360-8e57-105d680b29f0 ├── 404页面模板 │ ...
- web工程中集成cas单点登录
背景 cas的服务端已经搭建成功,现在需要在web项目中集成cas client.我们项目使用spring 1.在pom中配置 <!--cas单点登录 --><dependency& ...
- java web工程中如何添加图片_java web中如何添加图片
java web中如何添加图片 对于java可视化界面插入背景图片只需要background-image:url(图片路径)就行,而对于web项目中,并非如此 效果如下: 我们就需要在jsp页面中写J ...
- 在java web工程中jsp页面中使用kindeditor
在这之前我们用Notepad++写过kindeditor 在Java web工程里也差不多 首先我们复制之前的thml代码粘贴到工程里 然后把样式也复制进去 然后就可以运行了 转载于:https:// ...
- Web应用中request获取各种获取path或URI,URL的方法
Web应用中有各种获取path或URI,URL的方法,假设网页访问地址: http://localhost:8080/tradeload/TestServlet Web应用context: /trad ...
- java 集成logback_java web工程中logback换配置文件的路径
本人小网站: http://51kxd.com/ 欢迎大家不开心的时候访问访问,调节一下心情 web.xml中配置: logbackConfigLocation file:/datum/Data ...
- java web工程中使用帆软报表生成报表
1.新增模板,新增模板数据集,新增文件数据集 具体详情参考我前面的博客:https://blog.csdn.net/bird_tp/article/details/86483076 下面进行java代 ...
最新文章
- 前沿资讯|Spring Native 0.11.2、Spring Authorization Server 0.2.2 发布
- ACM练习 校赛183F:公平的游戏(TLE)【vector不重复添加、删除指定元素、排序】
- MySQL优化大总结
- 《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀
- 福州公交车与拖拉机相撞1人死亡
- hadoop 依赖式job_Java项目中使用XXL-JOB调度框架
- 2018级C语言大作业 - 黄金矿工
- 《高翔视觉slam十四讲》学习笔记 第五讲 相机与图像
- 16汇编第十讲完结Call变为函数以及指令的最后讲解
- QML 圆角进度条实现 圆角剪切
- 艾宾浩斯遗忘曲线-计划表30天
- 大数据精准营销数据分析处理(一)
- 纯JS实现在前端制作GIF表情包的网站
- 买一包旺仔牛奶糖奖励自己
- java scavenge_Java垃圾收集器之Parallel Scavenge收集器
- 无线耳机哪个品牌好?四大国内蓝牙耳机品牌排行
- 论文写作之查找中文对应的英文标题引用格式
- 简单远程遥控程序【网络程序设计 - 简单远程遥控程序,C实现】
- 音频多声道数据的操作
- 使用Formatter格式化数据