Um zu starten, erstellen Sie eine Servlet
, die auf einer bestimmten url-pattern
, z. /pages/*
. Implementieren Sie die service()
-Methode zum Suchen der Aktion, die der Anforderungsmethode (GET
, POST
usw.) zugeordnet ist, und pathinfo (der URL-Teil nach dem Servlet url-pattern
).
Grund Beispiel:
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
View view = new View(request, response);
Action action = ActionFactory.getAction(request);
action.execute(view);
view.navigate();
}
Die Action
Schnittstelle eine Arbeitseinheit darstellen sollte. Sie können es implementieren, um die notwendige Business-Logik zu tun:
public interface Action {
void execute(View view);
}
Die ActionFactory
die Klassen halten sollte Action
in Art Map<String, Action>
Implementierung, wo die String
Schlüssel repräsentieren weniger oder mehr eine Kombination aus dem Anforderungsverfahren und pathinfo. Sie könnten dann eine Action
erhalten wie folgt:
public static Action getAction(HttpServletRequest request) {
return actions.get(request.getMethod() + request.getPathInfo());
}
Die View
sollte den Antrag scoped Kontext darstellen, die die Action
mit arbeiten können. Im navigate()
könnten Sie die Anforderung an eine JSP für die Anzeige weiter:
public void navigate() {
String path = "/WEB-INF" + request.getPathInfo() + ".jsp";
request.getRequestDispatcher(path).forward(request, response);
}
Das sollten Sie beginnen (beachten Sie, dass ich alle offensichtlichen Kontrollen verlassen, wie Null-Zeiger entfernt die Beispiele weniger überladen zu machen, das ist bis zu Ihnen jetzt).
Es gibt jedoch mehr zu berücksichtigen in der ganzen Geschichte, wie Validierung, Konvertierung, Event-Handling, Eingabewert-Mappings, Lokalisierung, Dependency Injection, und so weiter. Das ist alles bei allem eine ziemliche Arbeit. Die anständigeren MVC-Frameworks berücksichtigen das meiste, wie beispielsweise Sun JSF, Apache Struts, Spring MVC, Stripes, und so weiter. Wenn du noch nie etwas davon getan hast, dann empfehle ich dringend, dies zu tun, bevor du ein Haus aufbaust, sonst würdest du Zeit verlieren.
Wie wäre es mit dem Spring MVC Framework? http://www.springsource.org/ –
J2EE wird seit mehr als 3 Jahren durch Java EE ersetzt. Halten Sie sich auf dem Laufenden. – BalusC
Ja, ich weiß, aber ich gehe generell mit ... trotzdem danke. – user237865