javabean的源文件voteconn.java如下:
packagevote1;
importjava.sql.*;
publicclassvoteconn
{

publicstaticfinalStringsDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
publicstaticfinalStringsConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
publicstaticfinalStringuser="sa";
publicstaticfinalStringpassword="123456";
Connectionconnect=null;
ResultSetrs=null;
publicvoteconn()
{
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundExceptione)
{
System.err.println(e.getMessage());
}
}
publicResultSetexecuteQuery(Stringsql)
{
try
{
connect=DriverManager.getConnection(sConnStr,user,password);
Statementstmt=connect.createStatement();
rs=stmt.executeQuery(sql);
System.out.println("连接数据库成功");
returnrs;
}
catch(SQLExceptionex)
{
System.err.println(ex.getMessage());
System.out.println("发生异常啦");
returnnull;
}
}
publicintexecuteUpdate(Stringsql)
{
intresult=0;
try
{
connect=DriverManager.getConnection(sConnStr);
Statementstmt=connect.createStatement();
result=stmt.executeUpdate(sql);
returnresult;
}
catch(SQLExceptionex)
{
System.err.println(ex.getMessage());
returnresult;
}
}
}
将以上的源码编译成功后,把voteconn.class放到Tomcat5.5\webapps\ROOT\WEB-INF\classes\vote1\voteconn.class目录,而我的jsp文件是放在Tomcat5.5\webapps\ROOT\vote1\index.jsp目录的

index.jsp如下:
<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%>
<jsp:useBeanid="ConnDbBean"scope="page"class="vote.voteconn"/><!--注意最后的一斜线要补上-->
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>网上调查表</title>
<styletype="text/css">
<!--
.style1{
font-size:18px;
font-weight:bold;
}
-->
</style>
</head>

<body>
<divalign="center">
<p><spanclass="style1">请您投票</span>:</p>
<%ResultSetrs=ConnDbBean.executeQuery("select*fromvote1");%><!--sql语句注意不要写错,否则老是返回空值-->
<tablewidth="150"border="1">
<formaction="vote.jsp">
<%
while(rs.next()){%>
<tr>
<td><inputtype="radio"name="type"value=<%=rs.getString("id")%>><%=rs.getString("note")%></td>
</tr>
<%}
rs.close();
%>
<tralign="center"><td><inputtype="submit"value="投票"></td></tr>
</form>
<tr><td><ahref="details.jsp">查看投票</a></td></tr>
</table>
</div>
</body>
</html>

在浏览器中执行jsp文件后报错,错误如下:
HTTPStatus500-

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

typeExceptionreport

message

descriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.

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)


rootcause

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)


noteThefullstacktraceoftherootcauseisavailableintheApacheTomcat/5.5.15logs.


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

ApacheTomcat/5.5.15


实在搞不懂是什么原因,而我用一另外一段代码却可以正然访问数据库,
并有返回值,代码Test1.java如下:
//JavaDocument
importjava.sql.*;
publicclassTest1
{
publicstaticfinalStringsDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
publicstaticfinalStringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school";
publicstaticfinalStringuser="sa";
publicstaticfinalStringpassword="123456";
publicstaticvoidmain(String[]args)
{
StringqueryString="SELECT*FROMvote1";//SQL语句
Connectionconn=null;
Statementst=null;
ResultSetrs=null;
try
{
Class.forName(sDBDriver);
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(Throwablet)
{
t.printStackTrace(System.out);
}
}
}

既然是这样,那么我的数据库的设置方面都应该没有错的吧,那代码又错在哪里呢,我反复看过了,
实在不知道呀,怎么返回经常为空呢,

14 个解决方案

#1


那就是有的时候数据库连不上,把数据库重新装一下,必须打上补丁
在javabean中加一个main看是不是好了,好了以后再放连JSP文件

更多相关文章

  1. 在arcpy中删除或删除表的代码是什么?
  2. MYSQL数据库的安装
  3. 急~~!!!sqlconnection连接SQL2005数据库总出错~~~
  4. iBatis中sqlmap resultclass="java.lang.Integer",在代码中如何
  5. Python MySQLdb连接数据库的应用
  6. PostgreSQL数据库学习手册之libpq - C 库--介绍
  7. 求指导,PB12.0 如何用ini文件 连接sql 2005数据库
  8. logstash-jdbc-input与mysql数据库同步
  9. Spark踩坑记——数据库(Hbase+Mysql)转

随机推荐

  1. Android EditText 一些属性设置
  2. EditText的使用
  3. Android 输入法键盘和activity页面遮挡问
  4. Android 绘制中国地图及热点省份分布
  5. android 7和android8在user版本下能应用
  6. Android(安卓)NDK standlone编译脚本
  7. Android skia 和open skia的比较
  8. 通过 Android SDK Manager 安装面向 Andr
  9. 常用的布局和View常用属性
  10. Android应用程序开发的五大概念