当前页面: 开发资料首页 → J2EE 专题 → servlet数据库连接池问题:如何配置Tomcat,用jdbc-odbc桥,下面的DBName该怎么写?
servlet数据库连接池问题:如何配置Tomcat,用jdbc-odbc桥,下面的DBName该怎么写?
摘要: servlet数据库连接池问题:如何配置Tomcat,用jdbc-odbc桥,下面的DBName该怎么写?
我想开发一个servlet用来验证用户登陆验证用户名和密码
我的开发环境如下:
eclipse3.2+myeclipse5.0+tomcat5.5+sqlserver2000
如何配置Tomcat,用jdbc-odbc桥,下面的DBName该怎么写?希望有具体步骤和详细的配置说明.
package stockserver;
import java.io.*;
import java.sql.*;
import javax.naming.InitialContext;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.DataSource;
public class StockServerlet extends HttpServlet {
private static final String DBName="";
private DataSource datasource;
public void init(final ServletConfig config) throws ServletException {
//初始化连接池
try{
final InitialContext ic=new InitialContext();
datasource=(DataSource)ic.lookup(DBName);
}catch(final Exception e){
e.printStackTrace();
throw new ServletException("init error");
}
}
public void doGet(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/ocet-stream");
InputStream is=request.getInputStream();
OutputStream os=response.getOutputStream();
DataInputStream call=new DataInputStream(is);
DataOutputStream result=new DataOutputStream(os);
final byte method=call.readByte();
switch(method){
case 0:login(call,result);
break;
}
}
private void login(final DataInputStream call,final DataOutputStream result)throws IOException{
Connection conn;
String username=call.readUTF().toString();
String password=call.readUTF().toString();
try{
conn =datasource.getConnection();
String query="select CustName,CustPassword from Customer"+
"where CustName='"+username+"' and CustPassword='"+password+"'";
PreparedStatement ps1 = conn.prepareStatement(query);
ResultSet rs1 = ps1.executeQuery();
if(rs1.next())
result.writeInt(1);
else
result.writeInt(0);
rs1.close();
ps1.close();
conn.close();
return;
}catch(final SQLException e){
e.printStackTrace();
}
}
}
ic.lookup(DBName);
DBName不是JNDI名吗?
楼主我支持你
-----------------
松自萧萧云自飘
风中独酌亦逍遥
抚却凡愁与尘念
琴韵未解恨已销
datasource=(DataSource)ic.lookup(DBName);
DBName 应该为 "java:comp/env/*" 其中 * 为你所建立的数据源名称,
也就是说在tomcat5.5 中 sever.xml的配置中应该有这样的代码
name="jdbc/dbcpTEST"
type="javax.sql.DataSource"
password=""
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://xuanxuan:1433;databaseName=test"
maxActive="4"/>
所以我所说的 * ,就应该是 jdbc/dbcpTEST
数据源是个骨头,得好好啃 呵呵
另外还有些准备和配置
细心才是