Java Web Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Java Web Programming

Description:

Java Web Programming 4 JSP 2.0 Programming * Command (1) . ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 40
Provided by: PC61151
Category:

less

Transcript and Presenter's Notes

Title: Java Web Programming


1
Java Web Programming
  • 4??

2
Hello World! Servlet???
  • WEB-INF?classes????? HelloServlet.java??? ????
    ???
  • HelloServlet.java
  • import java.io. import javax.servlet.
    import javax.servlet.http. public class HelloS
    ervlet extends HttpServlet    public void doGet(
    HttpServletRequest request, HttpServletResponse re
    sponse)       throws ServletException, IOExceptio
    n      PrintWriter out  response.getWriter()
       out.println(lthtmlgtltbodygt)
       out.println(lth1gt Hello World lt/h1gt)
       out.println(lt/bodygtlt/htmlgt)   
  • ?? http//localhost8080/MySample/servlet/HelloS
    ervlet

3
??????
  • ???? Servlet?????? ???? GenericServlet? ??? ?? ??
    Http????? ?? ??? HttpServlet???? ??? ? ?? ????
    ????? ??

4
???? ??
  • ???? ?? ??
  • ?????? ??
  • ??? Handler 8080???? ?? ??
  • ??? ?????? ?? ??? ??
  • ?? ???? ??? ??? ??? ?? ??? DB??, ??
  • ?? ??? ?? ???? ???? ??? ????.

5
???? ????
  • GenericServlet? ????? ?????? ?????? ? ? ???
    ?????. ??? ??? GenericServlet? Http????? ?? ??
    ???? ?? ?? HttpServlet

6
GenericServlet abstract ???
  • GenericServlet?, Servlet? ?? ??? ?? ????, ???
    ???? ?? ? ???? ?? HttpServlet? ? GenericServlet?
    ???? ?????. ? ??????? ?? ??? Http????? ???? ??
    ???, ?? ??? ???? HttpServlet? ???? ???? ??????
    ?????.

7
GenericServlet? ?
  • GenericServletTest.java
  • import java.io. import java.util.Enumeration
    import javax.servlet. public class GenericServ
    letTest extends GenericServlet 
      public void service(ServletRequest req, Servlet
    Response res) thro ws ServletException, IOExcepti
    on      String message  req.getParameter("messa
    ge")     PrintWriter outres.getWriter()
        out.println("lthtmlgtltbodygt")
        out.println("lth1gt"  message  "lt/h1gt")
        out.println("lt/bodygtlt/htmlgt")   

8
Servlet ?????
  • ??? ????? init, service, destroy ??? ???? ???
    ???, ???, ??? ??? ???.
  • ??? ? ? ?? init???? ??
  • ?????? ??? ?? ??? service???? ????? ??
  • service???? ?????? ????? ?? Get???? doGet????
    Post???? doPost? ??
  • ? ? ???? Servlet?????? ?? ???? ????? ???? ?? ???
    ??? ??????.
  • ??? ???? ?? ?? ?? ?? ????? ???? ?? ?????? ????
    destroy()
  • destroy()???? ???? ??? ???? ??? ???? ??
  • init? destroy? ? ?? ???? ?? ?????? ??? ??
    service???? ??? ?? ? ?? ??

9
(No Transcript)
10
ServletConfig ?????
  • ServletConfig ?????? ??? ????? ???? ????? ??? ??
    ???? ??? ???? ??? ??
  • ???? ???? ??? ??? ??? ???? ServletContext, ??? ??
    ??? ???? ??? ???? ?? ??.  

11
HttpServlet abstract ???
  • HttpServlet? ????? ? ???????? ? ??? ??? ????, ?
    ??? ?? ? ??????? ??? ?? ??? ??
  • doGet? doPost? ????? ??
  • ????? ?? ??? HttpServlet???? service??? ?? ??
  • service???? ????? ?????? ????? ??? doGet,
    doPost???? ???? ???

12
  • ?????? ????? ?? service???? ???? ???
  • doGet ??? ???? HTTP GET ??? ???? ??? ??????.
  • doPost ??? ???? HTTP POST ??? ???? ??? ??????.
  • doPut ??? ???? HTTP PUT ??? ???? ??? ??????.
  • doDelete ??? ???? HTTP DELETE ??? ???? ???
    ??????

13
HttpServlet doGet
  • HelloDoGet.java
  • import java.io.  import javax.servlet. 
    import javax.servlet.http.  public class Hello
    DoGet extends HttpServlet     public void doGet(
    HttpServletRequest request, HttpServletResponse re
    sponse)      throws ServletException, IOException
           PrintWriter out  response.getWriter() 
        String name  request.getParameter("name")
        out.println("lthtmlgtltbodygt") 
        out.println("lth1gt Hello doGet Testlt/h1gt") 
        if(name ! null)       out.println("lth2gt"n
    ame"lt/h2gt")         else       out.println("
    lth2gtnothing parameterlt/h2gt")     
        out.println("lt/bodygtlt/htmlgt")     

14
HttpServlet doPost
  • HelloDoPost.java
  • import java.io.  import javax.servlet. 
    import javax.servlet.http.  public class Hello
    DoPost extends HttpServlet     public void doPos
    t(HttpServletRequest request, HttpServletResponse 
    response)      throws ServletException, IOExcepti
    on       PrintWriter out  response.getWriter()
          String name  request.getParameter("name")
        out.println("lthtmlgtltbodygt") 
        out.println("lth1gt Hello doPost Testlt/h1gt") 
        if(name ! null)       out.println("lth2gt"n
    ame"lt/h2gt")         else       out.println("
    lth2gtnothing parameterlt/h2gt")     
        out.println("lt/bodygtlt/htmlgt")     

15
  • HelloDoPost.html
  • ltHTMLgtltHEADgtltTITLEgtdoPost ???lt/TITLEgtlt/HEADgt
    ltBODYgt lth1gtdoPost ???lt/h1gt ltform action"/MySam
    ple/servlet/HelloDoPost" method"Post"gt
      ltinput type"text" name"name"gt
      ltinput type"submit" name"submit1"gt lt/formgt
    lt/BODYgt lt/HTMLgt

16
??? ??? ??
  • protected void service(HttpServletRequest req,
    HttpServletResponse resp)
  • protected void doGet(HttpServletRequest req,
    HttpServletResponse resp)
  • protected void doPost(HttpServletRequest req,
    HttpServletResponse resp)

17
HttpServletRequest, HttpServletResponse? ??
  • HttpServletRequest
  • ?????? ?? ?? ?? ??
  • request header
  • form data, query parameter
  • InputStream(???????? ?????? ???)
  • ?? ????? ???? ? ?? ??, ??, path ...
  •  
  • HttpServletResponse
  • ??????? ???? ?? ?? ??
  • response header
  • OutputStream (??????? ???? ???)
  • ?? ??
  • ?? ??

18
get??? post?? ??? ????
  • GetPostTest.html
  • lthtmlgtltheadgtlttitlegtGetPostTestlt/titlegtlt/headgtltbody
    gt
  • ltform action"/MySample/servlet/chap4.GetPostResul
    t?age20" method"post"gt
  • ltinput type"text" name"name" size"10"gtltbrgt
  • ltinput type"submit"gtltinput type"reset"gt
  • lt/formgtlt/bodygtlt/htmlgt

19
  • GetPostResult.java
  • package chap4
  • import java.io. import javax.servlet.
    import javax.servlet.http. public class GetPos
    tResult extends HttpServlet   public void doPost
    (HttpServletRequest req, HttpServletResponse res) 
  • throws ServletException, IOException
        res.setContentType("text/htmlcharseteuc-kr"
    )     PrintWriter poutres.getWriter()
        String namereq.getParameter("name")
        String agereq.getParameter("age")
        pout.println("lthtmlgtltheadgt")
        pout.println("lttitlegtGetPostResultlt/titlegt")
        pout.println("lt/headgtltbodygt")
        pout.println("Name  "name)
        pout.println("ltbrgtAge  "age)
        pout.println("lt/bodygtlt/htmlgt")       

20
HttpServletRequest?? ??? ?? ? ????
  • ParaNamesValueTest.html
  • ltHTMLgtltBODYgt   lth1gt ??????? lt/h1gt  
    ltform action"/MySample/servlet/chap4.ParamsTest"
     method"post"gt   1.????? ltinput typetext name"
    tf1"gtltbrgtltbrgt   2.?? ltinput typehidden name"h1"
     value"???"gtltbrgtltbrgt   3.Radio?? ???ltbrgt  
    ltinput typeradio name"r1" value"JSP" checkedgtJ
    SPltbrgt   ltinput typeradio name"r1" value"??"gt?
    ?ltbrgt   ltinput typeradio name"r1" value"??????
    "gt??????ltbrgtltbrgt   4.CheckBox?? ???ltbrgt  
    ltinput typeCheckBox name"r2" value"??"gt??ltbrgt 
      ltinput typeCheckBox name"r2" value"??"gt??ltbr
    gt   ltinput typeCheckBox name"r2" value"??" che
    ckedgt??ltbrgtltbrgt   5.select?????ltbrgt  
    ltselect name"s1"gt     ltoption selectedgt???lt/opt
    iongt     ltoptiongt???lt/optiongt  
      ltoptiongt???lt/optiongt   lt/selectgtltbrgtltbrgt  

21
  • 6.select?? Multipleltbrgt   ltselect name"s2" Mult
    iplegt     ltoption selectedgtCGIlt/optiongt
      ltoptiongtJSPlt/optiongt   ltoptiongtASPlt/optiongt
      ltoptiongtPerllt/optiongt lt/selectgtltbrgtltbrgt  
    7.TextArea???ltbrgt lttextarea name"ta1"gtlt/textare
    agt ltbrgt ltinput typesubmit value"??"gt
    lt/formgt   lt/BODYgtlt/HTMLgt

22
  • ParamsTest.java
  • package chap4 import java.io.  
    import javax.servlet.   import javax.servlet.h
    ttp.   import org.jabook.util.
    public class ParamsTest extends HttpServlet   
      public void doPost(HttpServletRequest request, 
    HttpServletResponse response)  
        throws ServletException, IOException   
        response.setContentType("text/htmlcharseteu
    c-kr")      PrintWriter out  response.getWriter
    ()       String tf1  request.getParameter("tf1"
    )      String h1  request.getParameter("h1") 
        String r1  request.getParameter("r1") 
        String r2  request.getParameterValues("r2"
    )      String s1  request.getParameter("s1") 
        String s2  request.getParameterValues("s2"
    )      String ta1  request.getParameter("ta1")
        out.println("1.Text"encodeString(tf1)"ltbr
    gt")     out.println("2.Hidden"encodeString(h1)
    "ltbrgt")     out.println("3.Radio"encodeString
    (r1)"ltbrgt")     out.println("4CheckBox")
        for(int i0 iltr2.length i)
          out.println(encodeString(r2i)"nbspnbs
    p")     out.println("ltbrgt5.Select"  encodeStr
    ing(s1)  "ltbrgt")     out.println("6Select Mult
    ipul")     

23
  • for(int i0 ilts2.length i)       out.println(
    encodeStrint(s2i) "nbspnbsp")
        out.println("ltbrgt7.TextArea"  encodeString(
    ta1) "ltbrgt")      public String encodeString(
    String str)     return HangulEncoder.toKSC5601(s
    tr)     

24
HttpServletRequest getParameterNames()
  • RequestParameterNames.java
  • package chap4   import java.io.    
    import java.util.   import javax.servlet.   
      import javax.servlet.http.    
    import org.jabook.util. public class RequestPa
    rameterNames extends HttpServlet     
      public void doPost(HttpServletRequest request, 
    HttpServletResponse response)    
        throws ServletException, IOException     
        response.setContentType("text/htmlcharsetKS
    C5601")       PrintWriter out  response.getWrit
    er()         out.println("lthtmlgtltbodygt")  
        out.println("lth1gt?????? ?? ????? ??lt/h1gt")  
        Enumeration enum  request.getParameterNames
    ()      

25
  •  while(enum.hasMoreElements())  
          String name  (String)enum.nextElement()  
          out.println("ltbgt"name"lt/bgt"
  • HangulEncoder.toKSC5601(request.getParameter(name
    ))"ltbrgt")              out.println("lt/bodygtlt/
    htmlgt")       out.close()       

26
HttpServletResponse ?? ??? ???
  • ResponseRedirect.java
  • package chap4
  • import java.io.   import java.util.
    import javax.servlet.   import javax.servlet.h
    ttp.   public class ReponseRedirect extends Htt
    pServlet   
  •   public void doGet(HttpServletRequest request, Ht
    tpServletResponse response)       throws ServletE
    xception, IOException   
  •     response.setContentType("text/htmlcharseteu
    c-kr")     PrintWriter out  response.getWriter(
    )       String gopage  request.getParameter("go
    page")     if(gopage!null  gopage.equals("yah
    oo"))       response.sendRedirect("http//www.ya
    hoo.co.kr")     else        out.println("lthtm
    lgtltbodygt")       out.println("lth1gtResponse? send
    Redirectlt/h1gt")       out.println("?????? ???? ?
    ???ltbrgt")       out.println("URL? ?gopageyahoo?
     ????")       out.println("lt/bodygtlt/htmlgt")
             out.close()     

27
??1 ??? ??2 ??
??1 ??
? ????
1. ??
  • ???? ??? JSP?? ??
  • ?? ??? UI ??? ??
  • ????? ??? JSP? ??

JSP
???? ???
2. ??
?
?
?
??2 ??
? ????
1. ??
  • ????? ??? ??
  • JSP?? UI? ??
  • ????? ??? ????? ??

???
?????
???
?
?
?
JSP
2. ??
28
Model-View-Controller ??
MVC ??? ??
2. ???? ????
1. ??
???
???? (Controller)
?? (Model)
3. ???
4. ??
? (View)
  • ?? - ???? ???? ?? ??? ????.
  • ? - ???? ??? ?? ?????? ? (?, ???? ?? ?
    ?? ??)? ????.
  • ???? - ???? ?? ? ?? ??? ????

MVC ??? ??
  • ???? ??? ???? ??? ?? ??? ???? ?? ???? ??.
  • ??????? ?? ??? ???? ?? ??? ????? ????.

29
MVC ??? ??2 ??? ??
  • ???? ???
  • ?? EJB ?? ???? ?? ???, ???
  • ? JSP
  • ??? ?????, ???? ?? ????

30
MVC ???? ???? ?? ??
? ????
  • ??1 - ? ????? ??? HTTP ??? ???. ???? doGet()
    ???? doPost() ???? ????.
  • ??2 - ? ????? ?? ??? ???? ? ????. ?? ??, ??? ???
    ???? ?, ? ??? ???? ? ????.
  • ??3 - ??? ???? ??? ??? ????.
  • ??4 - ????? ???? ???? ??? ??? ?, request?
    session? setAttribute() ???? ???? ???? ??? ????.
    ??? ??? ???? ?? JSP?? ????.
  • ??5 - ? ????? ??? JSP? ??? ?, ?? JSP? ?????. ???
    ??? ?????? ??? ??.

???
1. HTTP ?? ??
HTTP ??
2. ?????? ???? ??? ??
3. ??? ??????? ???? ?? ??
??
4. ??? request ?? session? ??
5. ??? ? ?? ?, ?? ???(?? ?????)
HTTP ??
JSP
31
MVC ????? ??? ??
??? ??? ?? ??
? ????
???
??
HTTP ??
1. ??????? ?? ??
2. ???? ?? ??
3. ?? ?? ????? ??
JSP
HTTP ??
32
???? ???? ?? ??
Code
public class ControllerServlet extends
HttpServlet public void doGet(HttpServletRe
quest request, HttpServletResponse response)
throws IOException, ServletException
processRequest(request, response)
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws
IOException, ServletException
processRequest(request, response)
private void processRequest(HttpServlet request,
HttpServletResponse response) throws
IOException, ServletException // 2??,
?? ?? // request ????? ???? ??? ???? ??
... // 3??, ??? ???? ???
??? ????. // ???? ??? ?? ??? ??
// 4??, request? session? ?? ??? ??
request.setAttribute("result", resultObject) //
?? ??? ?? ... // 5??,
RequestDispatcher? ???? ??? ?? ???
RequestDispatcher dispatcher
request.getRequestDispatcher("/view.jsp")
dispatcher.forward(request, response)
1??, ???? GET/POST ???? ???? ?????? ??? ???
???? processRequest()? ????.
33
??? ???? ??? ??
Example
private void processRequest(HttpServletRequest
request, HttpServletResponse response) throws
IOException, ServletException // 2??,
?? ?? // request ????? ???? ??? ???? ??
String type request.getParameter("type")
// 3??, ??? ??? ????. //
???? ??? ?? ??? ?? Object resultObject
null if (type null
type.equals("greeting"))
resultObject "?????." else if
(type.equals("date")) resultObject
new java.util.Date() else
resultObject "Invalid Type"
// 4??, request? session? ?? ??? ??
request.setAttribute("result",
resultObject) // 5??,
RequestDispatcher? ???? ??? ?? ???
RequestDispatcher dispatcher
request.getRequestDispatcher("/simpleView.jsp")
dispatcher.forward(request, response)

??? ???? ?? ?? ?? ??
34
Command ??? ?? (1)
  • ? ??? ???? ???? ??? ????. ?? ??? ??? ???? ? ??, ?
    ???? ???? ??? ???? ?? ????. (Command ??)
  • ???? ??? ??? ???? ??? ?? ??? ??? ??? ????.

35
Command ??? ?? (2)
Command ??? ??
ltlt?????gtgt CommandHandler
??? ???? ???? ???? ? ?????
public String process()
? ??? ????? ???? CommandHandler ?????? implements
??. process() ???? ??? ???? ??? ????.
ListHandler
WriteFormHandler
public String process()
public String process()
36
Command ??? ?? (3)
Controller? Command? ?? ??
???? ???
??
HTTP ?? ??
?????? ???? ??? ??
??? ??? ??? ???? ??
??
CommandHandler
????
??? ???? ?? ?? ??
????
??? ???? ??? ?? ???
???
?
37
Command ??? ?? (4)
?? ??? ??
lt???, ??? ???gt? ?? ?? ?? ???1????????1 ???2???
?????2 ???3????????3
Example
lt???, ??? ???gt? ?? ?? ?? /hello.domadvirus.comm
and.HelloHandler /guestbook/writeForm.domadvirus.
guestbook.command.WriteFormHandler /guestbook/writ
e.domadvirus.guestbook.command.WriteHandler
38
Command ??
  • ?? URI??? Command? ??
  • ?) http//server/chap21/logic/process.do??
    /logic/process.do? Command? ??
  • ?? ????? ?? Command? ??
  • ?) http//server/servlet/..?cmdlistp2 ?? cmd
    ???? ?? list? Command? ??

39
??1 ??? ??2 ??? ?? ??
?? ?? ??
?? 1 -??? ?? -?? ??? ??? ?? ?? -??? JSP? ???? ??. ??? JSP? ??? ??? ?? -??? ?? ??? ? ??? ???? JSP ??? ???? -? ??? ????? ??? ?? ?, ???? ??? ??? -?? ?? ?? ??? JSP ??? ???? ?
?? 2 -?? ??? ? ??? ??? ?? ?? ??? ??? -???? ????? ???? ?? ?? ??.(??/?? ?) -??? ??? -?? ??? ???? ??? ????? ?? ?? -???? ??(???????JSP) -??? ??? ???
Write a Comment
User Comments (0)
About PowerShow.com