weblogic10 数据源配置

     今天,下载了一个weblogic10的版本因为他支持J2EE5.0,安装后想测试你下它好用吗?那就先从配置一个数据源开始吧!在myeclipse中配置好后(注意:最好使用weblogic自带的jdk,不然容易出错)。配置好后启动weblogic10,用http://127.0.0.1:7001/console地址进入welogic10的web控制台,输入用户名和密码后登陆。登陆成功后在页面中找到了domain structure选项在其下的目录树找到了services->jdbc->data source在页面的左方显示了数据源的配置点击new后一步一步按提示进行后直到出现有Test Configuration按钮页面,我进行了测试显示测试成功!于是就在该页面点了Finish按钮。心想着weblogic还挺好用,语句关闭了此页面重启了weblogic。就编写一个了一个测试程序在jsp中代码如下:

 <%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>数据源测试 </title>
  </head>
  <body>
  <%
Context envContext = (Context) new InitialContext();
DataSource ds = (DataSource) envContext.lookup("jndi/oracle"); //数据源的jndi ,查找配置
Connection conn = ds.getConnection();
  PreparedStatement pstm = conn.prepareStatement("select * from ttbvie");
  ResultSet rs = pstm.executeQuery();
  while(rs.next()){
  System.out.println(rs.getString(1));
  }
  %>
 
  </body>
</html>
部署后在页面用输入地址页面报错了错误信息如下:
Error 500--Internal Server Error
javax.naming.NameNotFoundException: While trying to lookup 'jndi.oracle' didn't find subcontext 'jndi'. Resolved ''; remaining name 'jndi/oracle'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at jsp_servlet.__index._jspService(__index.java:101)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:408)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:318)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
提示没没找到应用中的数据源,我很怀疑,这是为什么呢?我明明是配置好了。于是在在百度、google中查找错误原因试了很多方法还是有上述错误提示,这是为什么呢?
我开始从数据源入手,我把oracle服务关闭后,启动weblogic,没有异常。这是不正常的weblogic在启动时要对数据源进行初始化的,没有启动数据库服务应该报错的。我想肯定是我的数据源没有配好,我就把上一个数据源删除了(因为我不知道如何修改数据源,如果你有能修改那修改一个也应该能用),新建了一个数据源,这次我特别认真,仔细查看了每一步的提示;又到了有Test Configuration按钮的页面我测试又成功了。在我把鼠标移到Finish按钮的时候突然发现还有一个next按钮我说这是做什么用的,于是我就点了这个按钮看看是不是还有没有执行的步骤:点开之后,我才恍然大悟在在该页面中有如下提示:
Select Targets
You can select one or more targets to deploy your new JDBC data source. If you don't select a target, the data source will be created but not deployed. You will need to deploy the data source at a later time.
原来数据源测试成功后还要选择target才能够激活,我选择了target之后,点击了Finish按钮,再次从前weblogic,打开测试页面,数据库中的内容在控制台输出了(应为我是在控制台中输出信息的),而且页面也没有报错。显示正常!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值