站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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


数据源是个骨头,得好好啃 呵呵
另外还有些准备和配置
细心才是






↑返回目录
前一篇: 扫描枪扫描一下条码,这个条形码的号码在我们公司AS400的DB2数据库里有,然后读取这个条码相应的一些数据
后一篇: 启动Tomcat找不到我新建的工程!