jakarta-tomcat-5.0.28和Eclipse3.1和MyEclipse4.0GA和MSSQL2000SP4和JDK1.4.2配置JNDI辛苦完成档
转载请注明作者:ghyghost(爱国人士)
在学习J2EE中的JNDI时,发现书上讲的配置环境这方面内容几乎没有,在网上找了一些相关的资料也非常模糊,而且例子不是不准确,就是CONN为NULL这些怪事情,终于还在研究下搞定,步骤非常简单,但研究起来的确是一件吃辛苦的事情。嗯^_^
第一步要做的肯定是安装相应的软件吧。JDK先要安装,然后设置一下环境变量,下一步是eclipse3.1及myeclipse4.0GA和tomcat5.0.28及MSSQL2000。
第二步肯定是JDBC FOR MSSQL2000 SP3的安装及COPY相应的JAR文件到TOMCAT相应的目标目录,此处省略。
第三步就是设置了。
进入eclipse3.1新建一个[Web Project]项目名字为JNDI_PROJECT,然后在package explorer窗口中JNDI_PROJECT项目中的WebRoot目录中新建一个JSP文件名字叫ghyghost.jsp(内容为默认),然后将当前项目目录WebRoot目录中WEB-INF目录中的Web.xml文件全部内容改成如下的全部内容:
<?
xml version="1.0" encoding="UTF-8"
?>
<
web-app
version
="2.4"
xmlns
="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
<
resource-ref
>
<
res-ref-name
>
jdbc/JNDINAME
</
res-ref-name
>
<
res-type
>
javax.sql.DataSource
</
res-type
>
<
res-auth
>
Container
</
res-auth
>
</
resource-ref
>
</
web-app
>
注意到这句了吗: < res-ref-name > jdbc/JNDINAME </ res-ref-name >??其中jdbc/JNDINAME中的JNDINAME就是你的JNDI的名字,相当于你的名字呀,很重要,这里看官先别改,设置与我一样就行。OK。!
这时在eclipse3.1中开始部属这个项目,并且启动TOMCAT服务器。进入G:\Tomcat\webapps这个目录后,发现有一个目录名字为JNDI_PROJECT的,就证明部属成功了。恭喜你。
下一步要做的就是进入 http://localhost:8080/admin这个本地网址了,然后输入相应的用户名和密码后,在左边的树结构中发现有三个结点,分别是:Tomcat Server和Resources和User Definition这三个,这三个结点还有子结点,我们只关心第一个Tomcat Server这个结点,点击Service(Catalina)这个结点左边像“钥匙”的图标展开树形结构,再点击Host(localhost)这个结点左边像“钥匙”的图标展开树形结构,如果这时你看到有一个结点的名字是:Context(/abc),再一次恭喜你,离成功很近了。
那么我们就点击Context(/JNDI_PROJECT)结点左边像“钥匙”的图标再一次展开树形结构,里面的Resources结点中有结点Data Sources,非常棒,这个结点就是我们想要的结果。点击Data Sources这个结点,在网页界面的右边出现了界面,这时就会发现JNDI NAME下面有一个我们刚刚在XML定义的 jdbc/JNDINAME 链接,点击链接后,出现一个界面,我们只关心的是前五项,即:
输入完成JSP程序后,重新部属一下ABC这个项目,并启动TOMCAT服务器后,输入如下网址:
http://localhost:8080/JNDI_PROJECT/ghyghost.jsp
这时如果出现类似如下的内容就说明你的JNDI的实验做成功了。呵呵,
abc1
abc2
org.apache.commons.dbcp.BasicDataSource@32ef2d abc3
abc4
abc5
abc6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
connection:org.apache.commons.dbcp.PoolableConnection@7c7894
打字好累~~
转载请注明作者:ghyghost(爱国人士)
在学习J2EE中的JNDI时,发现书上讲的配置环境这方面内容几乎没有,在网上找了一些相关的资料也非常模糊,而且例子不是不准确,就是CONN为NULL这些怪事情,终于还在研究下搞定,步骤非常简单,但研究起来的确是一件吃辛苦的事情。嗯^_^
第一步要做的肯定是安装相应的软件吧。JDK先要安装,然后设置一下环境变量,下一步是eclipse3.1及myeclipse4.0GA和tomcat5.0.28及MSSQL2000。
第二步肯定是JDBC FOR MSSQL2000 SP3的安装及COPY相应的JAR文件到TOMCAT相应的目标目录,此处省略。
第三步就是设置了。
进入eclipse3.1新建一个[Web Project]项目名字为JNDI_PROJECT,然后在package explorer窗口中JNDI_PROJECT项目中的WebRoot目录中新建一个JSP文件名字叫ghyghost.jsp(内容为默认),然后将当前项目目录WebRoot目录中WEB-INF目录中的Web.xml文件全部内容改成如下的全部内容:
注意到这句了吗: < res-ref-name > jdbc/JNDINAME </ res-ref-name >??其中jdbc/JNDINAME中的JNDINAME就是你的JNDI的名字,相当于你的名字呀,很重要,这里看官先别改,设置与我一样就行。OK。!
这时在eclipse3.1中开始部属这个项目,并且启动TOMCAT服务器。进入G:\Tomcat\webapps这个目录后,发现有一个目录名字为JNDI_PROJECT的,就证明部属成功了。恭喜你。
下一步要做的就是进入 http://localhost:8080/admin这个本地网址了,然后输入相应的用户名和密码后,在左边的树结构中发现有三个结点,分别是:Tomcat Server和Resources和User Definition这三个,这三个结点还有子结点,我们只关心第一个Tomcat Server这个结点,点击Service(Catalina)这个结点左边像“钥匙”的图标展开树形结构,再点击Host(localhost)这个结点左边像“钥匙”的图标展开树形结构,如果这时你看到有一个结点的名字是:Context(/abc),再一次恭喜你,离成功很近了。
那么我们就点击Context(/JNDI_PROJECT)结点左边像“钥匙”的图标再一次展开树形结构,里面的Resources结点中有结点Data Sources,非常棒,这个结点就是我们想要的结果。点击Data Sources这个结点,在网页界面的右边出现了界面,这时就会发现JNDI NAME下面有一个我们刚刚在XML定义的 jdbc/JNDINAME 链接,点击链接后,出现一个界面,我们只关心的是前五项,即:
JNDI Name: 这里面显示你的JNDI的名字,就像你的名字一样,叫你的名字就是你,不是别人。 因为前面我们在Web.XML文件中定义过了名字了,所以在这里就能显示出来。
Data Source URL: 数据资源的URL,如果你写过JDBC很熟悉这个名词吧,呵呵。这里我们添上:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs我们要连接的是pubs数据库,MSSQL2000中自带的。
Data Source URL: 数据资源的URL,如果你写过JDBC很熟悉这个名词吧,呵呵。这里我们添上:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs我们要连接的是pubs数据库,MSSQL2000中自带的。
JDBC Driver Class: 这个不用讲了吧,添入:com.microsoft.jdbc.sqlserver.SQLServerDriver
User Name和Password是你在MSSQL2000企业管理器中设置的用户名和密码,在我这里用户名为sa密码为空,即不添。
转载请注明作者:ghyghost(爱国人士)
OK,到此,添过了上面五项内容后,点击SAVE提交表单,保存起来还要点击网页上面的Commit Changes按钮来更新一下系统设置。
到此我们在TOMCAT中的ADMIN中的设置就到此为至。
--------------------------------------------------
这一步开始进入ECLIPSE3.1中写JSP用JNDI连接数据库的代码了,测试代码如下:
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
%>
<%
@ page
import
=
"
javax.sql.*
"
%>
<%
@ page
import
=
"
java.sql.*
"
%>
<%
@ page
import
=
"
javax.naming.*
"
%>
![]()
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html
>
<
head
>
</
head
>
![]()
<
body
>
<%
Context ctx
=
null
;
Connection cnn
=
null
;
java.sql.Statement stmt
=
null
;
ResultSet rs
=
null
;
![]()
try
{
ctx = new InitialContext();
if (ctx == null)
throw new Exception("initialize the Context failed");
out.println("abc1" + "<br>");
DataSource ds = (DataSource) ctx
.lookup("java:comp/env/jdbc/JNDINAME");//看见这句没?连接的JNDI的名字为:JNDINAME很重要
out.println("abc2" + "<br>");
out.println(ds);
out.println("abc3" + "<br>");
![]()
if (ds == null)
{
![]()
throw new Exception("datasource is null");
}
out.println("abc4" + "<br>");
![]()
try
{
out.println("abc5" + "<br>");
cnn = ds.getConnection();
![]()
if (cnn == null)
{
out.println("cn is NONONO!");
}
out.println("abc6" + "<br>");
stmt = cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select * from jobs");
![]()
![]()
while (rs.next())
{
out.println(rs.getObject("job_id").toString());
}
out.println("<br> connection:" + cnn);
![]()
} catch (Exception e)
{
e.printStackTrace();
}
![]()
![]()
}
finally
{
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (cnn != null)
cnn.close();
if (ctx != null)
ctx.close();
}
![]()
%>
</
body
>
</
html
>
转载请注明作者:ghyghost(爱国人士)
OK,到此,添过了上面五项内容后,点击SAVE提交表单,保存起来还要点击网页上面的Commit Changes按钮来更新一下系统设置。
到此我们在TOMCAT中的ADMIN中的设置就到此为至。
--------------------------------------------------
这一步开始进入ECLIPSE3.1中写JSP用JNDI连接数据库的代码了,测试代码如下:
输入完成JSP程序后,重新部属一下ABC这个项目,并启动TOMCAT服务器后,输入如下网址:
http://localhost:8080/JNDI_PROJECT/ghyghost.jsp
这时如果出现类似如下的内容就说明你的JNDI的实验做成功了。呵呵,
打字好累~~
转载请注明作者:ghyghost(爱国人士)