Mam pewien problem, stanąłem w miejscu i nie mogę ruszyć dalej.
Servlet łączy się z bazą danych, pobiera dane z kolumny, o nazwie podanej w atrybucie żądania (formularz). Problem polega na tym, że potrafię wyświetlić dane z kolumny za pomocą servletu, nie potrafię natomist za pomocą strony JSP :(
Poniżej przedstawiam kod strony JSP i Servletu.
KOD SERVLETU
import java.sql.;
import java.io.;
import java.util.;
import javax.servlet.;
import javax.servlet.http.*;
public class WyborZBazy extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null;
response.setContentType("text/html; charset=iso-8859-2");
PrintWriter out = response.getWriter();
String atrybut = request.getParameter("atrybut");
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection (
"jdbc:mysql://localhost:3306/leki", "user", "passwd");
stmt = con.prepareStatement("SELECT opis FROM tablica WHERE nazwa= (?)");
stmt.setString(1, atrybut);
rs = stmt.executeQuery();
// tu mam problem ??!! czy można podać jak niżej obiekt ResultSet, a jeżeli tak to jak go odczytać?
request.setAttribute("nazwa1", rs);
RequestDispatcher view = request.getRequestDispatcher("/wynik.jsp");
view.forward(request, response);
}
catch (ClassNotFoundException e) {
out.println("Nie można załadować sterownika bazy danych:" + e.getMessage());
}
catch (SQLException e) {
out.println("SQLException: " + e.getMessage());
}
finally {
// zamknięcie połączenia z bazą danych
try {
if (con!=null) con.close();
}
catch (SQLException ignored) {}
}
}
}
KOD JSP
<%@ page import="java.util.*" %>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Program Obsługujący bazę danych</title> </head> <body>Program Obsługujący bazę danych
<%= request.getAttribute("nazwa1")%>
// ??????????????????????????????????
</p>
</body>
</html>
Bardzo proszę o podpowiedź męczę się z tym już trzeci dzień:(
pozdrawiam