我买了一本书,里面光盘里带了一个程序,但是提示错误为:是不是我有什么地方配置错了?description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp.left_jsp._jspService(left_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp.left_jsp._jspService(left_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
好好检查.那个left.JSP文件是不是有错误,另外,空指针,估计是因为有些条件,不存在.
比如,需要登陆,需要其他页面或者Servlet等定向到该页面的,你直接访问了。当然就会
出现空指针.好好检查一下。好多都不是问题.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.lvyou.input_jsp._jspService(input_jsp.java:158)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]?????????????
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
org.apache.jsp.lvyou.input_jsp._jspService(input_jsp.java:147)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %>
<jsp:useBean id="connDB" scope="page" class="beans.connDB"/>
<jsp:useBean id="chStr" scope="page" class="beans.chStr"/>
<%
ResultSet rs_newbook=connDB.executeQuery("select top 5 * from tb_bookinfo where newbook=1 order by INTime desc");
ResultSet rs_sort=connDB.executeQuery("select * from (select top 10 * from ( select sum(number) as amount,ISBN from tb_Order_detail group by ISBN )as tab order by amount desc) o inner join tb_bookinfo b on o.ISBN=b.ISBN order by o.amount desc");
ResultSet rs_book=connDB.executeQuery("select * from tb_bookinfo where commend=1");
%>
<html>
<head>
<title>网上图书超市</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="CSS/style.css" rel="stylesheet">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="777" height="768" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td valign="top">
<jsp:include page="Top.jsp"/>
<table width="100%" height="330" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="26%" valign="top">
<jsp:include page="left.jsp"/>
</td>
<td width="5" valign="top" background="Images/Cen_separate.gif"></td>
<td width="73%" valign="top"><table width="100%" height="272" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="52" colspan="3" background="Images/index_10.gif">
<jsp:include page="search.jsp"/>
</td>
</tr>
<tr>
<td width="73%" height="220" valign="top">
<table width="100%" height="126" border="0" cellpadding="0" cellspacing="0">
<%
rs_book.last();
int RecordCount=rs_book.getRow(); //获取记录总数
rs_book.first();
for(int i=1;i<RecordCount+1;i++){
//注意:此处必须按照字段的顺序读取
String ISBN=rs_book.getString("ISBN");
String bookname=rs_book.getString("BookName");
String publisher=rs_book.getString("publisher");
String author=rs_book.getString("Writer");
int price=rs_book.getInt("Price");
String cover=rs_book.getString("cover");
if ((i%2)!=0){
%>
<tr>
<td><table width="100%" height="123" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="43%" align="center"><img src="manage/cover/<%=cover%>" width="76" height="110"></td>
<td width="57%"><table width="100%" height="119" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><%=bookname%></td>
</tr>
<tr>
<td><%=publisher%></td>
</tr>
<tr>
<td>作者:<%=author%></td>
</tr>
<td>定价:<%=String.valueOf(price)%>(元)</td>
</tr>
<td align="center"><%if(session.getAttribute("UserName")!=null){%>
<input name="Submit5" type="submit" class="btn_grey" value="购买" onClick="window.location.href='cart_Add.jsp?ISBN=<%=ISBN%>'">
<%}%>
<input name="Submit6" type="submit" class="btn_grey" value="查看" onClick="window.location.href='book_detail.jsp?ISBN=<%=ISBN%>'"></td>
</tr>
</table></td>
</tr>
</table></td>
<% }else{%>
<td><table width="100%" height="123" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="43%" align="center"><img src="manage/cover/<%=cover%>" width="76" height="110"></td>
<td width="57%" align="center"> <table width="100%" height="119" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><%=bookname%></td>
</tr>
<tr>
<td><%=publisher%></td>
</tr>
<tr>
<td>作者:<%=author%></td>
</tr>
<tr>
<td>现价:<%=String.valueOf(price)%>(元)</td>
</tr>
<tr>
<td align="center"><%if(session.getAttribute("UserName")!=null){%>
<input name="Submit5" type="submit" class="btn_grey" value="购买" onClick="window.location.href='cart_Add.jsp?ISBN=<%=ISBN%>'">
<%}%>
<input name="Submit62" type="submit" class="btn_grey" value="查看" onClick="window.location.href='book_detail.jsp?ISBN=<%=ISBN%>'"></td>
</tr>
</table></td>
</tr>
</table></td> <%
}
rs_book.next();
}%>
</tr>
</table>
</td>
<td width="5" background="Images/Cen_separate.gif"> </td>
<td valign="top"><table width="100%" height="55" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right"><img src="Images/index_12.gif" width="161" height="46"></td>
</tr>
<tr>
<td width="86%" height="100" valign="top" class="tableBorder_B">
<%while(rs_newbook.next()){
String ISBN=rs_newbook.getString("ISBN");
String BookName=rs_newbook.getString("BookName");
%>
<table width="100%" height="21" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="9%"><img src="Images/greendot.gif" width="11" height="13"></td>
<td width="91%" style="padding:5px;"><a href="book_detail.jsp?ISBN=<%=ISBN%>"><%=BookName%></a></td>
</tr>
</table>
<%}%>
</td>
</tr>
</table>
<table width="100%" height="55" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right"><img src="Images/index_16.gif" width="161" height="48"></td>
</tr>
<tr>
<td width="86%" height="100" valign="top" class="tableBorder_B">
<%while(rs_sort.next()){
String ISBN=rs_sort.getString("ISBN");
String BookName=rs_sort.getString("BookName");
%>
<table width="100%" height="21" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="9%"><img src="Images/greendot.gif" width="11" height="13"></td>
<td width="91%" style="padding:5px;"><a href="book_detail.jsp?ISBN=<%=ISBN%>"><%=BookName%></a></td>
</tr>
</table>
<%}%>
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
<jsp:include page="copyright.jsp"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<jsp:useBean id="connDB" scope="page" class="beans.connDB"/>
<jsp:useBean id="chStr" scope="page" class="beans.chStr"/>
<script language="javascript">
function checkU(myform){
if(myform.username.value==""){
alert("请输入用户名!");myform.username.focus();return;
}
if(myform.PWD.value==""){
alert("请输入密码!");myform.PWD.focus();return;
}
myform.submit();
}
</script>
<%
ResultSet rs_bbs=connDB.executeQuery("select * from tb_BBS");
ResultSet rs_poll=connDB.executeQuery("select * from tb_poll");
if(session.getAttribute("UserName")==null){%>
<form name="form1" method="post" action="Login_U.jsp">
<table width="100%" height="99" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="8%"> </td>
<td width="92%" height="112" valign="top" background="Images/index_09.gif"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="8%" height="20"> </td>
<td width="81%"> </td>
<td width="11%"> </td>
</tr>
<tr>
<td> </td>
<td height="24" align="center">用户名
<input name="username" type="text" class="txt_grey" id="username" size="16"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="24" align="center">密 码
<input name="PWD" type="password" class="txt_grey" id="PWD" size="16" onKeydown="if(event.keyCode==13) form1.submit();"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="31" align="center">
<input name="Button" type="button" class="btn_grey" value="注册" onClick="window.location.href='register.jsp'">
<input name="Submit2" type="button" class="btn_grey" value="登录" onClick="checkU(form1)"> <input name="Submit3" type="reset" class="btn_grey" value="重置"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="center"> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</form>
<%}else{%>
<table width="100%" height="99" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="8%"> </td>
<td width="92%" height="112" valign="top" background="Images/index_09.gif">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="8%" height="20"> </td>
<td width="81%"> </td>
<td width="11%"> </td>
</tr>
<tr>
<td> </td>
<td height="24" align="center">[ <%=session.getAttribute("UserName")%>]您好!</td>
<td> </td>
</tr>
<%ResultSet rs_grade=connDB.executeQuery("select * from tb_Member where Username='"+session.getAttribute("UserName")+"'");
int grade=0;
if(rs_grade.next()){
grade=rs_grade.getInt("grade");
}
%>
<tr>
<td> </td>
<td height="24" align="center">用户等级:<%=grade%></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="31" align="center">
<input type="submit" name="Submit" value="修改资料" class="btn_grey" onClick="window.location.href='usermodify.jsp'">
<input name="Submit22" type="button" class="btn_grey" value="退出" onClick="window.location.href='logout.jsp'"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="center"> </td>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
<%}%>
<table width="100%" height="55" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="right"><img src="Images/index_14.gif" width="185" height="49"></td>
</tr>
<tr>
<td width="14%"> </td>
<td width="86%" height="100" valign="top" class="tableBorder_B">
<marquee direction="up" scrollamount="1" scrolldelay="1" height="100" onMouseMove="this.stop()" onMouseOut="this.start()">
<%while(rs_bbs.next()){%>
<table width="100%" height="21" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><%=chStr.convertStr(rs_bbs.getString("content"))%></td>
</tr>
</table>
<%}%>
</marquee>
</td>
</tr>
</table> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50" colspan="2" align="right"><img src="Images/index_18.gif" width="185" height="50"></td>
</tr>
<tr>
<td width="14%"> </td>
<td width="86%" height="27">您需要哪方面的书籍?</td>
</tr>
<tr>
<td> </td>
<td height="100" valign="top"><form name="form3" method="post" action="poll_deal.jsp">
<table width="90%" height="151" border="0" align="center" cellpadding="0" cellspacing="0">
<%int f=0;
while(rs_poll.next()){%>
<tr>
<td><input name="optionname" type="radio" class="noborder" value="<%=rs_poll.getString("optionName")%>"<%if(f==0){out.print(" checked");}%> >
<%=rs_poll.getString("optionName")%></td>
</tr>
<%f++;
}%>
<tr>
<td><input name="Submit7" type="submit" class="btn_grey" value="投票"> <input name="Submit8" type="button" class="btn_grey" value="查看结果" onClick="window.location.href='poll_result.jsp';"></td>
</tr>
</table>
</form></td>
</tr>
</table>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
你的connDB这个类是个bean,里面有没有生成connection对象哦?
package beans;
import java.sql.*;
public class connDB{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public connDB(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql){
try{
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_bookmanage;user=sa;password=");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException ex){
System.err.println(ex.getMessage());
}
return rs;
} public int executeUpdate(String sql){
int result=0;
try{
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_bookmanage;user=sa;password=");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
result=stmt.executeUpdate(sql);
}catch(SQLException ex){
result=0;
}
return result;
}
public void close(){
try {
if (rs != null) rs.close();
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (stmt != null) stmt.close();
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (conn != null) {
conn.close();
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
public String chStr_In(String str){
if(str==null){
str="";
}else{
try{
str=(new String(str.getBytes("iso-8859-1"),"GB2312")).trim();
str=str.replace('\'',(char)1);
}catch(Exception e){
e.printStackTrace(System.err);
}
}
return str;
}
public String chStr_Out(String str){
if(str==null){
str="";
}else{
try{
str=str.replace((char)1,'\'');
}catch(Exception e){
e.printStackTrace(System.err);
}
}
return str;
}
}