数据源配置正确。在别人的电脑可以正常运行。很惆怅,求大神解救~
我的是Myeclipse9.0,tomcat6.X,JDK6.0
出错提示如下。
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
CoursesQuery.doGet(CoursesQuery.java:40)
CoursesQuery.doPost(CoursesQuery.java:71)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.代码如下:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;public class CoursesQuery extends HttpServlet {
private Connection con = null;// 数据库连接
private Statement stat = null;// Statement对象
private ResultSet rs = null;// 结果集 public void init(ServletConfig config) throws ServletException {
super.init(config);
// 连接数据库
String url = "jdbc:odbc:courses080902";// 数据库URL
String userName = "";// 登录数据库用户名
String password = "";// 用户密码
try {
// 加载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url, userName, password);
stat = con.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");// 设置文档类型及字符集
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>显示查询结果</TITLE></HEAD>");
out.println("<BODY>"); // 获取index.html输入的课程代码
String coursecode = request.getParameter("coursecode");
try {
String sql = "select * from 选课记录 where 课程代码='" + coursecode + "'";
System.out.println(sql);
rs = stat.executeQuery(sql);
if (rs.next()) {
String coursename = rs.getString("课程名称");
out.println("<font size=5>课程代码: </font><font size=5 color=blue>"
+ coursecode + "</font>&nbsp;&nbsp;");
out.println("<font size=5>课程名称: </font><font size=5 color=blue>"
+ coursename + "</font>&nbsp;&nbsp;<br><br>");
out.println("<font size=5>已选修该课程的学生有: <br>");
out.println("<table border=1>");
out.println("<tr><th>编号</th><th>学号</th><th>姓名</th></tr>");
int i=0;
do {
i++;
String id = rs.getString("学号");
String name = rs.getString("姓名");
out.println("<tr><td><center>"+i+"</center></td>");
out.println("<td><center>&nbsp;&nbsp;"+id+"&nbsp;&nbsp;</center></td>");
out.println("<td><center>"+name+"<center></td></tr>");
} while (rs.next());
out.println("</table>");
} else {
out.println("<H3>输入的课程代码不正确,在数据库中没有这门课程!</H2>");
}
} catch (SQLException e) {
e.printStackTrace();
}
out.println("<br><br><a href=index.html><font size=5>继续查询</font></a>");
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} public void destroy() {
try {// 关闭数据库
stat.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
super.destroy();
}
}