小弟刚做了一个JSP与SQLserver2000个人版连接的页,是要显示库中某个表的信息,服务器为tomcat5:<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css.css">
<title>JSP连接</title>
</head>
<body>
<div align="center">
<center><form method="post">
<%if(request.getParameter("B1")==null)
out.println("<input type=\"submit\" value=\"asc\" name=\"B1\">");
if(request.getParameter("B2")==null)
out.println("<input type=\"submit\" value=\"desc\" name=\"B2\">");%>
</form>
<a href="05.11.06_2.jsp" target="_blank"><font color=black size=5><b>create</b></font></a>
<table border="1" width="86%" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr>
<td width="8%" align="center" bgcolor="#FFFFCC">序 号</td>
<td width="20%" align="center" bgcolor="#FFFFCC">学号</td>
<td width="42%" align="center" bgcolor="#FFFFCC">姓名</td>
<td width="20%" align="center" bgcolor="#FFFFCC">性别(1为男)</td>
</tr>
<%
String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=larry01";
String user="sa";
String password="123"; Connection conn=null;
ResultSet rs=null ;
Statement stmt=null ;
try {
Class.forName(DBDriver); //加载数据库驱动程序
}catch(java.lang.ClassNotFoundException e) {
System.err.println("DBconn (): " + e.getMessage());
} try {
conn = DriverManager.getConnection(ConnStr,user,password);
stmt = conn.createStatement();
}catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}rs = stmt.executeQuery("select * from 学生表");
int i=1;
while (rs.next()) { %>
<tr>
<td width="8%" align="center"><%=i%></td>
<td width="20%"> <%=rs.getString("学号")%></td>
<td width="42%"> <%=rs.getString("姓名")%></td>
<td width="20%"> <%=rs.getString("性别")%></td>
</tr>
<%
i++ ;
}
%>
</table>
</center>
</div>
</body>
</html>
在IE浏览的时候出现以下错误信息
--------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp._05_11_06_jsp._jspService(_05_11_06_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.19以上为IE中出现的提示tomcat窗口中出现:aq.executeQuery:[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
请大侠们帮帮小弟 我已经快疯了 by the way我用Access 就可以
多谢
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css.css">
<title>JSP连接</title>
</head>
<body>
<div align="center">
<center><form method="post">
<%if(request.getParameter("B1")==null)
out.println("<input type=\"submit\" value=\"asc\" name=\"B1\">");
if(request.getParameter("B2")==null)
out.println("<input type=\"submit\" value=\"desc\" name=\"B2\">");%>
</form>
<a href="05.11.06_2.jsp" target="_blank"><font color=black size=5><b>create</b></font></a>
<table border="1" width="86%" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr>
<td width="8%" align="center" bgcolor="#FFFFCC">序 号</td>
<td width="20%" align="center" bgcolor="#FFFFCC">学号</td>
<td width="42%" align="center" bgcolor="#FFFFCC">姓名</td>
<td width="20%" align="center" bgcolor="#FFFFCC">性别(1为男)</td>
</tr>
<%
String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=larry01";
String user="sa";
String password="123"; Connection conn=null;
ResultSet rs=null ;
Statement stmt=null ;
try {
Class.forName(DBDriver); //加载数据库驱动程序
}catch(java.lang.ClassNotFoundException e) {
System.err.println("DBconn (): " + e.getMessage());
} try {
conn = DriverManager.getConnection(ConnStr,user,password);
stmt = conn.createStatement();
}catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}rs = stmt.executeQuery("select * from 学生表");
int i=1;
while (rs.next()) { %>
<tr>
<td width="8%" align="center"><%=i%></td>
<td width="20%"> <%=rs.getString("学号")%></td>
<td width="42%"> <%=rs.getString("姓名")%></td>
<td width="20%"> <%=rs.getString("性别")%></td>
</tr>
<%
i++ ;
}
%>
</table>
</center>
</div>
</body>
</html>
在IE浏览的时候出现以下错误信息
--------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp._05_11_06_jsp._jspService(_05_11_06_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.19以上为IE中出现的提示tomcat窗口中出现:aq.executeQuery:[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
请大侠们帮帮小弟 我已经快疯了 by the way我用Access 就可以
多谢
把while(rs.next())改为while(rs!=null && rs.next())
顺带,你应该可以在tomcat的work目录下面,找到对应jsp文件生成的java文件,察看
org.apache.jsp._05_11_06_jsp._jspService(_05_11_06_jsp.java:96)
96行是什么内容就可以了。
2、sqlserver的个人版,必须安装sqlserver sp3补丁,否则连不上。
org.apache.jsp._05_11_06_jsp._jspService(_05_11_06_jsp.java:96)先搞清这行代码是啥.
把while(rs.next())改为while(rs!=null && rs.next())
顺带,你应该可以在tomcat的work目录下面,找到对应jsp文件生成的java文件,察看
org.apache.jsp._05_11_06_jsp._jspService(_05_11_06_jsp.java:96)
96行是什么内容就可以了。
随便说一句要把驱动文件下的三个.jar包放到你的工程的lib文件夹下的
看jsp编译之后的java代码是哪一行了
我觉可能是你获取的connection是null的,然后对他进行了操作
<%while(!rs.next()) { %>
<p>没有记录</p>
<%}%>