tomcat6配置JNDI小结
初学JAVA,一开始就碰见这么多有关环境配置的事情,弄的焦头烂额。
前面的版本我完全搞不清,我用的是tomcat6.0.14,mysql server 5.1,看了很多网友的文章,还试验了半天,总算能顺利连接和操作了。
tomcat配置文件改一处就行了:
在C:\tomcat6.0.14\tomcat\conf\context.xml文件中的<Context></Context>标签间增加如下元素:
<Resource name="dataSource" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="123" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"/>
其中dataSource是在程序中引用的资源名字(等下可以看到,可以改成自己用的名字,和程序相对应就可以了);数据库的用户名,密码,数据库端口,数据库名要根据自己的实际情况更改。
下面在C:\tomcat6.0.14\tomcat\webapps文件夹下新建一文件夹test,在test下新建一jsp文件TestDB.jsp,写入如下代码:
<%@ page
contentType="text/html;charset=GBK"
import="java.sql.*,javax.sql.*,javax.naming.*"
%>
<html>
<head>
<title>hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<center>
<%
Statement stmt=null;
ResultSet result=null;int rowsNum=0;Connection conn=null;
try{
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/dataSource");//上面提到的dataSource与这里相对应
//至于java:comp/env/很高深,照抄就是了
conn=ds.getConnection();
stmt=conn.createStatement();
result=stmt.executeQuery("select * from user");
}catch(SQLException se){
se.printStackTrace();
}catch(NamingException ne){
ne.printStackTrace();
}
%><br><br><br>
<% while(result.next()){ %>
<p><%= result.getInt(1) %></p>
<p><%= result.getString(2) %></p>
<p><%= result.getString(3) %></p>
<%
}
result.close();
stmt.close();
conn.close(); %>
</center></body>
</html>
此外,还要确保tomcat/lib中有连接mysql的相关库文件mysql-connector-java-5.1.8-bin.jar,数据库也要准备好。
如果上面的都就绪了,就可以运行试验下了:启动tomcat(命令行cd C:\tomcat6.0.14\tomcat\bin,然后startup),启动mysql(命令行net start mysql),最后在浏览器中输入http://localhost:8400/test/TestDB.jsp(注意文件夹和端口号按实际需要改),显示出相关数据库中的内容,大功告成!