You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Thomas Cleenewerck <Th...@cs.kuleuven.ac.be> on 2000/09/25 11:54:55 UTC

Internal Servlet Error: IllegalStateException

Hello,

I'm trying to acces a oracle database from a jsp-page.  Every works as long as I do not use use a seperate object to establish my database connection.  I'm getting the following error:
Error: 500
Location: /thomas/jspper.jsp
Internal Servlet Error:

java.lang.IllegalStateException: Response has already been committed
	at org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)
	at org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:299)
	at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:377)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
	at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
	at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:156)
	at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
	at java.lang.Thread.run(Unknown Source)

Actualy the code for making a connection, i want to reuse....  This a bad example of reuse, but it is just for testing !!!
say the class TempData:

import java.sql.*;
import Database.*;
public class TempData  {

 public void perform() {
 try {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
 } catch (java.sql.SQLException SqlExc) {
      //throw(new RegisterDriverException("Error while registering the JDBC driver\nReceived: "+SqlExc.toString()));
 }
  
 String $connectString = "xxxxxxxxxxx";
 String $username="xxxxxxxx";
 String $password="xxxxxxxxx";
 try {
        Connection $connection = DriverManager.getConnection ($connectString,$username,$password);
   
 } catch (java.sql.SQLException SqlExc) {
      //throw(new ConnectionException("Error while opening database connection\nReceived: "+SqlExc.toString()));
 }
 } }


and the code off my jsp page will no look like this:

<%@ page import="java.util.*, Database.*, java.sql.*" %>
<html>
<body>
<h1> joehoe </h1>
<%
 TempData td = new TempData();
  td.perform();
%>
</body>
</html>



What works:
<%@ page import="java.util.*, Database.*, java.sql.*" %>
<html>
<body>
<h1> joehoe </h1>
<%

try {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
 } catch (java.sql.SQLException SqlExc) {
      //throw(new RegisterDriverException("Error while registering the JDBC driver\nReceived:"+SqlExc.toString()));
 }
    
 String $connectString = "xxxxx";
 String $username="xxxx";
 String $password="xxxxx";
 try {
        Connection $connection = DriverManager.getConnection ($connectString,$username,$password);
   
 } catch (java.sql.SQLException SqlExc) {
      //throw(new ConnectionException("Error while opening database connection\nReceived: "+SqlExc.toString()));
  }
%>
</body>
</html>