E, ovako, radim internet aplikaciju,tj. vezbam za ispit, nesto vezano za bazu sa filmovima i naisao sam na problem. U aplikaciji imam zadatak da izlistam sve filmove za slovo kojim pocinje ime filma, a to slovo unosi korisnik. Kada kliknem na dugme da mi izlista, pojavi se nova strana sa atributima baze (ID, IME, REDITELJ, GLUMAC, GODINA), ali nema vrednosti tih atributa, tj nema podataka o filmovima koji pocinju zadatim slovom. Isto se desava kada unesem slovo za film koji postoji u bazi i za film koji ne postoji. Samo prazna strana i atributi baze. Koristim MySql bazu i Apache Tomcat Server. Da li neko moze da mi resi problem???
Hvala...
p.s. prilazem kod .java
Code:
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ListaIme extends HttpServlet{
String upit="";
String greska="";
String ime="";
Connection con=null;
Statement stmt=null;
ResultSet RS=null;
ServletContext sc=null;
RequestDispatcher rd=null;
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
doPost(req,res);
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
sc=getServletContext();
ime=req.getParameter("ime");
try{
poveziMe(req,res);
zatvoriKonekciju();
pozoviJSP(req,res);
}catch(Exception e){
greska="Doslo je do greske pokusajte ponovo!";
proslediGresku(greska,req,res);
greska="";
}
}
public void poveziMe(HttpServletRequest req,HttpServletResponse res){
try{
HttpSession session=null;
session=req.getSession(true);
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/BazaFilmova","root","root");
stmt=con.createStatement();
String query="SELECT * FROM FILM WHERE FILM.ime LIKE '"+ime+"%' ";
RS=stmt.executeQuery(query);
int br_filma=0;
Vector filmDetalji=new Vector();
while(RS.next()){
br_filma++;
Vector film=new Vector();
for(int i=1;i<=5;i++){
if(i==1)
film.addElement(new String(RS.getString(i)));
else if(i==2 || i==3)
film.addElement(new String(RS.getString(i)));
else if(i==4)
film.addElement(new String(RS.getString(i)));
else
film.addElement(new String(RS.getString(i)));
}
filmDetalji.addElement(film);
}
session.setAttribute("filmDetalji",filmDetalji);
session.setAttribute("br_filma",new Integer(br_filma));
}catch(Exception e){
e.printStackTrace();
greska="Konekcija sa bazom podataka nije uspela";
proslediGresku(greska,req,res);
greska="";
}
}
public void zatvoriKonekciju(){
if(con!=null){
try{
con.close();
}
catch(SQLException e){
e.printStackTrace();
greska="Greska prilikom zatvaranja konekcije sa bazom podataka";
//proslediGresku(greska,req,res);
greska="";
}
}
}
public void proslediGresku(String s,HttpServletRequest req,HttpServletResponse res){
HttpSession session=null;
session=req.getSession(true);
session.setAttribute("greska", greska);
rd=sc.getRequestDispatcher("/Greska.jsp");
try{
rd.forward(req, res);
greska="";
}catch(Exception e){
}
}
public void pozoviJSP(HttpServletRequest req,HttpServletResponse res){
try{
rd=sc.getRequestDispatcher("/listaIme.jsp");
rd.forward(req,res);
}catch(Exception e){
greska="nije uspelo "+e;
proslediGresku(greska,req,res);
greska="";
}
}
}
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ListaIme extends HttpServlet{
String upit="";
String greska="";
String ime="";
Connection con=null;
Statement stmt=null;
ResultSet RS=null;
ServletContext sc=null;
RequestDispatcher rd=null;
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
doPost(req,res);
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
sc=getServletContext();
ime=req.getParameter("ime");
try{
poveziMe(req,res);
zatvoriKonekciju();
pozoviJSP(req,res);
}catch(Exception e){
greska="Doslo je do greske pokusajte ponovo!";
proslediGresku(greska,req,res);
greska="";
}
}
public void poveziMe(HttpServletRequest req,HttpServletResponse res){
try{
HttpSession session=null;
session=req.getSession(true);
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/BazaFilmova","root","root");
stmt=con.createStatement();
String query="SELECT * FROM FILM WHERE FILM.ime LIKE '"+ime+"%' ";
RS=stmt.executeQuery(query);
int br_filma=0;
Vector filmDetalji=new Vector();
while(RS.next()){
br_filma++;
Vector film=new Vector();
for(int i=1;i<=5;i++){
if(i==1)
film.addElement(new String(RS.getString(i)));
else if(i==2 || i==3)
film.addElement(new String(RS.getString(i)));
else if(i==4)
film.addElement(new String(RS.getString(i)));
else
film.addElement(new String(RS.getString(i)));
}
filmDetalji.addElement(film);
}
session.setAttribute("filmDetalji",filmDetalji);
session.setAttribute("br_filma",new Integer(br_filma));
}catch(Exception e){
e.printStackTrace();
greska="Konekcija sa bazom podataka nije uspela";
proslediGresku(greska,req,res);
greska="";
}
}
public void zatvoriKonekciju(){
if(con!=null){
try{
con.close();
}
catch(SQLException e){
e.printStackTrace();
greska="Greska prilikom zatvaranja konekcije sa bazom podataka";
//proslediGresku(greska,req,res);
greska="";
}
}
}
public void proslediGresku(String s,HttpServletRequest req,HttpServletResponse res){
HttpSession session=null;
session=req.getSession(true);
session.setAttribute("greska", greska);
rd=sc.getRequestDispatcher("/Greska.jsp");
try{
rd.forward(req, res);
greska="";
}catch(Exception e){
}
}
public void pozoviJSP(HttpServletRequest req,HttpServletResponse res){
try{
rd=sc.getRequestDispatcher("/listaIme.jsp");
rd.forward(req,res);
}catch(Exception e){
greska="nije uspelo "+e;
proslediGresku(greska,req,res);
greska="";
}
}
}
i kod .jsp strane
Code:
<%@ page language="java"%>
<%@ page import ="java.util.*"%>
<html>
<head><title>Lista filmova po imenu filma</title></head>
<body bgColor="#F7E179">
<center><font face="Verdana,Arial"><h3>Lista filmova za zeljeno pocetno slovo</h3></font></center>
<%!int br_filma;%>
<%!Vector filmovi;%>
<%!Vector filmDetalji;%>
<%
br_filma=(new Integer(session.getAttribute("br_filma").toString())).intValue();
filmDetalji=(Vector)session.getAttribute("filmDetalji");
%>
<table width="600" border="0" align="center">
<tr>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF"> ID </font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">IME</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">REDITELJ</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">GLUMAC</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">GODINA</font></b></td>
</tr>
<%for(int m=0;m<br_filma;m++){%>
<%filmovi=(Vector)filmDetalji.elementAt(m);%>
<tr>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(Integer)filmovi.elementAt(0)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(1)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(2)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(3)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(4)%>
</font></b></div>
</td>
<%}%>
</tr>
</table>
</body>
</html>
<%@ page language="java"%>
<%@ page import ="java.util.*"%>
<html>
<head><title>Lista filmova po imenu filma</title></head>
<body bgColor="#F7E179">
<center><font face="Verdana,Arial"><h3>Lista filmova za zeljeno pocetno slovo</h3></font></center>
<%!int br_filma;%>
<%!Vector filmovi;%>
<%!Vector filmDetalji;%>
<%
br_filma=(new Integer(session.getAttribute("br_filma").toString())).intValue();
filmDetalji=(Vector)session.getAttribute("filmDetalji");
%>
<table width="600" border="0" align="center">
<tr>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF"> ID </font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">IME</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">REDITELJ</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">GLUMAC</font></b></td>
<td bgColor="#66999cc"><b><font face="Verdana" size="2" color="#FFFFFF">GODINA</font></b></td>
</tr>
<%for(int m=0;m<br_filma;m++){%>
<%filmovi=(Vector)filmDetalji.elementAt(m);%>
<tr>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(Integer)filmovi.elementAt(0)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(1)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(2)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(3)%>
</font></b></div>
</td>
<td bgcolor=="#FFFFCC">
<div align="left"><b><font face="Verdana" size="2" color="#000066"><%=(String)filmovi.elementAt(4)%>
</font></b></div>
</td>
<%}%>
</tr>
</table>
</body>
</html>