Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JSP kao aplikacija

[es] :: Java :: JSP kao aplikacija

[ Pregleda: 2192 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
109.93.146.*

Sajt: biske.rs


+39 Profil

icon JSP kao aplikacija25.03.2010. u 18:48 - pre 171 meseci
Potrebno je da napravim 2 .jsp stranice samo da bih prezentovao da je moguće da napravim ono što profesor traži, preko .jsp-a.

Krenuo sam zajedno sa kolegama da radim izradu diplomskog rada. To je informacioni sistem studentske službe.
Projektni tim za izradu diplomskog rada informacionog sistema studentske službe se sastoji od 3 člana.

Profesor je dao zadatak nama dvojici da odradimo jednostavno pretraživanje baze i prikaz rezultata na formi. Kada se rezultati prikažu i kliknem na dugme ili neki drugi element na formi trebaju da mi se prenesu podaci na sledeću stranicu (na primer šifra studenta) gde mogu da pregledam podatke o studentu čiji je id prenet i da taj izveštaj pregledam ili odštampam. Znači 2 .jsp stranice + prikaz izveštaja.

Odradio sam izveštaj preko BIRT-a ali me interesuje kako taj izveštaj da pregledam iz internet pretraživača. Da li da ga eksportujem u .pdf pa da ponudim korisniku da ga pregleda ili na drugi način?

Ovo mi je bitno da odradim zato što nam je profesor rekao da ako uradim ovo onda će on dopustiti da radimo u JSP+Servlet tehnologiji a ako ne onda ćemo raditi u PHP-u (kolega je provalio kako da ovo odradi u PHP-u).
Znači ako odradim ovo do ponedeljka onda je odlično zato što ćemo raditi u Javi i to je za mene veliki plus zato što ću dobro da naučim ovu oblast Servleta i JSP stranica a i profesor će biti zadovoljan pošto je rekao da bi bilo bolje da bude java zato što to nije interpreterski jezik kao PHP.

Ja od vas tražim da mi pomognete da pronađem neke resurse vezane za ovu temu da bih mogao da krenem da radim. Neka dobra knjiga, tutorijal, adresa na internetu. Ne mora da bude na srpskom, engleski nije problem.
 
Odgovor na temu

reg
java,java,java
bgd

Član broj: 249663
Poruke: 30
*.dynamic.sbb.rs.



Profil

icon Re: JSP kao aplikacija25.03.2010. u 22:13 - pre 171 meseci
Posto imas 3 dana za servlete i JSP
mozda ti je bolje da ostanes na PHP
posebno ako te sve ovo ne zanima dugorocno,
jednostavno treba vise vremena da se nesto iole pristojno napise.

Ako ostanes pri odluci evo pocetnickih tutoriala za tebe:

kratki primeri servleta

Basic principles of JSP

coreservlets servlets and jsp tutorail

good luck!

 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: JSP kao aplikacija25.03.2010. u 22:50 - pre 171 meseci
Servlete već znam. Ja ne moram da naučim sve o jsp nego samo da odradim jednu formu za pretragu neke baze i da se na toj formi kada kliknem na dugme prikažu rezultati pretrage. Kada kliknem na neki od rezultata pretrage onda je potrebno da se otvori stranica na kojoj se nalazi samo taj rezultat i da klikom na dugme taj rezultat prikažem u jednom izveštaju ili pdf dokumentu. Izveštaj sam napravio preko BIRT biblioteke preko Eklips razvojnog okruženja. Postoji li možda neki sličan primer na internetu ili da je neko od članova foruma radio da pogledam i modifikujem prema mojim potrebama. Ja u stvari samo treba da pokažem profesoru da je tako nešto moguće u JSP da se uradi, to ne mora da zadovoljava neku strogu formu samo da se prkaže da je to moguće u JSP a kasnije ćemo da pravimo konkretne stvari. JSP je bolji od PHP-a zbog toga što nije skript jezik, zbog sigurnosti i profesor je rekao da bi bilo bolje ako možemo da odradimo ovo.

Ja javu znam osnovne stvari (ne mislim na početnički nivo). Znači taman sam skoro naučio osnovne tehonologije, krenuo da kreiram prozore, dugmićei i ostale stvari. Radio sam u javi jdbc, servlete, kao i nešto malo sa bibliotekom POI za čitanje word fajlova. Znači nisam skroz početnik u javi i opredeljenje u budućnosti mi je java. Možda bi ovo mogla da mi bude prekretnica :)

Svaka pomoć bi mi dobrodošla..
 
Odgovor na temu

reg
java,java,java
bgd

Član broj: 249663
Poruke: 30
*.dynamic.sbb.rs.



Profil

icon Re: JSP kao aplikacija26.03.2010. u 14:44 - pre 171 meseci
Posto imas malo vremena onda
evo ti link kako da ti najbrze uradis
ali ovo NIKAKO ne raditi u pravim aplikacijama
a dva su osnovna razloga zbog cega se to izbegava - imas poziv baze direktno iz servleta
a drugi je koriscenje skripleta u JSP.

Dakle cisto pocetnicki da vidis o cemu se radi:

primer SEARCH preko servleta i JSP

Iz forme za pretragu radis POST search podataka na serlvet koji prima te podatke.
On komunicira sa bazom (ovo uvek treba da radi neka druga klasa)
i rezultat pakuje u Attribute koji preko RequestDispathera
forwared-uje (ne redirectuje) na stranu sa rezultatom.

Na strani za rezultatom je taj skriplet (a treba da bude cist kod sa JSP tagovima i nekakvim ResultBean-om)
koji prikazuje rezultat.

Pocni i javi kako ide
sve sto nije jasno pitaj
i ne gubi za pocetak vreme sa ovim nedostacima
njih ces srediti kada budes imao vremena da napravis to kako treba.

pozz

 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
109.93.116.*

Sajt: biske.rs


+39 Profil

icon Re: JSP kao aplikacija26.03.2010. u 22:25 - pre 171 meseci
E ovako. Uzeo sam ovaj primer koji si mi dao i malo sam ga prepravio ali pretpostavljate, ne radi. Najpre sam skinuo sa interneta Northwind bazu za access i iskopirao je u fasciklu C:\northwind. Zatim sam otišao u kontrol panel i ubacio JDBC-ODBC drajver. Nakon toga sam prepravio ove 2 jsp stranice i java klasu.

Sad prepravio sam u java kodu da mi za parametar ime traži sva imena koja počinju sa određenim karakterima tj. koristio sam like klauzulu. Šta li ne valja u ovom kodu?

Evo i kodova koje sam prepravio:

search.jsp

Code:
<%@ page import="java.sql.*" %> 
<html>
<head>
</head>
<body>

<br><br><br><br><br><br>

<form method="post" name="frm" action="search">
<table border="0" width="300" align="center" bgcolor="#CDFFFF">
<tr><td colspan=2 style="font-size:12pt;color:#00000;" align="center"><h3>Search Customer</h3></td></tr>
<tr><td ><b>Employee Name</b></td><td>: <input  type="text" name="ContactName" id="ContactName">
</td></tr>
<tr><td ><b>City</b></td><td>: <input  type="text" name="City" id="City">
</td></tr>
<tr><td colspan=2 align="center"><input  type="submit" name="submit" value="Submit"></td></tr>
</table>
</form>
</body>
</html>




I java klasa Search.java

Code:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;

public class Search extends HttpServlet{ 
 
   public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException,IOException{
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            System.out.println("MySQL Connect Example.");
            Connection conn = null;
            String url = "jdbc:odbc:northwind";

            String driver = "sun.jdbc.odbc.Driver";
            Statement st;
            
            try {
                Class.forName(driver).newInstance();
                conn = DriverManager.getConnection(url);
                System.out.println("Connected to the database");

                //sledece parametre koje nam prosledjuje jsp stranica treba da izmenimo u stranici search.jsp
                String  ContactName  = request.getParameter("ContactName");
                String  City  = request.getParameter("City");


                //al se stavlja da je null zato sto zelimo samo da napravimo referencu tipa ArrayList
                ArrayList al=null;
                ArrayList emp_list =new ArrayList();
                String query = "select * from customers where ContactName like '"+ContactName+"*' or City='"+City+"'";
                System.out.println("query " + query);
                st = conn.createStatement();
                ResultSet  rs = st.executeQuery(query);


                while(rs.next())
                {
                    al  = new ArrayList();
                
                  al.add(rs.getString(1));
                  al.add(rs.getString(2));
                  al.add(rs.getString(3));
                  al.add(rs.getString(4));
                  al.add(rs.getString(5));
                  al.add(rs.getString(6));
                  al.add(rs.getString(7));
                  al.add(rs.getString(8));
                  al.add(rs.getString(10));
                  al.add(rs.getString(11));    
                  System.out.println("al :: "+al);
                  emp_list.add(al);
                }

                request.setAttribute("empList",emp_list);
                
             System.out.println("empList " + emp_list);

            //   out.println("emp_list " + emp_list);

                String nextJSP = "/viewSearch.jsp";
                RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
                dispatcher.forward(request,response);
                conn.close();
                System.out.println("Disconnected from database");
            } catch (Exception e) {
            e.printStackTrace();
            }
  }
}




viewSearch.jsp

Code:
<%@ page import="java.util.*" %> 
<html>
<head>
</head>
<body>

<br><br><br><br><br><br>
<table width="700px" align="center"  style="border:1px solid #000000;">
<tr>
<td colspan=8 align="center" style="background-color:ffeeff"><b>Employee Record</b></td>
</tr>
<tr style="background-color:efefef;">
<td><b>Customer ID</b></td>
<td><b>Company Name</b></td>
<td><b>Contact Name</b></td>
<td><b>Contact Title</b></td>
<td><b>Address</b></td>
<td><b>City</b></td>
<td><b>Region</b></td>
<td><b>Postal Code</b></td>
<td><b>Coutry</b></td>
<td><b>Phone</b></td>
<td><b>Fax</b></td>
</tr>
<%
int count=0;
String color = "#F9EBB3";


if(request.getAttribute("empList")!=null)
{
 ArrayList al = (ArrayList)request.getAttribute("empList");
    Iterator itr = al.iterator();
    
    
    while(itr.hasNext())
    {
        
        if((count%2)==0)
        {
            
            color = "#eeffee";
            
            
        }
        else
        {
             color = "#F9EBB3";
        }
        count++;
        ArrayList empList = (ArrayList)itr.next();
        %>
<tr style="background-color:<%=color%>;">
<td><%=empList.get(0)%></td>
<td><%=empList.get(1)%></td>
<td><%=empList.get(3)%></td>
<td><%=empList.get(4)%></td>
<td><%=empList.get(5)%></td>
<td><%=empList.get(6)%></td>
<td><%=empList.get(7)%></td>
<td><%=empList.get(8)%></td>
<td><%=empList.get(9)%></td>
<td><%=empList.get(10)%></td>
<td><%=empList.get(11)%></td>

</tr>
        <%
    
    }
}

%>

<%
if(count==0)
{
    %>
<tr>
<td colspan=8 align="center" style="background-color:eeffee"><b>No Record</b></td>


</tr>
    <%
}
%>
</table>
</body>
</html>




Da li mi se čini ili ova aplikacija pokušava da prikaže samo jedan red tabele?

[Ovu poruku je menjao biske86 dana 26.03.2010. u 23:45 GMT+1]
 
Odgovor na temu

reg
java,java,java
bgd

Član broj: 249663
Poruke: 30
*.dynamic.sbb.rs.



Profil

icon Re: JSP kao aplikacija26.03.2010. u 23:01 - pre 171 meseci
TIP:
Nikada ne postuj pitanja
a da ne kopiras Exception koji ti aplikacija baca
jer bez toga onaj ko cita post nema odakle da pocne.

Da li za pocetak mozes da ostvaris komunikaciju za bazom bez problema
i samo prikazes rezultat nekog select upita?

Sto se tice iteracija prilikom rada sa bazom predlazem sledece:
Umesto sto stavljas ArrayList u ArrayList,
bolje je da definises klasu rezultata sql upita a to je Customer,
i napravis ArrayListu Customer-a


Code:
public class Customer {

    private String name;
    /* ... sve ostale clanice dodas ovde... */
    
    private String fax;

    /*setters and getters*/
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }
    
}





Code:

...
/*punjenje liste customera */

ArrayList emp_list =new ArrayList();
            
ArrayList<Customer> customerlist = new ArrayList<Customer>();


while(rs.next())
    {

        Customer customer = new Customer();
        
        customer.setName(rs.getString(1));

        /*...*/

        customerlist.add(customer);
    }


/* provera popunjenosti liste - ovo isto uradi na JSP strani za iteraciju*/

for (Customer one: customerlist){
    System.out.println(one.getName());
}
...
    



[Ovu poruku je menjao reg dana 27.03.2010. u 00:30 GMT+1]
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
109.93.116.*

Sajt: biske.rs


+39 Profil

icon Re: JSP kao aplikacija26.03.2010. u 23:14 - pre 171 meseci
Citat:
reg: TIP:
Da li za pocetak mozes da ostvaris komunikaciju za bazom bez problema
i samo prikazes rezultat nekog select upita?


Evo programa koji se uspesno kompajlirai i pokazuje čini mi se 92 reda iz tabele.

Code:
import java.sql.*;

public class mysqlSelect {
public static void main(String[] args) {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection connection=DriverManager.getConnection("jdbc:odbc:northwind");
Statement stmt=conn.createStatement();
String upit="Select * from customers";
System.out.println("SQL upit je:\n"+upit);
ResultSet rset=stmt.executeQuery(upit);
System.out.println("Zapisi koji su vraceni SELECT naredbom su:");
int rowCount=0;

while(rset.next()){
String CustomerID=rset.getString("customerid");
String CompanyName = rset.getString("CompanyName");
String ContactName = rset.getString("ContactName");
String ContactTitle = rset.getString("ContactTitle");
String Address = rset.getString("Address");
String City = rset.getString("City");
String Region = rset.getString("Region");
String PostalCode = rset.getString("PostalCode");
String Country = rset.getString("Country");
String Phone = rset.getString("Phone");
String Fax = rset.getString("Fax");


System.out.println(CustomerID+", "+CompanyName+", "+ContactName+", "+ContactTitle+", "+Address+", "+City+", "+Region+", "+PostalCode+", "+Country+","+Phone+", "+Fax);
rowCount++;
}
System.out.println("Ukupan broj slogova je="+rowCount);
rset.close();
stmt.close();
conn.close();

catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
catch (SQLException ex) {
ex.printStackTrace();
}
}
}


Ovaj kod možeš i sam da isprobaš ako skineš bazu northwind sa interneta.


Citat:
reg: TIP:
Nikada ne postuj pitanja
a da ne kopiras Exception koji ti aplikacija baca
jer bez toga onaj ko cita post nema odakle da pocne.


Ne znam odakle da iskopiram Exception.
 
Odgovor na temu

reg
java,java,java
bgd

Član broj: 249663
Poruke: 30
*.dynamic.sbb.rs.



Profil

icon Re: JSP kao aplikacija26.03.2010. u 23:34 - pre 171 meseci
Hvatanje Exceptiona uradis try/catch blokom
i ako uradis ovo dobices exception u konzoli radnog okruzenja
Code:

try {

/*kod koji baca Exception*/

} catch (Exception e) {
    e.printStackTrace();  // ova linija ispisuje Exception
}
 
Odgovor na temu

[es] :: Java :: JSP kao aplikacija

[ Pregleda: 2192 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.