Design-Frage: JSP, Servlets und CSS

miggel13

Mitglied
Hallo und guten Abend,
da ich mich derzeit mit Servlets und JSP beschäftige bin ich auf folgende Frage gestoßen:

Wie "designe" ich meinen Code in Bezug auf CSS-Style-Definitionen und eben Java Server Pages? Was ich z. B. vermeiden möchte wäre, dass ich bei jedem Seiten-Reload auch die Navigationsleisten mit laden müsste! Dies erledigte ich früher mit PHP - include .... - dies jedoch nur als Beispiel: mir geht es eigentlich mehr um das generelle Design wie so etwas gemacht wird ...


Kann von euch jemand vielleicht die Frage aus aktuellen Beispiel-Projekten beantworten bzw. kennt jemand ein gutes HowTo/Artikel/..., mit dessen man sich über das grundlegende Design informieren kann?

Gruß
miggel13
 

Antoras

Top Contributor
Hallo und guten Abend, Was ich z. B. vermeiden möchte wäre, dass ich bei jedem Seiten-Reload auch die Navigationsleisten mit laden müsste! Dies erledigte ich früher mit PHP - include
Hä? Mit der include-Anweisung von PHP lädst du den Content doch auch nach. Willst du, dass nur ein bestimmter Teil einer bereits im Browser angezeigten Website nachgeladen wird oder, dass du, so wie in PHP, die einzelnen Teilseiten komfortabel miteinander verbinden kannst?
Für ersteres ist Ajax für dich interessant, für letzteres eine Template Engine wie die JSTL.
 

miggel13

Mitglied
Ja zugegeben, hab mich etwas scheiße ausgedrückt ...
Ja eigentlich möchte ich, dass nur ein bestimmter Teil nachgeladen wird (ich klick auf einen Link in der Menü-Leiste und dann lädt der Inhalts-DIV eben den neuen Inhalt)
-> Hauptaugenmerk ist jedoch folgendes: ich möchte den Code für eine Navigationsleiste einfach nicht in 100 JSP-Seiten manuell einfügen (ändert sich was, dann ist dies ein haufen aufwand...). Deshalb würde mich das generelle "Code-Layout" interessieren!
 

miggel13

Mitglied
OK. Und wie sieht es in der Praxis aus? Ist es üblich mit include-Tags zu arbeiten oder gibt es da noch bessere "Design-Frameworks".
Ich bin einfach ein Servlet-Newbie und versuche einfach von Beginn an "sauber" zu arbeiten ...
 

homer65

Top Contributor
Ich persönlich benutze für die Navgationsleiste den include Befehl.
Was andere tun bzw was üblich ist, kann ich dir leider nicht sagen.
 

miggel13

Mitglied
Alles klar damit ist mir auf jeden Fall schon mal geholfen. DANKE
Sie kennen nicht zufällig ein kleines Dokument, wo man sich so etwas "abkucken" kann (Beispielcode oder Tutorial...)?
 

homer65

Top Contributor
Hier mal ein Beispiel JSP. Dort ist navigation.html Die Navigationsleiste.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*,common.*" %>
<%@ include file="connect.jsp" %>
<%@ include file="checklogin.jsp" %>
<html>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link href="my.css" rel="stylesheet" type="text/css" />
<body>
<%@ include file="kopf.jsp" %>
<%@ include file="navigation.html" %>
<%
 if (hlogin)
 {
  out.println("<form method=\"post\" action=\"addadrx.jsp\">");
  out.println("<table>");
  out.println("<tr><td>Vorname</td><td><input name=\"vorname\" size=\"100\"></td></tr>");
  out.println("<tr><td>Name</td><td><input name=\"name\" size=\"100\"></td></tr>");
  out.println("<tr><td>Stra&szlig;e</td><td><input name=\"strasse\" size=\"100\"></td></tr>");
  out.println("<tr><td>Hausnummer</td><td><input name=\"hausnummer\" size=\"100\"></td></tr>");
  out.println("<tr><td>Plz</td><td><input name=\"plz\" size=\"100\"></td></tr>");
  out.println("<tr><td>Ort</td><td><input name=\"ort\" size=\"100\"></td></tr>");
  out.println("<tr><td>Telefon</td><td><input name=\"telefon\" size=\"100\"></td></tr>");
  out.println("<tr><td>EMail</td><td><input name=\"email\" size=\"100\"></td></tr>");
  out.println("<tr><td>Bemerkung</td><td><input name=\"bemerkung\" size=\"100\"></td></tr>");
  out.println("<tr><td><input type=\"submit\" value=\"add\"></td></tr>");
  out.println("</table>");
  out.println("</form>");
 }
%>
</body>
</html>
 

ARadauer

Top Contributor
mhn...
Code:
<%
 if (hlogin)
 {
  out.println("<form method=\"post\" action=\"addadrx.jsp\">");
  usw...
  out.println("</form>");
 }
%>

warum nicht....
Code:
<%
 if (hlogin)
 {
%>
  <form method="post" action="addadrx.jsp">
  usw...
  </form>
<%
 }
%>

dann kanst dir die out.println und das escapen der " sparen...
 

Antoras

Top Contributor
Ja eigentlich möchte ich, dass nur ein bestimmter Teil nachgeladen wird (ich klick auf einen Link in der Menü-Leiste und dann lädt der Inhalts-DIV eben den neuen Inhalt)
Das Nachladen von Inhalten auf dem Server und auf dem Client sind zwei komplett unterschiedlichen Sachen. Für den Server reichen die include-Anweisungen, für den Client benötigst du Ajax, was sehr aufwendig ist (im Verglich zu einem kompletten Neuladen der Website). Im übrigen wird eine Website beim Client ohne Ajax jedes Mal komplett neu geladen, ob du willst oder nicht. Wie das dann auf dem Server funktioniert ist dann was anderes.

Ich bin einfach ein Servlet-Newbie und versuche einfach von Beginn an "sauber" zu arbeiten ...
Dann benutz gleich eine Template Engine wie z.B. die JSTL und nicht den Skriptlet-Müll (Java Code in HTML):
HTML:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:import url="${navigationsleiste}" />
...
<c:if test="${hlogin}">
  <form method="post" action="addadrx">
  usw...
  </form>
</c:if>
Java:
public class MyServlet extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    if (isLoggedIn()) {
      req.setAttribute("hlogin", true);
    }
    req.setAttribute("navigationsleiste", "/navigationsleiste.jsp");
    RequestDispatcher r = req.getRequestDispatcher("/template.jsp");
    r.include(req, resp);
  }
}
 

miggel13

Mitglied
OK - aufgrund der letzten Antwort muss ich jetzt doch meinen Beitrag ändern.

@Antoras
Ok Stimmt! Aufgrund einer Falschinformation seitens unseres Lehrers habe ich nun auch bemerkt, dass beim PHP-Include die komplette Seite vom Server geladen wird (wobei ja eig. diverses zeug dann bereits im Cache vorliegen sollte - eben je nach Einstellung...)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Todesbote Servlet MVC Design Pattern Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
pkm Frage zum URL-Pattern des Bereitstellungsdeskriptors Web Tier 11
A Anfänger-Frage Servlet/Applet/JSP Web Tier 0
C Wahrscheinlich einfache Frage bzgl. JSF Web Tier 2
F JSF Frage zu valueChangeListener Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF h:selectManyCheckbox Css Frage Web Tier 2
F JSF p:selectCheckboxMenu Frage Web Tier 0
S JSF Allgemeine Frage zu JSF Web Tier 10
U Servlet Allgemeine Frage zu Servlets Web Tier 2
K Frage zu Taglibs in JSF Web Tier 3
C Kleinere Frage EJB/JSF Web Tier 7
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
F Frage zu Java Beans Web Tier 17
F Frage zum Validator Web Tier 2
J Frage zu Checkbox bei JSF Web Tier 3
S Frage bezüglich Einblendung eines Zusatzfeldes Web Tier 2
O Escapen oder nicht Escapen, das ist hier die Frage :) (Struts2) Web Tier 2
H Frage zu Servlet getRequestDispatcher Web Tier 2
S JSF: Frage wegen managed-bean Web Tier 3
G Struts 2 - Validation Frage Web Tier 5
E File upload mit jsp (frage zum speicherort) Web Tier 12
G Kurze Frage zu editier-Formularen Web Tier 7
T Action mapping Frage (Struts) Web Tier 2
G Kurze Frage zu Servlets&Struts Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
O Struts Grundlagen Frage Web Tier 32
E einfache Frage zu Servlet (Counter erzeugen) Web Tier 7
W getServletConfig().getInitParameter(.) Frage Web Tier 5
G Frage zu Tiles Web Tier 4
M Grundlegende Frage zu Servlets und JSPs Web Tier 12
T Model2-Architektur Servlets Web Tier 0
D Servlet EJBs in Servlets verwenden? Web Tier 4
S JSF, JSP, Servlets - ich verstehe nur noch Bahnhof Web Tier 4
M Best practice JSP und Servlets Web Tier 1
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
T Tomcat mit Servlets Problem Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
R Daten Streamen mit Servlets. Web Tier 4
J web.xml / Erreichbarkeit von Servlets Web Tier 6
F Richtiges Session Management mit Servlets Web Tier 4
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
S Ein ControllerServlet für andere Servlets - Sinnvoll oder nicht? Web Tier 34
D Servlets vor direktem Zugriff schützen Web Tier 2
O setDefaultUncaughtExceptionHandler in Servlets Web Tier 2
Java.getSkill() Webseiten JSP Servlets Struktur Web Tier 3
R File Einlesen mit jsp/servlets Web Tier 11
S Daten zwischen 2 Servlets aus 2 Webapplikationen teilen? Web Tier 17
D client-seitige Sessions mit Servlets Web Tier 5
M Bilder in Servlets Web Tier 8
U Grundaufbau der Webapp mit JSP/Servlets Web Tier 7
J Welcher WebServer(-anbieter) für Servlets? Web Tier 5
S Ablauffrage von Servlets Web Tier 2
L Massenaufruf ( 5000/s ) eines Servlets testen. Web Tier 4
G synchronized bei Servlets Web Tier 24
rambozola session attribut in servlets und jsps Web Tier 11
D Kann Servlets nicht kompilieren Web Tier 7

Ähnliche Java Themen

Neue Themen


Oben