# Web-MVC-Tutorial



## Antoras (28. Jun 2009)

Hallo,

ich bin gerade dabei mir eine Web-Applikation zu schreiben hab aber ein Problem mit deren Aufbau.
Ich besitze einen Controller, der vom View, den JSPs, Eingaben entgegennimmt. Diese leitet er an das Model um und gibt deren Antworten wieder an die JSPs weiter. Das hat bisher ganz gut funktioniert, da alle Methoden im Controller statisch waren. Dies wollte ich jetzt aber ändern. Wenn meine Methoden aber nicht mehr statisch sind, dann kann ich mit meinen JSPs aber nicht mehr darauf zugreifen, da ich in meinen JSPs ja keine Instanzen meines Controllers erstellen kann.

Ich wollte das jetzt mit verschiedenen Pattern für Web-Applikation umgehen, bin bisher aber nur auf Tutorials gestoßen, bei denen ich mit Frameworks usw. arbeiten musste. Wollte jetzt wissen ob man sich da auch "einfacher" in das Thema einarbeiten kann. Also nur mit der Standard-API von Sun ohne irgend ein Zusatzzeugs. Kennt ja jemand ein Tutorial, das nur Sun's API behandelt? Oder bekomm ich da ohne Frameworks nichts vernünftiges zum Laufen?


----------



## bronks (29. Jun 2009)

Bitte schön: Server-side Java: Understanding JavaServer Pages Model 2 architecture - JavaWorld

Die traditionellen Patterns traditionell ausprogrammieren ist immernoch die Vorgehensweise, welche letzendlich die qualitativ beste Software hervorbringt. 

Ich finde es ebenfalls übel, daß man sich für fast jedes Tut erstmal zig Frameworks und KlickibuntiPlugins für irgendeine IDE besorgen muß bevor man überhaupt loslegen kann. Mit den ganzen Gratisframeworks hat man im professionellen Einsatz zu dem immer das Problem, daß diese eine zusätzliche Fehlerquelle darstellen und man bei evtl. Problemen im Betrieb mit der Fehlerbehebung nicht so schnell ist, wie es nötig wäre. So gesehen ist jede nicht unbedingt nötige Lib eine zusätzliche Schlinge, in der Dein Hals steckt.


----------



## Antoras (30. Jun 2009)

Der Link sieht schon einmal gut aus. Ist zwar nicht mehr der neueste, aber wenn es noch immer aktuell ist...

Ich hab das mal nachgebaut, hab aber das Problem, dass mir mein Tomcat immer einen 404-Error wirft. Meine eingebauten Links zeigen wohl auf den falschen Pfad, ich bekomme aber einfach nicht raus wohin der genau zeigen muss. Kann mir da jemand weiterhelfen (Aufruf der Klasse ShoppingServlet aus der JSP EShop)?


----------



## bronks (30. Jun 2009)

Im EShop reicht es, wenn im Form nur folgendes steht, wenn das Servlet auf ShoppingServlet gemappt ist:


```
<form name="shoppingForm" 
   action="ShoppingServlet" 
   method="POST">
```


----------



## Antoras (30. Jun 2009)

Das hab ich auch schon probiert, ging aber auch nicht. Vielleicht liegt es ja an der web.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
		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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<servlet>
		<servlet-name>ShoppingServlet</servlet-name>
		<servlet-class>controller.ShoppingServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>ShoppingServlet</servlet-name>
		<url-pattern>/ShoppingServlet</url-pattern>
	</servlet-mapping>

</web-app>[/XML]

Edit: Wenn ich bei diesem Beispiel eine neue CD zu der Liste hinzufügen möchte bekomm ich ja den 404-Error. Wenn ich aber im Browser eine Seite zurück blättere und diese dann aktualisiere, dann erscheint die ausgewählte CD kurioserweise auf der Liste...


----------



## bronks (30. Jun 2009)

Da passt im ShoppingServlet die URL in dieser Zeile nicht:


```
String url="/jsp/shopping/EShop.jsp";
```

Bei Dir sollte es heissen:


```
String url="/EShop.jsp";
```


----------



## Antoras (30. Jun 2009)

Ach verdammt, die hab ich komplett übersehen.

Jetzt funktioniert alles. Danke dir!

Kann mich jetzt beruhigt an meine eigene Applikation machen...


----------

