Datenbankausgabe .jsp per SQLite

mapof

Mitglied
Hey zusammen,

ich bin gerade dabei in einem Testprojekt eine Datenbank auszulesen und diese im Browser über localhost:8080 auszugeben: Dort sehe ich jedoch nur eine weiße Seite.

showDB.jsp
Java:
<!DOCTYPE html>

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page import="com.poketrade.dialect.*" %>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>

	<form action="showMessage.jsp">
		<%
			int pokemon_species_id, a;
			String name;
			
			try {
				Class.forName("org.sqlite.JDBC");
				Connection conn = DriverManager.getConnection("jdbc:sqlite:/pokemon.sqlite");
				Statement stmt = conn.createStatement();
				String sql = "pokemon_species_id, name FROM pokemon_species_names WHERE local_language_id = 6";
				ResultSet res = stmt.executeQuery(sql);
				out.println("<br><table border='2");
				out.println("<th>ID</th>");
				out.println("<th>Name</th>");
				
				while (res.next()) {
					out.println("<tr><td>");
					a = res.getRow();
					out.println(a);
					out.println("</td><td>");
					pokemon_species_id  = res.getInt(1);
					out.println(pokemon_species_id);
					out.println("</td><td>");
					name = res.getString(2);
					out.println(name);
				}
			}
			catch(Exception e) {
				System.out.println(e);
			}
		%>

	</form>


</body>
</html>

index.jsp
Java:
<!DOCTYPE html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
	<c:url value="/showDB.jsp" var="database" />
	<a href="${database}"></a>
</body>
</html>
 
Indem du ein SQL Statement schreibst dessen Syntax korrekt ist!

Kopiere dir dein SQL Statement und versuche es in einem SQL Browser auszuführen (für SQLite gibt es hier das "sqllitestudio").
Dann solltest du dir ein SQL Grundlagenbuch hernehmen und kontrollieren wie ein SQL Statement auszusehen hat.
 
Zuletzt bearbeitet:
Hatte den SELECT vergessen zu schreiben, hat aber nichts geändert: Ausgegeben wird im Browser nichts. Im SQLite Browser funktioniert der Befehl jedoch.
 
.... hat aber nichts geändert: Ausgegeben wird im Browser nichts.

Bitte schau dir deinen Code nochmals an!
Einerseits weiß ich nicht was out.println(....) sein soll? Oder hast du bei all diesen Zeilen das System. davor vergessen?

Ansonsten erzeugst du nicht einmal eine valide HTML Struktur!

Java:
out.println("<br><table border='2");

Das Tag wird nicht geschlossen, und System fehlt beim Java Code!

Java:
out.println("<th>ID</th>");

Die Header selbst müssen auch in einer Row sein!

Des Weiteren fehlen noch einige schließende Tags.
 
out bezieht sich in einer JSP auf den Outputstream der Servlet Response und ist eine implizit vorhandene Variable. Also völlig korrekt.
Da das HTML Element Table nicht korrekt geschlossen wird, würde ich mir mal den generierten HTML Quelltext anschauen, ob die Daten darin enthalten sind...
 

Neue Themen


Zurück
Oben