# Anfänger mit Eclipse und JEE



## Enigma228 (5. Sep 2010)

Hallo..

Ich habe ein Problem und komme nicht weiter
ich versuche gerade mithilfe des Buches "Servlets & JSP von Kopf bis Fuss" mich in die Materie JEE einzuarbeiten
die ersten Test haben alle funktioniert, aber in dem Moment wo ich auf die web.xml zugreifen muss bekomme ich kein Ergebnis.
(Fehler s. unten)

Die Startdatei ist die form.html. Sie startet auch aber nach der Auswahl und dem Absenden kommt der Fehler.. 
Soweit ich das nachvollziehen kann, erstellt Eclipse nicht mal die class-Dateien der Servlet- und Java-Datei.

Ich nutze Tomcat 7.0.0 und 
Eclipse Java EE IDE for Web Developers.
Version: Helios Release
Build id: 20100617-1415

Ich Starte den Tomcat bei jedem Mal neu.

im Bild habe ich die derzeitige Entwicklungsumgebung mit Dateien angezeigt. Vielleicht liegt ja der Fehler beim Ort einger Dateien?



Dateien
form.html

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bierwahl</title>
</head>
<body>
<h1 align="center">Bierratgeber: Auswahlseite</h1>
<form method="POST" action="BierWahl.do">
  Biermerkmale ausw&auml;hlen: <p>
  Farbe:
  <select name="farbe" size="1">
    <option value="hell"> hell </option>
    <option value="goldgelb"> goldgelb </option>
    <option value="braun"> braun </option>
    <option value="dunkel"> dunkel </option>
  </select>
  <br><br>
  <center>
    <input type="SUBMIT">
  </center>
</form>
</body>
</html>
```

web.xml

```
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">

<servlet>
  <servlet-name>Kap03 Bier</servlet-name>
  <servlet-class>com.example.web.BierAuswahl</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>Kap03 Bier</servlet-name>
  <url-pattern>/BierWahl.do</url-pattern>
</servlet-mapping>

</web-app>
```

BierAuswahl.java

```
package com.example.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.example.model.BierExperte;

/**
 * Servlet implementation class BierAuswahl
 */
@WebServlet("/BierAuswahl")
public class BierAuswahl extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BierAuswahl() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException {
		String c = request.getParameter("farbe");
		BierExperte be = new BierExperte();
		List<String> result = be.getMarken(c);
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("Empfohlenes Bier<br>");
		
		Iterator<String> it = result.iterator();
		while(it.hasNext()){
			out.println("<br>Probieren Sie mal: "+it.next());
		}
	}

}
```

BierExperte.java

```
package com.example.model;

import java.util.ArrayList;
import java.util.List;


public class BierExperte {
	public List<String> getMarken(String farbe){
		List<String> marken = new ArrayList<String>();
		if(farbe.equals("goldgelb")){
			marken.add("Dumpfbräu");
			marken.add("Hinterwälder Urbock");
		}else{
			marken.add("Seiten-Lager Stabil");
			marken.add("Korsakowski Export");
		}
		
		return marken;
	}
}
```

Fehlermeldung:
HTTP Status 404 - /Bier-v1/Bierwahl.do

type Status report

message /Bier-v1/Bierwahl.do

description The requested resource (/Bier-v1/Bierwahl.do) is not available.
Apache Tomcat/7.0.0


----------



## Enigma228 (5. Sep 2010)

Ich habe das Projekt noch einmal gemacht, aber die Java- bzw. Servletklasse im src Package gelassen, statt sie weiter zu verteilen
(wie com.example.web)
weiterhin habe ich die Web.xml angepasst und "com.example.web" weggelassen
Und siehe da es funktioniert.. 
warum funktioniert aber das verzweigte Original nicht??


WEITERER NACHTRAG!!!!

AUS IRGENDEINEM GRUND FUNKTIONIERT JETZT AUCH DAS VERZWEIGTE PROJEKT...

WEISS DER GEIER WARUM.. GRINS
ICH VERMUTE DER TOMCAT HAT IMMER WIEDER ALTE DATEN VERWENDET, TROTZ NEUSTART.

DANKE TROTZDEM
THOMAS


----------



## JohannisderKaeufer (5. Sep 2010)

Es könnte auch der Browser sein, der gerne mal etwas in seinem Cache vorhält.

Daher würde ich mal empfehlen diesen Auszuschalten.


----------



## der_rumpel (18. Feb 2011)

Ich habe ein ähnliches Problem, bei mir kommt die gleiche Fehlermeldung, ist zwar das voran  gegangene  Beispiel (im Buch), aber das macht ja nichts. Ich habe es exakt wie im Buch beschrieben abgetippt, dann habe ich diesen Quellcode hier genommen und habe ein Projekt angelegt

Fehlermeldung:
HTTP Status 404 - /Bier-v1/Bierwahl.do

type Status report

message /Bier-v1/Bierwahl.do

description The requested resource (/Bier-v1/Bierwahl.do) is not available.
Apache Tomcat/7.0.0 


Ich starte acuh den  Server jedes mal neu gestartet, Firefox-Cache geleert, Computer hoch und runter gefahren etc., irgendeiner noch ne Idee???

Gruß Dirk


----------



## der_rumpel (18. Feb 2011)

irgendwie finde ich hier den editieren -Button nicht, ich benutze Eclipse J2EE Helios und WTP, Tomcat 7.2


----------



## bronks (18. Feb 2011)

@rumpel:
Schau mal in den TomcatManager rein, ob die App überhaupt deployed und started ist.


----------



## der_rumpel (18. Feb 2011)

hey danke, werde mich damit mal befassen, wenigstens ein Anhaltspunkt


----------

