javabean文件如下,connvote.class文件已放到C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes\vote1下,package vote1;
import java.sql.*;
public class voteconn
{
public static final String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
public static final String user="sa";
public static final String password="123456";
Connection connect=null;
ResultSet rs=null;
public voteconn()
{
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try
{
connect=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=connect.createStatement();
rs=stmt.executeQuery(sql);
System.out.println("连接数据库成功");
return rs;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
System.out.println("发生异常啦");
return null;
}
}
public int executeUpdate(String sql)
{
int result=0;
try
{
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
result=stmt.executeUpdate(sql);
return result;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
return result;
}
}
}
index.jsp文件源码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="ConnDbBean" scope="page" class="vote1.voteconn"/><!--注意最后的一斜线要补上-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网上调查表</title>
<style type="text/css">
<!--
.style1 {
font-size: 18px;
font-weight: bold;
}
-->
</style>
</head><body>
<div align="center">
<p><span class="style1">请您投票</span>:</p>
<%ResultSet rs=ConnDbBean.executeQuery("select * from vote1");%><!--sql语句注意不要写错,否则老是返回空值-->
<table width="150" border="1">
<form action="vote.jsp" >
<%//if(rs!=null){
while(rs.next()){%>
<tr>
<td><input type="radio" name="type" value=<%=rs.getString("id")%>><%=rs.getString("note")%></td>
</tr>
<%}
rs.close();//}
//else
//out.println("数据库返回值为空");%>
<tr align="center"><td><input type="submit" value="投票"></td></tr>
</form>
<tr><td><a href="details.jsp">查看投票</a></td></tr>
</table>
</div>
</body>
</html>用以上的程序无法访问数据库,错误如下:
HTTP Status 500 - --------------------------------------------------------------------------------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.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.vote1.index_jsp._jspService(org.apache.jsp.vote1.index_jsp:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.15
但是,如果只用下面的程序访问却没有问题,而且输出正确呀,怎么回事啊,各位帮帮忙// Java Document
import java.sql.*;
public class Test1
{
public static final String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
public static final String user="sa";
public static final String password="123456";
public static void main(String[] args)
{
String queryString="SELECT * FROM vote1";//SQL语句
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try
{
Class.forName(drivername);
conn=DriverManager.getConnection(url,user,password);
st=conn.createStatement();
rs=st.executeQuery(queryString);
while(rs.next())
{
System.out.println("ID:"+rs.getString("id")+"company:"+rs.getString("note")+" vote:"+rs.getString("c_num"));
}
rs.close();
st.close();
conn.close();
}
catch (Throwable t)
{
t.printStackTrace(System.out);
}
}
}
import java.sql.*;
public class voteconn
{
public static final String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
public static final String user="sa";
public static final String password="123456";
Connection connect=null;
ResultSet rs=null;
public voteconn()
{
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try
{
connect=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=connect.createStatement();
rs=stmt.executeQuery(sql);
System.out.println("连接数据库成功");
return rs;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
System.out.println("发生异常啦");
return null;
}
}
public int executeUpdate(String sql)
{
int result=0;
try
{
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
result=stmt.executeUpdate(sql);
return result;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
return result;
}
}
}
index.jsp文件源码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="ConnDbBean" scope="page" class="vote1.voteconn"/><!--注意最后的一斜线要补上-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网上调查表</title>
<style type="text/css">
<!--
.style1 {
font-size: 18px;
font-weight: bold;
}
-->
</style>
</head><body>
<div align="center">
<p><span class="style1">请您投票</span>:</p>
<%ResultSet rs=ConnDbBean.executeQuery("select * from vote1");%><!--sql语句注意不要写错,否则老是返回空值-->
<table width="150" border="1">
<form action="vote.jsp" >
<%//if(rs!=null){
while(rs.next()){%>
<tr>
<td><input type="radio" name="type" value=<%=rs.getString("id")%>><%=rs.getString("note")%></td>
</tr>
<%}
rs.close();//}
//else
//out.println("数据库返回值为空");%>
<tr align="center"><td><input type="submit" value="投票"></td></tr>
</form>
<tr><td><a href="details.jsp">查看投票</a></td></tr>
</table>
</div>
</body>
</html>用以上的程序无法访问数据库,错误如下:
HTTP Status 500 - --------------------------------------------------------------------------------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.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.vote1.index_jsp._jspService(org.apache.jsp.vote1.index_jsp:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.15
但是,如果只用下面的程序访问却没有问题,而且输出正确呀,怎么回事啊,各位帮帮忙// Java Document
import java.sql.*;
public class Test1
{
public static final String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
public static final String user="sa";
public static final String password="123456";
public static void main(String[] args)
{
String queryString="SELECT * FROM vote1";//SQL语句
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try
{
Class.forName(drivername);
conn=DriverManager.getConnection(url,user,password);
st=conn.createStatement();
rs=st.executeQuery(queryString);
while(rs.next())
{
System.out.println("ID:"+rs.getString("id")+"company:"+rs.getString("note")+" vote:"+rs.getString("c_num"));
}
rs.close();
st.close();
conn.close();
}
catch (Throwable t)
{
t.printStackTrace(System.out);
}
}
}
解决方案 »
- Servlect接受参数问题!很着急,请大家帮忙!
- 真是郁闷啊?
- id to load is required for loading
- 求助:aa|bb|bb|显示为aa|bb|,就是说重复的不能显示!会的帮帮我把。十分的感谢
- 怎么用jsp创建一个新的word文档?
- Struts配置问题
- HttpClient 4.1 登录小米官网记录登录状态访问其他页面 求高手解决!
- 关于TOMCAT的问题,有哪位高手能指教我这个菜鸟
- Linux下java访问oracle数据库?????
- 学java,第一次编译就出错!求教大虾们~~~~
- 请问有Eclipse免配置加中文版的吗?谢谢!!
- 用javabean连接sql server 2000数据库报错,实在找不出原因啊,高分救答
rs.close();//}
//else
//out.println("数据库返回值为空");%>
你在上面注释掉了%> 就不会错嘛.....
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="ConnDbBean" scope="page" class="vote1.voteconn"/><!--注意最后的一斜线要补上-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网上调查表</title>
<style type="text/css">
<!--
.style1 {
font-size: 18px;
font-weight: bold;
}
-->
</style>
</head><body>
<div align="center">
<p><span class="style1">请您投票</span>:</p>
<%ResultSet rs=ConnDbBean.executeQuery("SELECT * FROM vote1");%><!--sql语句注意不要写错,否则老是返回空值-->
<table width="150" border="1">
<form action="vote.jsp" >
<%if(rs!=null){
while(rs.next()){%>
<tr>
<td><input type="radio" name="type" value=<%=rs.getString("id")%>><%=rs.getString("note")%></td>
</tr>
<%
rs.close();}//}
/*else
out.println("数据库返回值为空");*/}%>
<tr align="center"><td><input type="submit" value="投票"></td></tr>
</form>
<tr><td><a href="details.jsp">查看投票</a></td></tr>
</table>
</div>
</body>
</html>
/*else
out.println("数据库返回值为空");*/}%>你看你改的程序,有if 就算是不用else ,你也不能把 //}注释掉呀....这个if 也不起作用,完全可以去掉
while(rs.next()){%>
<tr>
<td><input type="radio" name="type" value=<%=rs.getString("id")%>><%=rs.getString("note")%></td>
</tr>
<%
rs.close();
}
}%>如果没有if的话,产生的错误是我顶楼的那些
加进if后就不产生错误了,只是还没有返回数据
到底在连接数据库方面出了什么问题呢,javabean有问题吗
却可以查到数据呀,我就是想问这个问题的
import java.sql.*;
public class voteconn
{
public static final String sDBDriver="oracle.jdbc.driver.OracleDriver";
public static final String sConnStr="jdbc:oracle:thin:@127.0.0.1:1521:cloat";
public static final String user="ms";
public static final String password="hxh";
Connection connect=null;
ResultSet rs=null;
public voteconn()
{
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try
{
connect=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=connect.createStatement();
rs=stmt.executeQuery(sql);
System.out.println("连接数据库成功");
return rs;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
System.out.println("发生异常啦");
return null;
}
}
public int executeUpdate(String sql)
{
int result=0;
try
{
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
result=stmt.executeUpdate(sql);
return result;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
return result;
}
}
}jsp:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="ConnDbBean" scope="page" class="vote1.voteconn"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网上调查表</title>
</head><body>
<div align="center">
<%ResultSet rs=ConnDbBean.executeQuery("select * from vote1");%>
<table width="150" border="1">
<form action="vote.jsp" >
<%
try{
while(rs.next())
{
%>
<tr>
<td><input type="radio" name="type" value=<%=rs.getString(1)%>><%=rs.getString(2)%></td>
</tr>
<%
}
rs.close();
}
catch(Exception e)
{
out.println(e);
}
%>
<tr align="center"><td><input type="submit" value="投票"></td></tr>
</form>
<tr><td><a href="details.jsp">查看投票</a></td></tr>
</table>
</div>
</body>
</html>
我给你测了一下,可以运行呀。
要不要放在里面的?
不会放在外面吧。WEB-INF\classes\vote1\voteconn.class
你的不是这样嘛,我晕了。
不会错的吧?每种数据库都要这样放的没错吧?
而且你说的
javabean文件如下,connvote.class文件已放到C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes\vote1下,
也不对,文件名应该是votconn.class,但是既然你已经编译成功,应该是笔误。
我自己搞定了
是在classpath里设置的驱动路径tomcat不认帐的
自己把那三个驱动文件放到common\lib里后,
就可以了自己结贴啦,送分啦