---
title: "Fel meddelande vid kompliering av Servlet!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/136584-fel-meddelande-vid-kompliering-av-servlet"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Fredde Mannen"
published: "2005-10-29T15:26:41.000Z"
updated: "2005-11-01T10:01:45.000Z"
replies: 2
views: 403
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/136584-fel-meddelande-vid-kompliering-av-servlet"
---

# Fel meddelande vid kompliering av Servlet!

## #1 — Fredde Mannen, 2005-10-29T15:26Z

Ehmm... okei jag är inte värsta hajen men i alla fall, detta felmeddelande får jag .. vad kan vara felet? 

```
500 Servlet Exception
C:\inetpub\wwwroot\WEB-INF\classes\AddinfoServlet.java:38: cannot resolve
symbol
symbol  : variable out 
location: class AddinfoServlet
			out.println("SQLException: " + sql.getMessage());
                        ^
C:\inetpub\wwwroot\WEB-INF\classes\AddinfoServlet.java:39: cannot resolve
symbol
symbol  : variable out 
location: class AddinfoServlet
			out.close();
                        ^
2 errors
```

 

Hela koden, säkert en massa fel: 

```
import java.net.*;
import java.util.*;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class AddinfoServlet extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
 		throws IOException, ServletException
		{
		try{
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			Connection C = DriverManager.getConnection("jdbc:mysql://localhost:3306/laborationer?user=xxx&password=xxx");
			Statement S = C.createStatement();
			S.executeUpdate("INSERT INTO labb1(sNamn, iTfn) VALUES('"+request.getParameter("sNamn")+"','"+request.getParameter("iTfn")+"')");
			response.sendRedirect("/labb_jsp/index.jsp");
			C.close();
		}
		catch (ClassNotFoundException cnfe)
		{
			response.setContentType("text/html");
			PrintWriter out = response.getWriter();
			out.println("<html>");
			out.println("<body>");
			out.println("<head>");
			out.println("<title>Unable to load driver.</title>");
			out.println("</head>");
			out.println("<body>");
			out.println("Unable to load driver.");
			out.println("</body>");
			out.println("</html>");
		}
		catch(SQLException sql)
		{
			out.println("SQLException: " + sql.getMessage());
			out.close();
		}
	}
}
```

Permalänk: https://www.webforum.nu/p/136584

## #2 — Lime, 2005-10-30T14:58Z

> **Fredde Mannen skrev:**
>
> ```
> 	[blue]catch (ClassNotFoundException cnfe)[/blue]
> { // Här börjar scope 1
> 			response.setContentType("text/html");
> 			[B]PrintWriter out [/B] = response.getWriter();
> 			out.println("<html>");
> 			out.println("<body>");
> 			out.println("<head>");
> 			out.println("<title>Unable to load driver.</title>");
> 			out.println("</head>");
> 			out.println("<body>");
> 			out.println("Unable to load driver.");
> 			out.println("</body>");
> 			out.println("</html>");
> 		} // Och här slutar scope 1
> 		[red]catch(SQLException sql)[/red]		{ // Här börjar scope 2
> 			[I]out.[/I]println("SQLException: " + sql.getMessage());
> 			out.close();
> 		} // och här slutar scope 2
> 	}
> }
> ```

Felet ligger i den catch-sats som jag markerat med rött. I den som jag markerat mer blått så instansierar du **out**. Denna blir då lokal variabel i det scope som täcks av catchsatsern, alltså mellan de två måsvingarna.

Den catch-sats som jag markerat med rött är ett NYTT scope och du måste därför instansiera om out alternativt instansiera upp variabeln i ett scope som båda catch-satserna kan nå, t.ex. innan try (men då kommer du att få en annan effekt).

Sedan är det också så att om du får ett ClassNotFoundException så kommer du aldrig att stänga out... vilket är vääääldigt fel...

Permalänk: https://www.webforum.nu/p/1697011

## #3 — Fredde Mannen, 2005-11-01T10:01Z

Då får man helt enkelt lägga till out.close(); där då. :) 

Nåja nu är allt löst och det verkar funka .. wiiihoooo   :birp 

Tack tack!

Permalänk: https://www.webforum.nu/p/1697681

---

Tråden på webben: https://www.webforum.nu/amne/java/136584-fel-meddelande-vid-kompliering-av-servlet
