Hallo,
ich habe noch keine Erfahrung mit JSPs und Servlets und folgendes Problem:
Ich habe eine JSP Seite "index.jsp" die drei andere Teile, "header.jsp", "footer.jsp" sowie ein Servlet "servlet/Show_all"einbindet.
Die Seite "index.jsp" besteht lediglich aus 3 include Befehlen:
Das Problem ist dass das Servlet in diesem Fall immer nach dem Footer eingebunden wird, bzw. der Footer in einem <div class="inhalt"> steht der von dem Servlet erzeugt wird. Ich denke es hat etwas mit der Laufzeit zu tuen bzw. damit das ich den include-Befehl und wie ich wo, was, wie einbinden bzw. aufrufen kann noch nicht so ganz verstehe.
Außerdem betreffen die icludes <jsp:include page="modules/header.jsp"/> und <jsp:include page="modules/footer.jsp"/>
ja andere jsp Seiten und mit <jsp:include page="servlet/Show_all"/> wird ja ein Servlet aufgerufen dessen Inhalt erst noch berechnet werden muss...
Kann mir vielleicht einer einen Hinweis geben, wie ich das Ergebnis des Servlet richtig einbinden kann?
Zur Vollständigkeit hier nocheinmal der Code der Seiten die included werden:
modules/header.jsp:
modules/footer.jsp:
servlet/Show_all:
ich habe noch keine Erfahrung mit JSPs und Servlets und folgendes Problem:
Ich habe eine JSP Seite "index.jsp" die drei andere Teile, "header.jsp", "footer.jsp" sowie ein Servlet "servlet/Show_all"einbindet.
Die Seite "index.jsp" besteht lediglich aus 3 include Befehlen:
Code:
<jsp:include page="modules/header.jsp"/>
<jsp:include page="servlet/Show_all"/>
<jsp:include page="modules/footer.jsp"/>
Das Problem ist dass das Servlet in diesem Fall immer nach dem Footer eingebunden wird, bzw. der Footer in einem <div class="inhalt"> steht der von dem Servlet erzeugt wird. Ich denke es hat etwas mit der Laufzeit zu tuen bzw. damit das ich den include-Befehl und wie ich wo, was, wie einbinden bzw. aufrufen kann noch nicht so ganz verstehe.
Außerdem betreffen die icludes <jsp:include page="modules/header.jsp"/> und <jsp:include page="modules/footer.jsp"/>
ja andere jsp Seiten und mit <jsp:include page="servlet/Show_all"/> wird ja ein Servlet aufgerufen dessen Inhalt erst noch berechnet werden muss...
Kann mir vielleicht einer einen Hinweis geben, wie ich das Ergebnis des Servlet richtig einbinden kann?
Zur Vollständigkeit hier nocheinmal der Code der Seiten die included werden:
modules/header.jsp:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ilovestreams</title>
<style type="text/css" media="all">
@import "love.css";
</style>
</head>
<body>
<div id="header">
<div id="user_status_aussen">
<div id="user_status_innen">
<a href="login.jsp">Log In</a> | <a href="signup.jsp">Sign Up</a>
<div id="db_kontrollfeld">
<jsp:useBean id="dbKontrollfeld" class="sulobeans.DBcheck"/>
<%
out.println(dbKontrollfeld.getDBTreiber());
out.println(dbKontrollfeld.getDBConnection());
out.println(dbKontrollfeld.lookforTables());
%>
</div>
</div>
<div id="logo"><a href="http://myron.mt.haw-hamburg.de/~p23/index_ils2.jsp"><img src="img/ilovestreams_logo.gif"></a></div>
</div>
</div>
modules/footer.jsp:
Code:
<div id="footer">
<br><a href="http://myron.mt.haw-hamburg.de/~p23">zum index</a>
</div>
</body>
</html>
servlet/Show_all:
Java:
import java.util.*;
import java.io.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
public class Show_all extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
int i = 0;
//DB-Treiber
try
{
Class.forName("org.gjt.mm.mysql.Driver");
}
catch( ClassNotFoundException e)
{
out.println("servlet/Show_all: MySQL-Treiber nicht gefunden!");
}
//Ausgabe Tabelle erzeugen
try
{
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/p23","p23","k57o");
Statement st = con.createStatement();
try
{
st.executeQuery("select * from streamlist");
}
catch(Exception e)
{
out.println("Tabelle 'streamlist' nicht gefunden!");
}
//DB-ABFRAGE
ResultSet rs = st.executeQuery("select * from streamlist");
out.println("<div class='inhalt'>"); //div-css-klasse 'inhalt'
out.println("<table border='0' witdth='100%'>"); //ergebnistablle anlegen
out.println("<th>Streamname</th><th>Kategorie</th><th>Genre</th><th>Link</th>"); //kopfzellen benennen
while(rs.next())
{
//Ausgabeparameter
String streamname = rs.getString("streamname");
String streamurl = rs.getString("streamurl");
String kategorie = rs.getString("kategorie");
String genre = rs.getString("genre");
String trclass = "";
//zum colorieren der Zeilen abwechselnd mit CSS-Klassen versehen
if(i == 0){
trclass = "<tr class='tr_hell'>";
}
else{
trclass = "<tr class='tr_dunkel'>";
}
out.println(trclass);
out.println("<td>"+streamname+"</td>"+"<td>"+kategorie+"</td>"+"<td>"+genre+"</td>"+"<td><a href='"+streamurl+"'><img src='img/audio.gif' height='11px'></a></td>");
out.println("</tr>");
if(i == 0){
i = 1;
}
else{
i = 0;
}
}
st.close();
con.close();
out.println("</div>"); //ende div-css-klasse 'inhalt'
}
catch(Exception e){
out.println ("MYSQL Exception");
out.println("<br>");
}
}
}