Jsp通过JDBC连接到SQL Server2008数据库遇到的几个问题
今天刚刚学jdbc ,之前通过main连到过Sql server 2008现在通过jsp连接sql server 2008,遇到了一些问题,跟大家分享一下,避免少走弯路
一、ClassNotFoundException
1.jdbc连接包一定要放在Webcontent/lib目录下这里要右键BuildPath把这个包加到liblaries,还要把这个包加到tomcat/lib目录下,
2.新建一个jsp文件
加入如下代码
<%
String driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=User";
String username = "sa";
String password = "******";
try
{
//加载数据库驱动
Class.forName(driverClass);
System.out.println("已成功加载数据库驱动");
Connection con = DriverManager.getConnection(url,username,password);
System.out.println("已成功连接到数据库驱动");
PreparedStatement ps = con.prepareStatement("select * from tb_user");
ResultSet rs = ps.executeQuery();
while(rs.next())
{
out.println("用户名:"+rs.getString(2)+"密码"+rs.getString(3));
}
rs.close();
ps.close();
con.close();
}catch(Exception e)
{
out.print("发生错误");
e.printStackTrace();
}
%>
注意:在1433;和DatabaseName之间不能用空格否则会报找不到类这个错误
然后就是执行查询
二、找不到数据库中的表对象
PreparedStatement ps = con.prepareStatement("select * from tb_user");
ResultSet rs = ps.executeQuery();
在这里我犯了一个错误,导致找不到'tb_user'这个对象
就是在数据库中表命名为db_user
在jsp中又写成了tb_user一字之差,费了好大的劲才发现这个错误
三、eclispe会修改tomcat的项目发布路径,并写在里面启动tomcat在外面无法访问到http://locahost:8080/的主页,具体修改办法百度