Translate

แสดงบทความที่มีป้ายกำกับ jsp แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ jsp แสดงบทความทั้งหมด

วันศุกร์ที่ 10 กรกฎาคม พ.ศ. 2558

JSP กับ Java Servlet ต่างหรือเหมือนกันอย่างไร

รูปภาพจาก http://www.javatpoint.com/

Java Servlet เป็นโปรแกรมที่เขียนขึ้นมาเป็น Class ของ Java ทำนองเดียวกับ ASP.net, PHP ซึ่งทำงานฝั่ง Server เช่นกัน

JSP (Java Server Pages) เป็นเทคโนโลยีที่ใช้ Script ในการพัฒนา Web Application อย่างที่ผมเคยกล่าวไว้แล้วในบทความที่แล้ว ย้อนไปดูได้ที่

http://gjblogknowledge.blogspot.com/2015/07/jsp-web-application.html

ทั้ง JSP, Java Servlet ล้วนพัฒนาขึ้นโดยบริษัท Sun Microsystems เพื่อเอาไว้ใช้พัฒนา Web Application ด้วย Java เหมือนกัน
ตัวอย่างของ JSP มีอยู่ในบทความที่แล้วคลิกลิ้งด้านบนย้อนไปดูได้ครับ ในบทความนี้จะยกตัวอย่างของ Java servlet มาให้ดูครับ

ตัวอย่างโค้ต Hello Servlet ของ Java Servlet

ใน Java file
package com.Sample;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ServletSample extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{

PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println("</body>");
out.println("</html>");
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException{
          ......
     }
}

ใน  web.xml

<servlet>
   <servlet-name>ServletSample</servlet-name>
   <servlet-class>ServletSample</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>ServletSample</servlet-name>
   <url-pattern>/ServletSample</url-pattern>
</servlet-mapping>

ตัวอย่างโค้ต Hello Servlet  ของ Java Servlet ที่ใช้ Annotation

package com.Sample;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/servletSample ")
public class ServletSample extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{

PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println("</body>");
out.println("</html>");
}

    public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException{
           ..........
     }
}
          จะสังเกตเห็นว่าทั้ง 2 ตัวอย่างนั้น Java class จะเหมือนกันต่างกันตรง config servlet ตัวอย่างแรกจะใช้ config ใน web.xml เลย ตัวอย่างที่ 2 จะใช้เป็น Annotation ซึ่งจะสะดวกกว่าเยอะครับแต่จะใช้ได้ใน Java version ใหม่หน่อยนะครับ

Method หลักๆที่ใช้ใน Java Servlet
1.Method init() เป็น Method ที่เมื่อเริ่มการทำงานใน Servlet นั้นจะทำงานทันทีในครั้งแรกครั้งเดียวที่ Servlet ทำงาน
2.Method doGet() เป็น Method ที่จะทำงานจากการส่ง Request แบบ Get เข้ามาที่ Servlet
3.Method doPost() เป็น Method ที่จะทำงานจากการส่ง Request แบบ Postเข้ามาที่ Servlet
4.Method destroy() เป็น Method ที่เมื่อเรียกใช้จะทำลาย Servlet ตามชื่อ Method นั่นล่ะครับ
         เพื่อนๆจะสังเกตเห็นว่า JSP ง่ายกว่า Java Servlet และแก้ไขได้สะดวกกว่า แต่ความจริงแล้ว JSP ก็คือ Java Servlet ที่เขียนออกมาในรูปแบบ Script ซึ่งในขั้นตอนการทำงานจริง  Compiler จะแปลง JSP ไปเป็น Java Servlet ก่อนจึงจะทำงานได้ บทความเกี่ยวกับ JSP และ Java Servlet ก็ขอจบไว้เพียงเท่านี้ก่อนนะครับติดตามอ่านต่อได้ที่บทความต่อๆไปครับ

วันพฤหัสบดีที่ 9 กรกฎาคม พ.ศ. 2558

ทำความรู้จักกับ JSP สำหรับพัฒนา Web application

 
รูปภาพจาก http://www.techcriminals.com/jsp/jsp.html
     เมื่อบทความที่แล้วได้มีการกล่าวถึง Java ที่ใช้พัฒนา Web application กันไปบ้างแล้ว ในบทความนี้จึงยกเรื่อง JSP มาขยายความให้เข้าใจครับ
    JSP (Java Server Pages) คือ เทคโนโลยีที่ใช้สำหรับพัฒนา Web application อย่างที่เรารู้กัน การทำงานของ JSP จะทำงานบนฝั่ง Server และส่งผลลัพธ์มายัง Web browser เป็นภาษา HTML ซึ่งใช้ร่วมกับโค้ตที่ทำงานฝั่ง Client อย่างเช่น html css javascript เป็นต้น ไฟล์ที่มี Tag JSP จะใช้นามสกุล .jsp

JSP มี tag ทั้งหมด 5 ประเภทได้แก่ 
 1.แท็กประกาศตัวแปร (declaration)
<html>  
        <body>  
                <%!
                          String name = "Mark";
                          String date = "28th April, 2004";
                 %>
         </body>  
</html>
    นอกจากจะใช้ประกาศตัวแปรแล้ว ยังสามารถประกาศ method ได้ด้วย ซึ่งตัวแปรที่ถูกประกาศใน tag นี้จะถูกสร้างขึ้นและกำหนดค่าเริ่มต้นเพียงครั้งเดียว ถ้าเข้ามาครั้งต่อไปจะใช้ตัวเดิมเลยไม่ต้องสร้างใหม่อีกครั้ง

2.แท็กที่ใช้สำหรับcoding Java (scriptlet)
<html>  
        <body>  
             <%  
                       String name = request.getParameter("uname");  
                       out.print("welcome "+name);  
             %>    
         </body>  
</html>  
     เป็นแท็กที่ใช้สำหรับ coding Java ลงไปในนั้นไม่ว่าจะเป็น logic หรือ print ข้อความออกมาโชว์ หรือรับ,ส่ง parameter ถือว่า tag นี้เป็น tag ที่ใช้เยอะและสำคัญมากอีก tag นึงใน JSP

3.แท็กแสดงข้อความ (expression)
<html>  
        <body>  
                <%= name %>
         </body>  
</html>
  จะเห็นว่าnameเป็นตัวแปรที่ประกาศใน scriptlet ด้านบนเราสามารถใช้ expression tag แสดงค่าออกมาได้ หรือจะเป็น String literal เลยก็ได้

4.แท็กที่ใช้สำหรับ comment
        <%-- ข้อความที่ใช้ comment --%>

   แท็กนี้ใช้สำหรับใส่ comment ที่เราต้องการจะอธิบายโค้ตช่วงนั้นๆ
5.แท็กที่ใช้สำหรับ include file (Include Directive)
 <%@ include file="header.jsp" %>

    แท็กนี้จะเห็นว่าไว้ใช้สำหรับ include file ต่างๆเข้ามาใช้ในหน้าที่เรา coding อยู่ได้
      ในบทความนี้แค่ทำความรู้จักกับ JSP เท่านั้นครับว่ามี Tag อะไรบ้างและมีวิธีใช้อย่างไรตามตัวอย่างที่มีให้ครับ ในบทความต่อไปจะเกี่ยวกับ Java Servlet ครับ ซึ่งจะเปรียบเทียบให้เห็นครับว่า JSP,Java Servlet แตกต่างหรือเหมือนกันยังไงบ้างครับ