注册 登录
编程论坛 J2EE论坛

[求助]桥连正确,直连失败

非凡DZ 发布于 2007-11-03 16:26, 702 次点击
index.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
index
</title>
<script type="text/javascript" language="javascript">
<!--
function check(){
var name = document.frm.name.value;
var pass = document.frm.pass.value;
if(name == ""){
alert("用户名不能为空!");
return false;
}else if(pass == ""){
alert("密码不能为空!");
return false;
}else{
return true;
}
}
//-->
</script>
</head>
<body bgcolor="#ffffff">
<h1>
欢迎光临本网站
</h1>
<form action="login.jsp" name="frm" method="GET" onsubmit="return check()">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pass"/></td>
</tr>
<tr>
<td><input type="submit" value="提交"/></td>
<td><input type="reset"/></td>
</tr>
</table>
<br />
<input type="button" value="注册新用户" onclick="location.href='register.jsp'"/>
</form>
</body>
</html>

login.jsp
<%@ page contentType="text/html; charset=GBK" import="java.sql.*" %>
<html>
<head>
<title>
login
</title>
</head>
<%
String dirver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName = webDB";
String userName = "sa";
String password = "";
String name = request.getParameter("name");
//String aa = new String(name.getBytes("iso8859-1"),"gb2312");
String pass = request.getParameter("pass");
//String bb = new String(pass.getBytes("iso8859-1"),"gb2312");
String sql = "select * from userInformation where userName = '"
+name+"' and [password] = '"+pass+"'";
try{
Class.forName(dirver);
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Connection con = DriverManager.getConnection("jdbc:odbc:test");
Connection con = DriverManager.getConnection(url,userName,password);


Statement stn = con.createStatement();
ResultSet rs = stn.executeQuery(sql);
if(rs.next()){
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("fail.jsp");
}
}catch(Exception e){
}
out.print(name);
out.print("<br>");
out.print(pass);
%>
<body bgcolor="#ffffff">
</body>
</html>

为什么同样的程序桥连就能转到相应的页面
而直连却不能呢?请大家指点?
当直连时,红色的代码不能得到执行
5 回复
#2
purana2007-11-03 16:30
感觉好像没问题的说..
#3
枫飘天涯2007-11-03 20:10
直连时要加载三个.jar驱动包 是不是没加载这三个包哩
因为 看楼主代码 没有什么问题哩
#4
netstriker2007-11-03 21:08
  应该是驱动没有加载好,因为用直接桥的话是windows提供的驱动,如果是直接连接的话就要手动加载驱动,所以应该是没有加载好驱动,可以到环境配置下的classpath下把你的驱动,你这里应该是 mssql 的驱动,应该说是一个.jar包吧,把它的路径追加到 classpath的后面应该可以了.
#5
非凡DZ2007-11-04 10:34
问题解决了
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName = webDB";
这个串中间多写了两个空格
改成这样就成了
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=webDB";
#6
netstriker2007-11-04 10:38
哦 原来是这样,学习了。
1