2013-05-15 20:28题主

有關在Tomat环境下JNDI的設置

小弟初玩webbuilder,在這裡請教一下,哪裏有關於JNDI比較完整的教材。
小弟不才,試了很多遍都不行。
請不吝賜教,謝謝。
2013-05-15 20:59#1
如果使用的是tomcat,在应用目录wb下建立META-INF目录,并复制软件包中的misc/context.xml文件,然后参照使用的数据库配置context.xml文件。
网上搜索一下JNDI 配置 有很多可供参考
2014-03-28 11:11#2
您好:
在以下動作完成後:
如果使用的是tomcat,在应用目录wb下建立META-INF目录,并复制软件包中的misc/context.xml文件,然后参照使用的数据库配置context.xml文件。

要如何測試 JNDI 是否成功?

謝謝!
2014-03-28 14:25#3
安装的时候如果JNDI测试不成功会有提示。
2014-03-28 17:19#4
您好:
就算我參考網址加入context.xm
重新啟動TOMCAT  也成功。
但 我不知從何測試 JNDI 是否成功連線,還是要重哪邊看?

因為安裝第1步

1, Install a JAVA web application server (such as Tomcat) and a database (such as MySql), create a JNDI entry for the database connection, ensure the JNDI is available, WebBuilder will use the database.

另外,SQL2005 若一般連線用 192.168.1.20\SQL2005來連

他是否要用jdbc:sqlserver://192.168.1.20:1433;instanceName=SQL2005;

?

謝謝!


2014-03-29 08:26#5
测试JNDI是否有效,可使用以下代码:

2014-03-31 13:26#6
您好:
我使用您的代碼:

您好:
我 
1.在C:\xampp\tomcat\ 下 建立 aaa目錄 ==>C:\xampp\tomcat\wb
2.C:\xampp\tomcat\wb\ 新增context.xml  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Context>
<Context reloadable="true" crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource name="jdbc/wb_sqlserver" auth="Container" type="javax.sql.DataSource"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=wbdb"
        username="sa" password="password" maxActive="20" maxIdle="10"
        maxWait="-1" />
</Context>

3.复制SQL Server驱动jar包,以SQL Server 2005为例,复制该文件sqljdbc4.jar至tomcat/lib目录
4.重新啟動 TOMCAT 再用您的 JND連線測試CODE!
            InitialContext ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/wb_sqlserver");
            out.println("--OK-");
==>HTTP Status 500 - javax.servlet.ServletException: javax.naming.NameNotFoundException: Name [jdbc/wb_sqlserver] is not bound in this Context. Unable to find [jdbc].

5.我將整個   context.xml  複製到C:\xampp\tomcat\conf\Catalina\localhost\wb.xml
結果仍是一樣
HTTP Status 500 - javax.servlet.ServletException: javax.naming.NameNotFoundException: Name [jdbc/wb_sqlserver] is not bound in this Context. Unable to find [jdbc].
2014-03-31 15:38#7
在wb下新建META-INF目录,在META-INF目录下再新增context.xml
2014-03-31 16:20#8
您好:
不好意思:

C:\xampp\tomcat\wb\META-INF\context.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Context>
<Context reloadable="true" crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource name="jdbc/wb_sqlserver" auth="Container" type="javax.sql.DataSource"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;instanceName=dbx;DatabaseName=erpx"
        username="sa" password="123123" maxActive="20" maxIdle="10"
        maxWait="-1" />
</Context>

我在COPY context.xml 到C:\xampp\tomcat\conf\Catalina\localhost\wb.xml
COPY C:\xampp\tomcat\webapps\ROOT\WEB-INF\web.xml -->C:\xampp\tomcat\wb\ROOT\WEB-INF\
web.xml

寫一個 AA.JSP測試
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>
<%@page import="javax.nameing.*" %>
<%
 Context inictx = new InitialContext();


%>  

但結果:
HTTP Status 500 - Unable to compile class for JSP:

type Exception report

message Unable to compile class for JSP:

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 6 in the jsp file: /ms_j.jsp
Context cannot be resolved to a type
3: <%@page import="javax.sql.*" %>
4: <%@page import="javax.nameing.*" %>
5: <%
6:  Context inictx = new InitialContext();
7: 
8: 
9: %>  


An error occurred at line: 6 in the jsp file: /ms_j.jsp
InitialContext cannot be resolved to a type
3: <%@page import="javax.sql.*" %>
4: <%@page import="javax.nameing.*" %>
5: <%
6:  Context inictx = new InitialContext();
7: 
8: 
9: %>  


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.


返回开发者社区