servlet和JSP的数据查询出错!在线等解决。
在页面点击查询数据连接时,查询结果的页面出现错误,希望大虾们帮助小弟。
出现错误
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at com.v512.guestbook.GetMessageServlet.doGet(GetMessageServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.v512.guestbook.EncodingFilter.doFilter(EncodingFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
AddMessageServlet.java
package com.v512.guestbook;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetMessageServlet extends HttpServlet {
private static final long serialVersionUID = -8349454122547148005L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@10.36.65.232:1521:oracle9i";
String username = "IAMS";
String password = "IAMS";
String sql = "select * from guestbook";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
request.setCharacterEncoding("GBK");
List list = new ArrayList();
while (rs.next()) {
Guestbook gb = new Guestbook();
gb.setName(rs.getString("name"));
gb.setEmail(rs.getString("email"));
gb.setPhone(rs.getString("phone"));
gb.setTitle(rs.getString("title"));
gb.setContent(rs.getString("content"));
System.out.println(rs.getString("name")+"+++++++");
gb.setTime(rs.getString("time"));
list.add(gb);
}
request.setAttribute("gblist", list);
request.getRequestDispatcher("/getMessages.jsp").forward(request, response);
} catch (Exception e) {
String message = e.getMessage();
request.setAttribute("message", message);
request.getRequestDispatcher("/addResult.jsp").forward(request,response);
} finally {
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
getMessages.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page
import="com.v512.guestbook.Guestbook,java.util.List,com.v512.util.StringUtil,java.sql.* "%>
<%@page import="org.apache.commons.dbutils.handlers.*"%>
<%@ include file="header.jsp"%>
<html>
<head>
<title>查看留言板</title>
</head>
<body>
<br>
<a href="<%=context%>/addMessage.jsp">添加新的留言内容</a>
<br>
留言内容
<%
List gblist=(List)request.getAttribute("gblist");
if(gblist.isEmpty()) {
out.print("数据库表没有信息");
}else {
Iterator i=gblist.Iterator();
while(i.hasNext()) {
Guestbook gb=(Guestbook)i.next();
%>
<div align="center">
<table width="600" border="1" bordercolor="#000000">
<tr>
<td bordercolor="#FFFFFF">
编号:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getId()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
姓名:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getName()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
电话:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getPhone()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
Email:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getEmail()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
主题:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getTitle()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
内容:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getContent()%>
</td>
</tr>
<tr>
<td bordercolor="#FFFFFF">
时间:
</td>
<td bordercolor="#FFFFFF">
<%=gb.getTime()%>
</td>
</tr>
</table>
</div>
<%
}
%>
<br>
<br>
</body>
</html>
<%@ include file="footer.htm"%>