我这个jsp要实现的功能很简单,第一次访问他的时候会自动打出这个数据库里面的所有项,然后会有一个表单叫你填选,这样就可以寻找你要超找的那一个数据项,第一个功能是可以正常工作的,载入这个jsp的时候可以打印这个数据库中所有的项目,第二个功能就不行了,我提交这个表单以后,就会出错,出错信息在最下面。
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.db.databean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<div><b><font color="#8A0000" face="华文隶书" size="5">查询学生信息
</font></b></div>
<%
String sql=null;
String FieldName=request.getParameter("FieldName");
String value=request.getParameter("value");
if((value==null)||(value.trim().equals("")))
sql="SELECT * from student"; //若参数值为空,则查询所有记录
else//参数值不为空,则设置相应的sql查询语句
{
value=new String(value.getBytes("8859_1"));
sql="SELECT * from student where"+FieldName+"="+value;
}
databean db=new databean();//创建javabean实例
db.setCon();
ResultSet rs=db.getSearchRs(sql);
%>
<table border=1>
<tr>
<td><b>序号</b></td>
<td><b>学号</b></td>
<td><b>姓名</b></td>
<td><b>年龄</b></td>
<td><b>系别</b></td>
</tr>
<%
//int n=0;
while(rs.next())
{ %>
<tr>
<td><%String str_1;str_1=new String(rs.getString(1).getBytes("8859_1"));out.print(str_1);%></td>
<td><%String str_2;str_2=new String(rs.getString(2).getBytes("8859_1"));out.print(str_2);%></td>
<td><%String str_3;str_3=new String(rs.getString(3).getBytes("8859_1"));out.print(str_3);%></td>
<td><%String str_4;str_4=new String(rs.getString(4).getBytes("8859_1"));out.print(str_4);%></td>
</tr>
<%
}
%>
</table>
</center>
<br>
<form name="form1" method="post" action="selectInfo.jsp">
选择查询字段:<select name="FieldName">
<%
ResultSetMetaData rsmd=rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
for(int i=0;i<numberOfColumns;i++)
{ %>
<option value="<%=rsmd.getColumnName(i+1)%>">
<%=rsmd.getColumnName(i+1) %></option>
<%
}
db.CloseDataBaseCon();
%>
</select>
<br><br>
输入查询关键字:<input type="text" name="value"><br><br>
<input type="submit">
</form>
<table width="532" border="0" align="center">
<tr>
<td width="526">
<div align="right"><a href="index.htm">首页>>></a></div>
</td>
</tr>
</table>
</body>
</html>
HTTP Status 500 - --------------------------------------------------------------------------------type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /selectInfo.jsp at line 4037: </tr>
38: <%
39: //int n=0;
40: while(rs.next())
41: { %>
42: <tr>
43:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
org.apache.jsp.selectInfo_jsp._jspService(selectInfo_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.--------------------------------------------------------------------------------Apache Tomcat/6.0.13
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.db.databean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<div><b><font color="#8A0000" face="华文隶书" size="5">查询学生信息
</font></b></div>
<%
String sql=null;
String FieldName=request.getParameter("FieldName");
String value=request.getParameter("value");
if((value==null)||(value.trim().equals("")))
sql="SELECT * from student"; //若参数值为空,则查询所有记录
else//参数值不为空,则设置相应的sql查询语句
{
value=new String(value.getBytes("8859_1"));
sql="SELECT * from student where"+FieldName+"="+value;
}
databean db=new databean();//创建javabean实例
db.setCon();
ResultSet rs=db.getSearchRs(sql);
%>
<table border=1>
<tr>
<td><b>序号</b></td>
<td><b>学号</b></td>
<td><b>姓名</b></td>
<td><b>年龄</b></td>
<td><b>系别</b></td>
</tr>
<%
//int n=0;
while(rs.next())
{ %>
<tr>
<td><%String str_1;str_1=new String(rs.getString(1).getBytes("8859_1"));out.print(str_1);%></td>
<td><%String str_2;str_2=new String(rs.getString(2).getBytes("8859_1"));out.print(str_2);%></td>
<td><%String str_3;str_3=new String(rs.getString(3).getBytes("8859_1"));out.print(str_3);%></td>
<td><%String str_4;str_4=new String(rs.getString(4).getBytes("8859_1"));out.print(str_4);%></td>
</tr>
<%
}
%>
</table>
</center>
<br>
<form name="form1" method="post" action="selectInfo.jsp">
选择查询字段:<select name="FieldName">
<%
ResultSetMetaData rsmd=rs.getMetaData();
int numberOfColumns=rsmd.getColumnCount();
for(int i=0;i<numberOfColumns;i++)
{ %>
<option value="<%=rsmd.getColumnName(i+1)%>">
<%=rsmd.getColumnName(i+1) %></option>
<%
}
db.CloseDataBaseCon();
%>
</select>
<br><br>
输入查询关键字:<input type="text" name="value"><br><br>
<input type="submit">
</form>
<table width="532" border="0" align="center">
<tr>
<td width="526">
<div align="right"><a href="index.htm">首页>>></a></div>
</td>
</tr>
</table>
</body>
</html>
HTTP Status 500 - --------------------------------------------------------------------------------type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /selectInfo.jsp at line 4037: </tr>
38: <%
39: //int n=0;
40: while(rs.next())
41: { %>
42: <tr>
43:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
org.apache.jsp.selectInfo_jsp._jspService(selectInfo_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.--------------------------------------------------------------------------------Apache Tomcat/6.0.13
解决方案 »
- eclipse axis2插件的问题
- 加密解密
- 一个代码调试的问题,麻烦帮我看看
- spring,基于注解,实现零配置,这样好吗?
- 关于.net 访问java webservice 结果集(oracle数据库)的问题?高手指教
- JSF1.2和weblogic10问题
- 有没有办法知道, 当前web服务器是tomcat、resin还是其他,最简单的办法?
- 求java api函数说明文档 最好是中文的(E文的也可以)
- 谁有Jbuilder 7或是JBuilder 4企业版的序列号,注册成功,马上给分。
- SpringBoot cglib代理出来的Bean的属性如何修改?
- log4j的问提
- 用rmi解决lucene索引分布问题
String value=request.getParameter("value");
手动把这两个变量赋个初值试试呢?
String FieldName = "自己对应着填写";
String value = "自己对应着填写";试试看能不能查出结果来。
我感觉你的错误信息是空指针错误。
加油!
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
org.apache.jsp.selectInfo_jsp._jspService(selectInfo_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs. 应该是rs为空,可能是你前面定义的ResultSet rs=db.getSearchRs(sql); 在后面直接用这个对象rs,不知道在不同的代码段,这样的定义对象可不可用。你可以把它们放在一个代码段试试。