当前位置: 代码迷 >> Java Web开发 >> [求助]数据库连接问题
  详细解决方案

[求助]数据库连接问题

热度:223   发布时间:2006-11-19 22:23:07.0
[求助]数据库连接问题

<%@page contentType="text/html;charset=gb2312" %>
<%@page import="java.sql.*"%>

<html>
<body>
<h1>JSP Page</h1>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
String user="sa";
String password="zhj147254151";
Connection conn=DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
第一个字段的内容<%=rs.getString(1)%>
第二个字段的内容<%=rs.getString(2)%>
<%}%>
<%out.print("数据库联接成功");%>
<%
rs.close();
stmt.close();
conn.close();
%>


</body>
</html>

这是连接SQL 2000的原码,运行出错,生成的servlet错误是package org.apache.jsp不存在,是什么原因,代码都是对的,是不是少什么东西?

搜索更多相关主题的帖子: 数据库  String  page  target  

----------------解决方案--------------------------------------------------------

你应该把错误代码全部帖出来


----------------解决方案--------------------------------------------------------

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.connection_jsp._jspService(connection_jsp.java:91)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


root cause

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:150)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:71)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
org.apache.jsp.connection_jsp._jspService(connection_jsp.java:51)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.7 logs.

这是运行错误


----------------解决方案--------------------------------------------------------

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.sql.*;

public final class connection_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {

private static java.util.Vector _jspx_dependants;

public java.util.List getDependants() {
return _jspx_dependants;
}

public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {

JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;


try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=gb2312");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;

out.write("\n");
out.write("\n");
out.write("\n");
out.write("<html>\n");
out.write(" <body>\n");
out.write(" <h1>JSP Page</h1>\n");
out.write(" ");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
String user="sa";
String password="zhj147254151";
Connection conn=DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
out.write("\n");
out.write(" 第一个字段的内容");
out.print(rs.getString(1));
out.write("\n");
out.write(" 第二个字段的内容");
out.print(rs.getString(2));
out.write("\n");
out.write(" ");
}
out.write("\n");
out.write(" ");
out.print("数据库联接成功");
out.write("\n");
out.write(" ");

rs.close();
stmt.close();
conn.close();

out.write("\n");
out.write(" \n");
out.write(" \n");
out.write(" </body>\n");
out.write("</html>\n");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
这是翻译成的serlvet,


----------------解决方案--------------------------------------------------------

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.sql.*;

public final class connection_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {
//
在这的提示是org.apache.jasper.runtime does not exit

private static java.util.Vector _jspx_dependants;

public java.util.List getDependants() {
return _jspx_dependants;
}

public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {

JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;


try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=gb2312");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;

out.write("\n");
out.write("\n");
out.write("\n");
out.write("<html>\n");
out.write(" <body>\n");
out.write(" <h1>JSP Page</h1>\n");
out.write(" ");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
String user="sa";
String password="zhj147254151";
Connection conn=DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
out.write("\n");
out.write(" 第一个字段的内容");
out.print(rs.getString(1));
out.write("\n");
out.write(" 第二个字段的内容");
out.print(rs.getString(2));
out.write("\n");
out.write(" ");
}
out.write("\n");
out.write(" ");
out.print("数据库联接成功");
out.write("\n");
out.write(" ");

rs.close();
stmt.close();
conn.close();

out.write("\n");
out.write(" \n");
out.write(" \n");
out.write(" </body>\n");
out.write("</html>\n");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
不知道该怎么去改


----------------解决方案--------------------------------------------------------
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver


是你的类找不到

----------------解决方案--------------------------------------------------------
那应该怎么去改呢?
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
把那三个SQL驱动包加入到classpath 中

----------------解决方案--------------------------------------------------------

对,没加驱动,加上就没问题了


----------------解决方案--------------------------------------------------------
  相关解决方案