|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1767
|
[JAVA/SQL] Mostrare risultato query in una tabella
Sto facendo un po' di pratica con una web application.
Su una pagina ho creato una form dove inserire dei valori in alcuni campi, inviando la richiesta viene chiamata una servlet che si collega al DB e cerca se ci sono corrispondenze con quanto immesso nei campi della form. Il ResultSet contiene il risultato, ora come faccio a passarlo e visualizzarlo in una JSP? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1767
|
Credo di aver capito che devo mettere il ResultSet ottenuto dalla query nella servlet in un oggetto di sessione e passarlo alla JSP con un dispatcher, adesso però non riesco a capire come usarlo visto che nella JSP non riesco a dichiarare una variabile di tipo ResultSet.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1767
|
Niente, non riesco a venirne a capo, come va modificata la servlet? Cosa devo scivere nella jsp?
Riporto qui sotto la servlet e la jsp Codice:
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.sql.*;
public class SearchBook extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
public SearchBook() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String _autore = request.getParameter("autore");
String _titolo = request.getParameter("titolo");
String address;
try {
ConnectionManager conn = ConnectionManager.getInstance();
Connection dbconn = conn.getConnection();
Statement stmt = dbconn.createStatement();
ResultSet rs = null;
rs = stmt.executeQuery("use bookshop;");
if(!_autore.equals("") && !_titolo.equals("")) {
rs = stmt.executeQuery("Select ISBN, authors, title, summay FROM book WHERE authors='"+_autore+" AND title='"+_titolo+"';");
}
if(!_autore.equals("")) {
rs = stmt.executeQuery("Select ISBN, authors, title, summay FROM book WHERE authors='"+_autore+"';");
}
else if(!_titolo.equals("")) {
rs = stmt.executeQuery("Select ISBN, authors, title, summay FROM book WHERE title='"+_titolo+"';");
}
else {
address="/errsearch.jsp";
}
if(rs.next()==false){
address="/noresult.jsp";
}
else {
address="/searchresult";
}
HttpSession session = request.getSession();
session.setAttribute("rs", rs);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(address);
dispatcher.forward(request, response);
}
catch (SQLException ex)
{
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
}
Codice:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Risultato</title>
</head>
<body>
<center><h1>Risultato della ricerca</h1><br><br>
<%
%>
</center>
</body>
</html>
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1767
|
A quanto pare avevo capito come fare, ma non sapevo come far riconoscere il tipo ResultSet alla jsp... adesso lo so: <%@ page import="java.sql.ResultSet" %> e funziona tutto
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:07.



















