1:已经把微软的三个驱动包放在tomcat5.5的common\lib文件夹下面
2:在server.xml中 修改
修改我的应用程序的路径:
<Host name="localhost" appBase="F:\MyTemp\webapps"
在 </Host> 之前加入下述代码: <Context path="/FirstJsp" reloadable="true" docBase="FirstJsp">
<Resource name="jdbc/sa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_login</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>1000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>50</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>50</value>
</parameter>
</ResourceParams>
</Context>3:编写连接类:
package com.yu.conpool;
import javax.naming.*;
import javax.sql.DataSource;
import java.sql.*;
public class Condata{
private static Connection con;
ResultSet rs;
private static Context ctx;
private static Context env;
public static synchronized Connection getConnection() throws Exception{
try{
ctx=new InitialContext();
env=(Context)ctx.lookup("java:comp/env");
DataSource ds=(DataSource)env.lookup("jdbc/sa");
return con=ds.getConnection();
}
catch(SQLException e){
throw e;
}
catch(NamingException e){
throw e;
} } public ResultSet executeQuery(String sql){
try{
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException er){
System.err.print(er.getMessage());
}
return rs;
}
}4:在jsp文件中:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Date" %>
<%@ page import="com.microsoft.jdbc.sqlserver.SQLServerDriver"%>
<%@ page import="com.yu.conpool.Condata"%>
<% request.setCharacterEncoding("gb2312"); %><html>
<body><br>begin<br><%
Condata con=new Condata();
Connection conn=con.getConnection();
String sql="select * from user_info";
ResultSet rs=con.executeQuery(sql);
while(rs.next())
{
。
%>
</body>
</thml>提示如下错误:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /1st.jsp:1512:
13: <%
14: Condata con=new Condata();
15: Connection conn=con.getConnection();
16: String sql="select * from user_info";
17: ResultSet rs=con.executeQuery(sql);
18: while(rs.next())
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)是不是还要在web.xml文件中加如什么内容???
如果是的话,web.xml在哪里?tomcat的安装目录下么?加入什么内容???
2:在server.xml中 修改
修改我的应用程序的路径:
<Host name="localhost" appBase="F:\MyTemp\webapps"
在 </Host> 之前加入下述代码: <Context path="/FirstJsp" reloadable="true" docBase="FirstJsp">
<Resource name="jdbc/sa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_login</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>1000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>50</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>50</value>
</parameter>
</ResourceParams>
</Context>3:编写连接类:
package com.yu.conpool;
import javax.naming.*;
import javax.sql.DataSource;
import java.sql.*;
public class Condata{
private static Connection con;
ResultSet rs;
private static Context ctx;
private static Context env;
public static synchronized Connection getConnection() throws Exception{
try{
ctx=new InitialContext();
env=(Context)ctx.lookup("java:comp/env");
DataSource ds=(DataSource)env.lookup("jdbc/sa");
return con=ds.getConnection();
}
catch(SQLException e){
throw e;
}
catch(NamingException e){
throw e;
} } public ResultSet executeQuery(String sql){
try{
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException er){
System.err.print(er.getMessage());
}
return rs;
}
}4:在jsp文件中:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Date" %>
<%@ page import="com.microsoft.jdbc.sqlserver.SQLServerDriver"%>
<%@ page import="com.yu.conpool.Condata"%>
<% request.setCharacterEncoding("gb2312"); %><html>
<body><br>begin<br><%
Condata con=new Condata();
Connection conn=con.getConnection();
String sql="select * from user_info";
ResultSet rs=con.executeQuery(sql);
while(rs.next())
{
。
%>
</body>
</thml>提示如下错误:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /1st.jsp:1512:
13: <%
14: Condata con=new Condata();
15: Connection conn=con.getConnection();
16: String sql="select * from user_info";
17: ResultSet rs=con.executeQuery(sql);
18: while(rs.next())
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)是不是还要在web.xml文件中加如什么内容???
如果是的话,web.xml在哪里?tomcat的安装目录下么?加入什么内容???
应该是没读到你配置的参数
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/sa</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
高手已经给出解决方案。
这样的数据库连接池不利于系统的移植,楼主有时间可以了解下proxool等第三方的数据库连接池。
http://hi.baidu.com/newfys/blog/item/d2da890f9b68a12d6159f354.html