ea JSP,Servlet a XML - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

ea JSP,Servlet a XML

Description:

? ???s? ap? a???s ???? e??d?? (remote method invocation, RMI) d? ?????e? ... Forte for Java. Oracle Jdeveloper. Inprise Jbuilder. ATG Dynamo. PeopleSoft. I2 ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 49
Provided by: papadakis
Category:

less

Transcript and Presenter's Notes

Title: ea JSP,Servlet a XML


1
?e???????a JSP,Servlet ?a? XML
  • ?apad???? ?????

2
?e??e??µe?a
  • ???t?ta 1
  • Servlets
  • ???t?ta 2 
  • JSP ?a? XML
  •  ???t?ta 3
  • ???s?µa Links
  • Industry Support

3
To Web Layer t?? J2EE
EJBs
??se?? ded?µ???? ? ????? p????
JSP ?, Servlets
Client
Server-Side Objects
4
? a???te?t????? JSPs
5
???s? ?p?µa???sµ???? ?e??d??
  • ? ???s? ap?µa???sµ???? µe??d?? (remote method
    invocation, RMI) d?µ?????e? efa?µ???? t?? Java,
    p?? µp????? ?a µ???s??? µe ???e? efa?µ???? t??
    Java ep??? se ??a d??t??. ? RMI ep?t??pe? se µ?a
    efa?µ??? ?a ?a?e? µe??d??? ?a? ?a p??spe?a??e?
    µetaß??t?? µ?sa se µ?a ???? efa?µ???, p?? µp??e?
    ?a e?te?e?ta? se d?af??et??? pe??ß?????ta t??
    Java ? se te?e??? d?af??et??? ?e?t???????
    s?st?µata, ?a? ?a pe??? a?t??e?µe?a ap? s??d?se??
    d??t???.

6
? RMI
  • ? RMI e??a? ??a? p?? ???p??? µ??a??sµ?? ??a
    ep????????a a??µesa se ?ata?eµ?µ??a a?t??e?µe?a
    t?? Java ap? ?t? e??a? µ?a ap?? s??des? socket,
    epe?d? ?? µ??a??sµ?? ?a? ta p??t?????a
    ep????????a? a??µesa se a?t??e?µe?a ??????ta? ?a?
    p??-t?p?p?????ta?. ?p????µe ?a s???µ???s??µe µe
    ??a ???? p????aµµa t?? Java ???s?µ?p????ta? RMI,
    ????? ?a ??e???eta? ?a ????????µe e? t?? p??t????
    se p??? p??t?????? ?a ep????????sete ? µe t?
    t??p?.

7
RMI ?a? RPC
  • ??a ???? µ??f? ep????????a? a??µesa se
    a?t??e?µe?a ?a?e?ta? RPC (remote procedure call,
    ???s? ap?µa???sµ???? d?ad??as?a?), ?p?? µp????µe
    ?a ?a??s??µe µe??d??? ? ?a e?te??s??µe
    d?ad??as?e? se ???a p?????µµata ep??? se µ?a
    s??des? d??t???.
  • ? RMI ?a? RPC ????? p???? ????? s?µe?a, ? ????a
    d?af??? t??? ?µ?? e??a? ?t? ? RPC st???e? µ???
    ???se?? d?ad??as?a? ep??? se ??a ?a??d??, µe ta
    ???sµata ?a pe????? µa?? ? ?a pe?????f??ta? ?at?
    t?t??? t??p? ?ste ?a µp????? ?a a?a?atas?e?ast???
    st? ???? ????. ??t??eta ? RMI pe??? ???????a
    a?t??e?µe?a ep??? st? Internet.

8
? ????te?t????? RMI
  • ? s??p?? t?? RMI ?ta? ?a e?s?µat?se? ??a
    ?ata?eµ?µ??? µ??t??? a?t??e?µ???? st?? Java, ?a?
    ?a ???e? t?? a????ep?d?as? µe ??a ap?µa???sµ???
    a?t??e?µe?? t?s? e????? ?s? µe ??a t?p???
    a?t??e?µe??.

9
T? µp????µe ?a ?????µe µe t?? RMI
  • ?a ???s?µ?p????µe ap?µa???sµ??a a?t??e?µe?a
    a???ß?? µe t?? ?d?? t??p? p?? ???s?µ?p????µe
    t?p??? a?t??e?µe?a (?a ta a?a??t??µe se
    µetaß??t??, ?a ta pe???µe sa? ???sµata se
    µe??d??? ??p)
  • ?a ?a???µe µe??d??? se ap?µa???sµ??a a?t??e?µe?a
    µe t?? ?d?? t??p? p?? ?????ta? ?? t?p???? ???se??

10
??? ?e?t????e?
  • ? RMI pe???aµß??e? e?f?e?? µ??a??sµ??? ??a ???s?
    µe??d?? se ap?µa???sµ??a a?t??e?µe?a ? ??a
    p??asµa ????????? a?t??e?µ???? ? tµ?µ?t??
    a?t??e?µ???? µe a?af??? ? µe t?µ?. ?p?s??
    pe???aµß??e? p??s?ete? e?a???se?? ??a ?e???sµ?
    sfa?µ?t?? d??t??? p?? µp??e? ?a s?µßa????? e??
    ???eta? µ?a ap?µa???sµ??? ?e?t?????a.
  • ? RMI ??e? a??et? ep?peda ??a ?a ep?t??e? ?????
    a?t??? t??? s??p??? t??, ?a? µ?a ???s? µe??d??
    d?ape??? p???? ap? a?t? ta ep?peda ??a ft?se?
    e?e? p?? ???e?.

11
?a ep?peda t?? RMI
12
?a ep?peda Stub ?a? s?e?et??
  • ?a ep?peda a?t? s?µpe??f????ta? sa?
    ?p??at?stata a?t??e?µe?a se ???e p?e???,
    ap????ß??ta? t?? ap?µa???sµ??? f?s? t?? ???s??
    µe??d?? ap? t?? ???se?? ???p???s??. ?.?. se µ?a
    efa?µ??? pe??t? µp????µe ?a ?a??s??µe
    ap?µa???sµ??e? µe??d??? µe a???ß?? t?? ?d?? t??p?
    p?? ?a???µe t?p???? µe??d???. ?? a?t??e?µe?? stub
    e??a? ??a t?p??? ?p??at?stat? ??a t?
    ap?µa???sµ??? a?t??e?µe??.

13
?? ep?ped? ap?µa???sµ???? a?af????
  • ???a? t? ep?ped? p?? ?e????eta? t?? s?s?e?as?a
    µ?a? ???s?? µe??d?? ?a? t?? pa?aµ?t???? t?? ?a?
    ep?st??fe? t?µ?? ??a µetaf??? ep??? st? d??t??.

14
To ep?ped? µetaf????
  • To ep?ped? µetaf???? p?? e??a? ? p?a?µat???
    s??des? d??t??? ap? t? ??a s?st?µa st? ????. ??
    ep?ped? µetaf???? t?? d??t??? ???s?µ?p??e?te
    a?e???t?ta ap? ta ???a d??, ?ts? ?ste ?a µp????µe
    ?a ???s?µ?p???s??µe d?af??et??? e?d? s??d?se??
    socket ??a RMI (TCP/ UDP ? TCP µe ???sµ??a ???a
    p??t?????a, sa? t? SSL).

15
?e??e??µe?a ???t?ta? 2
  • ??sa??????? ?????e? sta Servlets
  • Servlets VS CGIs
  • ?e p????? t??p??? µp????µe ?a ??????µe Servlets
  • O ?????? ???? e??? Servlet - Servlet API
  • ?a???s?as? ?a?ade??µat?? HelloClient
  • ?e??t? pa?ade??µat?? epe?e??as?a? F??µa?
  • ??? ?a t?????µe ??a servlet
  • Servlet Databases
  • ?? ???? µp????µe ?a ?????µe µe ta Servlets
  • ???e? ????? st? WWW ??a Servlets

16
? te???????a Servlet
17
??sa??????? ?????e? sta Servlets
  • ?? e??a? ??a Servlet?
  • ???a? e??t?te? ??d??a Java (bytecode), p??
    t?????? se www servers t?p?? a?t?s?/ap????s?, ?a?
    t??? epe?te????? ?at? ??p??? t??p?.
  • ?a Servlets ???s?µ?p?????ta? se efa?µ???? p??
    apa?t??? p??epe?e??as?a, p??? t?? ap?st??? t??
    ap????s?? st?? a?t?t?.
  • ?ts? ta servlets e??a? ?a? a?t? ?at? ??p??? t??p?
    CGIs a??? ??aµµ??a se Java, ?p?te ???????µ??? ??a
    ta p?e??e?t?µata p?? p??sf??e? a?t? ? ???ssa.
  • ?a Servlets ap?te???? t? server side p??s?p? t??
    Java se a?t??es? µe ta Applets p?? ap?te???? t?
    Client Side p??s?p? t?? Java

18
CGI (µ?a? ?a? ta a?af??aµe)
  • CGI ( Common Gateway Interface )
  • ??a d?as??des? (a?e???t?t? ap? t?? ???ssa
    p????aµµat?sµ??), p?? ep?t??pe? se ??a server ?a
    ?e???? ??a e??te???? process t? ?p??? d??eta?
    pa?aµ?t???? µ?s? environment variables, t?
    command line, ?a? to standard input ?a? ???fe? ta
    ded?µ??a st? Standart Output. ( ?.? a?t?s? ??a
    t?? d??aµ??? d?µ??????a ?a? ap?st??? µ?a?
    ?st?se??da?)
  • ?a?ade??µata ???ss?? p????aµµat?sµ?? (scripting
    languages) CGI e??a? Perl, ASP,Visual Basic
    JavaScript Server Site a??? ?a? C, Unix Shell
    ?.t.?

19
? d??aµ? t?? Servlet
  • 1) ???a? platform independent - Write once Serve
    Everywhere - Portability
  • 2) ??µeta??e???ta? p????? t?? Java API, rmi,
    corba, database connectivity.
  • ?????? p??s???? 3rd party components.
  • 3) ?p?d?t???t?ta ??t??? - ?????? st?? µ??µ?
    µeta?? d?ad?????? ?a?esµ?t??
  • 4) ?sf??e?a ??d??a ( Garbage Coollector,
    Exception Handling )
  • 5) ??µ??t?ta (?legance) (Object Oriented, Clean
    Code, Modular, Simple )
  • 6) E????o integration ???? ?p??es??? ????
    servers
  • 7) ?e?t??????? µe t? p??t?????? ???P

20
Me p????? t??p??? µp????µe ?a ??????µe Servlets?
(1/3)
  • ?a???ta? ta Classes ?ate??e?a?
  • ?????ta? compile t? p?? ??t? .java file ?a?
    t?p??et??ta? t? st?? server
  • 1 import java.io.
  • 2 import javax.servlet.
  • 3 import javax.servlet.http.
  • 4
  • 5 public class HelloClientServlet extends
    HttpServlet
  • 6
  • 7 protected void doGet(HttpServletRequest req,
  • 8 HttpServletResponse res)
  • 9 throws ServletException, IOException
  • 10
  • 11 res.setContentType("text/html")
  • 12 PrintWriter out res.getWriter()
  • 13 out.println("ltHTMLgtltHEADgtltTITLEgtHello
    Client!lt/TITLEgt"
  • 14 "lt/HEADgtltBODYgtHello Client!lt/BODYgtlt/HTMLgt")
  • 15 out.close()
  • 16
  • 17

21
Me p????? t??p??? µp????µe ?a ??????µe Servlets?
(2/3)
  • Server Site Includes (SSI)
  • Me t?? p??s???? t?? HTML ?ag ltSERVLETgt.
  • ? Server ???e? p??-epe?e??as?a ???e a??e???
    .shtml p??? t? ste??e? p?s?.
  • Ta extensions µp????µe ?a ???s??µe ap? ta
    properties t?? ???e server (jhtml,shtml,..)
  • lthtmlgt
  • ltheadgt
  • lttitlegtEmbedded Servlet Taglt/titlegt
  • lt/headgt
  • ltbodygt
  • ltSERVLET CODE"Servlet1" CODEBASE"http//serverp
    ort/dir"
  • initParam1initvalue1 initParam2initvalue2 gt
  • ltSERVLETgt
  • lt/bodygt
  • lt/htmlgt
  • request
  • Servlet1
  • .shtml file
  • response

22
Me p????? t??p??? µp????µe ?a ??????µe Servlets?
(3/3)
  • JavaServer Pages JSPs
  • ???s???? Snippets servlet code ?ate??e?a? st??
    .jsp se??de? (Scriptlets).
  • ?a??µ???? t??p?? µe ta ASP (Active Server Pages).
    ?pa?te? e?d??? support
  • ap? t?? server.
  • lthtmlgt
  • ltheadgt
  • lttitlegtJSP Filelt/titlegt
  • lt/headgt
  • ltbodygt
  • lt if request.getParameter(name) null)
  • out.println (You typed nothing)
  • else out.println(You typed
    request.getParameter(name))
  • gt
  • lt/bodygt
  • lt/htmlgt
  • request
  • .jsp file
  • response

23
To Servlet API 1.GenericServlet
  • ??a ta servlets ???p????? t? interface t??? µ?s?
    µ?a? e? t?? d?? p?? ??t? ßas???? ???se??
  • GenericServlet (javax.servlet package) - ?e????
    servlets a?e???t?ta p??t???????
  • HttpServlet (javax.servlet.http package) - http
    servlets

24
To servlet API 2.HttpServlet
25
??????p???s? e??? servlet
  • public class BookDBServlet ... public void
    init(ServletConfig config) throws
    ServletException // Store the
    ServletConfig object and log the initialization
    super.init(config)
    // Open a database connection to prepare for
    requests try databaseUrl
    getInitParameter("databaseUrl") ... // get user
    and password parameters the same way
    connection DriverManager.getConnection(databaseU
    rl, user, password)
    catch(Exception e)
    throw new UnavailableException (this,
    "Could
    not open a connection to the database")
    ...

26
??????ep?d?as? µe t?? pe??t?
  • ?ta? ??a servlet d??eta? ??a ???esµa ap? t??
    pe??t? (client), ?aµß??e? d?? a?t??e?µe?a
    (objects)
  • - ??a ServletRequest, p?? e?asfa???e? t??
    ep????????a ap? t?? pe??t? p??? t?? server.
  • - ??a ServletResponse, p?? e?asfa???e? t??
    ep????????a ap? t? servlet p?s? st?? pe??t?.
  • (?a ServletRequest ?a? ServletResponse e??a?
    interfaces ???sµ??a st? javax.servlet package.)
  • ?as???? µ???d??
  • - doGet
  • - doPost

27
??a ap?? servlet (Hello Client !)
  • ? p?? ??t? class ????e? p????? t? servlet
  • public class SimpleServlet extends HttpServlet
  • / Handle the HTTP GET method by building a
    simple web page.
  • /
  • public void doGet (HttpServletRequest request,
  • HttpServletResponse response)
  • throws ServletException, IOException
  • String title HelloClient"
  • // set content type and other response header
    fields first
  • response.setContentType("text/html")
  • // then write the data of the response
  • PrintWriter out response.getWriter()
  • out.println("ltHTMLgtltHEADgtltTITLEgtHello
    Client!lt/TITLEgt"
  • "lt/HEADgtltBODYgtHello Client!lt/BODYgtlt/HTMLgt")
  • out.close()

28
T? Unload e??? Servlet
  • public class BookDBServlet extends
    GenericServlet
  • private BookstoreDB books
  • ... // the init method
  • public void destroy()
  • // Allow the database to be garbage collected
  • books null

29
? ?????? ???? e??? Servlet
  • ???e servlet ??e? t?? ?d?? ????? ????
  • ? server t? ???e? load ?a? t? a?????p??e?  
  • ?? servlet d??eta? µ?d?? ? ?a? pe??ss?te?a client
    requests  
  • ? server t? ???e? remove (???sµ???? servers
    e?te???? a?t? t? ß?µa µ??? ?ta? ?????? shut down)

30
? ?????? ???? t?? Servlet
31
??? ?a t?????µe ??a servlet
  • ??ad??as?a
  • 1) ?a e??atast?s??µe 1 servlet engine (p.?. Suns
    JavaServer). ?e????e? t? JVM
  • 2) ?a p??µ??e?t??µe t? Java Servlet API ver 2.0
    to t? ?p??? pe????e? t?? ???se??
    javax.servlet javax.servlet.http
  • Note
  • 1) O Javaserver p?? ?a p??µ??e?t??µe ta pe????e?
    s??????.
  • 2) ?a ??????µe t? servlet class st?? java ?a? ?a
    t? ?????µe Compile
  • 3) ?a t?p??et?s??µe t? class se ??a directory t??
    servlet engine (Web directory)
  • 4) ?a ?e????s??µe t? servlet engine
  • 5) To servlet engine t??a a?tap?????eta? se
    a?t?se?? p?? ?????ta? st? port 8080
  • e.g http//ServerName8080/servlets/Helloworld
  • ?ote ?p????µe ?a t?????µe ??a servlet ?ate??e?a?
    ap? ??p??a e??a?e?a Java e.g Symantec VisualCafe
    3.0 , p?? ??e? d??? t?? servlet engine .
  •  

32
Servlets Database Connectivity
  • ?a Servlets ?p?? ??a ta a??? p?????µµata Java
    µp????? ?a s??de???? µe ß?se?? ded?µ???? µe t??
    ???s? drivers (Se ???e? p?atf??µe? µe JDBC, se
    Windows JDBC-ODBC bridge)
  •  Ta JDBC e??a? database independent. ?? µe a??a??
    2 ??aµµ?? ??d??a µp????µe ?a a??????µe t?? Sybase
    ß?s? µa? se Oracle, ????? a??a?? t?? ?p????p??
    ??d??a
  •  ????µe ep????? ?a epe?e??ast??µe st???e?a ap?
    d?af??et???? ?a? a??µ????e?e?? ß?se?? µ?s? t??
    ??d??a.
  • ????? p?e????t?µa e??a? ?t? ta Servlets µp?????
    ?a d?at????? Open Database Connections, µe
    ap?t??esµa ?a µp????? p???? requests ?a
    e??p??et????? ap? ??a ???esµa, se a?t??es? µe ta
    CGI.

33
?? ???? µp????µe ?a ?????µe µe ta Servlets ? (1/2)
  • ?p?????? p????? t??p?? µe t??? ?p????? ??a
    servlet µp??e? ?a ep????????se? µe ??a ????
    servlet
  • a) Servlet Chaining ( ?????ta? d?ad????? Post,
    Get )
  • ?p????µe ?a a??s?d?s??µe µ?a se??? ap? servlets ,
    µe
  • t?? ?d?? t??p? p?? ?a t? ???aµe µe ta CGIs
  • Ta µp????se p?,?a e??a? µ?a d?ad????? ?ata????s?
    ded?µ????.

34
?? ???? µp????µe ?a ?????µe µe ta Servlets ? (2/2)
  • ß) Servlet Interface through a Database ( p? ??a
    ??a Chat Room )
  • ?p????µe ?a ?ata?????µe st???e?a ap? ??a servlet
    se µ?a ß?s? ded?µ???? ?p??, µp??e? ?a ta
    a?a?t?se? ??a ???? servlet ta?t?????a ?a? ?a
    d??eta? ? e????a ?t? ep?????????? ta?t?????a.

35
?e???????a JSP
  • JavaServer Pages

36
?e??e??µe?a ???t?ta? 3
  • ?? JSP se??de? ?a? ta Servlets
  • ? ????? t?? JSPs ?a? t?? Servlets
  • ?? JSP se??de?
  • ??a pa??de??µa JSP µe t? a?t?st???? Java bean

37
?? JSP ?a? ta Servlets
  • ???s?µ?p?????
  • JSP Servlet Container
  • J2EE Container

38
O ????? t?? JSP ?a? t?? Servlets
  • O? Entry point st?? efa?µ????
  • O? a?????ep?d?as? µe t?? ??? ??sµ?(s?????? µ?s?
    HTTP)
  • ? Client µp??e? ?a e??a?
  • Browser
  • Applet
  • Desktop application (Java Web Start)
  • Wireless Device
  • Server application (B2B)

39
?? JSP se??de?
  • ?? JSP se??de? e??a? textual documents
  • p?? pe???????
  • ???t?pa ded?µ??a
  • ???aµ??? p????f???a
  • ?a? ?????? ???s?
  • JavaBeans
  • Tag Libraries

40
??a pa??de??µa JSP se??da? (1/3)
  • lt!-- Number Guess Game
  • Written by Papadakis Nikos ltnkpap_at_hotmail.comgt,
  • http//www.nkpap.com
  • --gt
  • lt_at_ page import "org.nkpap.test.NumberGuessBean"
    gt
  • ltjspuseBean id"numguess" class"org.nkpap.test.N
    umberGuessBean" scope"session"/gt
  • ltjspsetProperty name"numguess" property""/gt
  • lthtmlgt
  • ltheadgtlttitlegtNumber Guesslt/titlegtlt/headgt
  • ltbody bgcolor"white"gt
  • ltfont size4gt
  • lt if (numguess.getNamez()null
    numguess.getNamez().equals("")) gt
  • ltform methodgetgt
  • What's your Name? ltinput typetext nameNamezgt
  • ltinput typesubmit value"Submit"gt

41
??a pa??de??µa JSP se??da? (2/3)
  • lt else gt
  • lt if (numguess.getSuccess()) gt
  • Congratulations! ltfont color"FF0000"gtltfont
    size"4"gt lt numguess.getNamez() gtlt/fontgt
    lt/fontgt You got it.
  • And after just lt numguess.getNumGuesses() gt
    tries.ltpgt
  • lt numguess.reset() gt
  • Care to lta href"numguess.jsp"gttry againlt/agt?
  • lt else if (numguess.getNumGuesses() 0) gt
  • Welcome ltfont size"5"gtlt numguess.getNamez()
    gt lt/fontgt to the Number Guess game.ltpgt
  • I'm thinking of a number between 1 and 100.ltpgt
  • ltform methodgetgt
  • What's your guess? ltinput typetext nameguessgt
  • ltinput typesubmit value"Submit"gt
  • lt/formgt

42
??a pa??de??µa JSP se??da? (3/3)
  • lt else gt
  • Good guess, but nope. Try ltbgtlt
    numguess.getHint() gtlt/bgt.
  • You have made lt numguess.getNumGuesses() gt
    guesses.ltpgt
  • I'm thinking of a number between 1 and 100.ltpgt
  • ltform methodgetgt
  • What's your guess? ltinput typetext nameguessgt
  • ltinput typesubmit value"Submit"gt
  • lt/formgt
  • lt gt
  • lt/fontgt
  • lt/bodygt
  • lt/htmlgt

43
??a pa??de??µa JSP se??da? (t? java bean)
  • // Number Guess Game
  • package num
  • import java.util.
  • public class NumberGuessBean
  • int answer
  • boolean success
  • String hint
  • int numGuesses
  • public NumberGuessBean()
  • reset()
  • public void setGuess(String guess)
  • numGuesses
  • int g
  • if (g answer)
  • success true
  • else if (g -1)
  • hint "a number next time"
  • else if (g lt answer)
  • hint "higher"
  • else if (g gt answer)
  • hint "lower"
  • public boolean getSuccess()
  • return success
  • public String getHint()
  • return "" hint

44
?e?? ?ata???e?? t?? a??e???
  • ?a a??e?a JSP µp????? ?a ????? e?te t?? ?at?????
    .jsp e?te t?? .jspf ? .jsf (s?????? ??a ta
    fragments)
  • To top a??e?? ?a p??pe? ?µ?? ?a f??e? t??
    ?at????? .jsp

45
Combining Data
JSP Page
Client
XML Source
???e? p????
?ML
46
?e??e??µe?a ???t?ta? 4
  • Links
  • Industry support

47
Links
  • JSP home page http//java.sun.com/products/jsp
  • Servlet home page http//java.sun.com/products/ser
    vlet
  • Java 2 Platform, Standard Edition
    http//java.sun.com/products/jdk/1.3
  • Java 2 Platform, Enterprise Edition
    http//java.sun.com/j2ee
  • XML in the Java Platform home page
    http//java.sun.com/xml
  • JavaBeans technology home page
    http//java.sun.com/beans
  • XML home page at W3C http//www.w3.org/XML
  • HTML home page at W3C http//www.w3.org/MarkUp
  • XML.org home page http//www.xml.org

48
Industry Support
Write a Comment
User Comments (0)
About PowerShow.com