1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn lập trình java servlet cho người mới bắt đầu

51 1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 2,68 MB

Nội dung

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 5/51Khi yêu cầu request của người dùng tới Servlet, servlet sẽ gọi phương th

Trang 1

Máy đuổi côn trùng Pest Reject LP­03

98,525MUA NGAY

Thẻ nhớ tốc độ cao Micro SDHC 32GB

195,000MUA NGAY

MENU

Trang 2

dữ liệu hoặc một nguồn khác, và tạo ra các trang web động

Trang 3

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 3/51

3­ Vòng đời của Servlet

Hình dưới đây minh họa về vòng đời của một Servlet. Từ khi nó được tạo ra, sử lý các đòi hỏi từ người dùng,cho tới lúc nó bị hủy

Trang 5

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 5/51

Khi yêu cầu (request) của người dùng tới Servlet, servlet sẽ gọi phương thức service() để phục vụ yêu cầu của người dùng, service() sẽ gọi một trong hai phương thức doGet() hoặc doPost(). Trong servlet của bạn, bạn

cần ghi đè và sử lý tại các phương thức này

Như vậy khi người dùng gửi yêu cầu một Servlet, servlet sẽ được tạo ra tại thời điểm có yêu cầu lần đầu tiên tới,

đồng thời sẽ gọi  phương thức init() của servlet để khởi tạo cho nó, init() được gọi duy nhất 1 lần. Phương thức destroy() dùng để hủy servlet, nó sẽ được gọi một lần duy nhất khi gỡ bỏ triển khai (undeloy) ứng dụng web

hoặc tắt (shutdown) web server

 

4­ Cài đặt Tomcat Web Server

Để bắt đầu với Servlet, bạn cần download Tomcat Web Server và khai báo nó với Eclipse. Bạn có thể xemhướng dẫn tại:

http://o7planning.org/web/fe/default/vi/document/19569/khai­bao­server­tomcat­tren­eclipse

5­ Tạo Web Project bắt đầu với Servlet

File/New/Other

Trang 6

Project Name: ServletTutorial

Trang 7

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 7/51

Trang 8

Đây là hình ảnh Project được tạo ra:

Trang 9

<title>Insert title here</title>

Trang 10

Trên eclipse, nhấn phải vào Project ServletTutorial, chọn Properties:

Trang 11

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 11/51Chọn đến vị trí cài đặt Tomcat 8 của bạn.

Trang 12

Nhấn phải chuột vào project ServletTutorial, chọn "Run As/Run on Server".

Trang 13

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 13/51

Trang 17

      HttpServletResponse response) throws ServletException, IOException {         

    protected void doPost(HttpServletRequest request,

      HttpServletResponse response) throws ServletException, IOException {        this.doGet(request, response);

    }

?

Trang 18

Cần khai báo thư viện Servlet, các thư viện này chỉ là các thư viện Runtime của Servlet, nó có sẵn trên các WebServer, ở đây chúng ta dùng Tomcat, vì vậy hãy khai báo chúng

Trang 19

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 19/51

Trang 21

   <url‐pattern>/hello</url‐pattern>

<?xml version="1.0" encoding="UTF‐8"?>

<web‐app xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"

        <servlet‐name>helloServlet</servlet‐name>

        <servlet‐class>org.o7planning.tutorial.servlet.HelloServlet</servlet‐class>

    </servlet>

 

    <servlet‐mapping>

        <servlet‐name>helloServlet</servlet‐name>

        <url‐pattern>/hello</url‐pattern>

    </servlet‐mapping>

 

 

    <welcome‐file‐list>

        <welcome‐file>index.html</welcome‐file>

        <welcome‐file>index.htm</welcome‐file>

        <welcome‐file>index.jsp</welcome‐file>

        <welcome‐file>default.html</welcome‐file>

        <welcome‐file>default.htm</welcome‐file>

        <welcome‐file>default.jsp</welcome‐file>

Trang 22

Bạn có thể xem nguyên tắc hoạt động của nó theo hình minh họa dưới đây:

Trang 23

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 23/51

Khi một Servlet được gọi tới, tùy tình huống mà một trong hai phương thức doGet( ) hoặc doPost( ) sẽ đượcgọi

Trang 24

        out.println("<p>emailSupport1 = " + this.emailSupport1 + "</p>");

        out.println("<p>emailSupport2 = " + emailSupport2 + "</p>");

Trang 25

        <param‐value>abc@example.com</param‐value>

    </init‐param>

 

    <init‐param>

        <param‐name>emailSupport2</param‐name>

        <param‐value>tom@example.com</param‐value>

    <servlet‐name>initParamServlet</servlet‐name>

    <url‐pattern>/initParam</url‐pattern>

<?xml version="1.0" encoding="UTF‐8"?>

<web‐app xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"

        <servlet‐name>helloServlet</servlet‐name>

        <servlet‐class>org.o7planning.tutorial.servlet.HelloServlet</servlet‐class>

    </servlet>

 

    <servlet‐mapping>

        <servlet‐name>helloServlet</servlet‐name>

        <url‐pattern>/hello</url‐pattern>

    </servlet‐mapping>

 

 

    <servlet>

        <servlet‐name>initParamServlet</servlet‐name>

        <servlet‐class>org.o7planning.tutorial.servlet.InitParamServlet</servlet‐class

         

        <init‐param>

      <param‐name>emailSupport1</param‐name>

      <param‐value>abc@example.com</param‐value>

        </init‐param>

         

        <init‐param>

      <param‐name>emailSupport2</param‐name>

      <param‐value>tom@example.com</param‐value>

        <servlet‐name>initParamServlet</servlet‐name>

        <url‐pattern>/initParam</url‐pattern>

Trang 26

        <welcome‐file>index.htm</welcome‐file>

        <welcome‐file>index.jsp</welcome‐file>

        <welcome‐file>default.html</welcome‐file>

        <welcome‐file>default.htm</welcome‐file>

        <welcome‐file>default.jsp</welcome‐file>

        @WebInitParam(name = "emailSupport1", value = "abc@example.com"),

        @WebInitParam(name = "emailSupport2", value = "tom@example.com")

    }        

?

Trang 27

       out.println("<p>emailSupport2 = " + emailSupport2 + "</p>");

Trang 28

*.map http://example.com/contextPath/status/abc.map

http://example.com/contextPath/status.map?date=todayhttp://example.com/contextPath/status/abc.MAP

/ Đây là Servlet mặc định

Trang 29

public class AsteriskServlet extends HttpServlet {

Trang 32

       HttpServletResponse response) throws ServletException, IOException {       ServletOutputStream out = response.getOutputStream();

Trang 34

       HttpServletResponse response) throws ServletException, IOException {       this.doGet(request, response);

   }

 

}

Trang 35

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 35/51

13­ Forward (Chuyển tiếp)

Chuyển tiếp (Forward): Khi một yêu cầu (request) tới một Servlet, nó có thể chuyển tiếp yêu cầu tới một trangkhác (hoặc một servlet khác). Địa chỉ trên trình duyệt của người dùng vẫn là đường dẫn của trang đầu tiên,nhưng nội dung của trang do trang được chuyển tiếp tới tạo ra

Trang được chuyển tiếp tới bắt buộc phải là môt trang (hoặc Servlet) thuộc vào ứng dụng web của bạn

Với Forward bạn có thể sử dụng request.setAttribute() để truyền dữ liệu từ trang 1 sang trang thứ 2.

Trang 36

 private static final long serialVersionUID = 1L;

 

 @Override

 protected void doGet(HttpServletRequest request,

         HttpServletResponse response) throws ServletException, IOException {

      // Lấy parameter trên URL

      // http://localhost:8080/ServletTutorial/other/forwardDemo?forward=true       String forward = request.getParameter("forward");

Trang 37

 protected void doPost(HttpServletRequest request,

         HttpServletResponse response) throws ServletException, IOException {

     this.doGet(request, response);

 }

 

}

Trang 38

http://localhost:8080/contextPath

http://localhost:8080/ServletTutorial

Trường hợp request.getRequestDispatcher(url) trả về RequestDispatcher có vị trí tương đối với trang hiệntại

Forward (Chuyển tiếp) chỉ cho phép chuyển tới các trang nằm trong Website, đồng thời có thể

chuyển dữ liệu giữa 2 trang thông qua request.setAttribute.

14­ Redirect (Chuyển hướng)

Chuyển hướng (Redirect): Khi một yêu cầu (request) từ phía người dùng tới một Servlet (Trang A), servletnày có thể chuyển yêu cầu này tới một trang khác (Trang B), và kết thúc nhiệm vụ của nó. Trang được chuyểnhướng tới có thể là trang trong ứng dụng của bạn, hoặc có thể là một trang bất kỳ. Địa chỉ trên trình duyệt củangười dùng lúc này sẽ hiển thị đường dẫn của trang B

Khác với chuyển tiếp (Forward). Với Redirect bạn không thể sử dụng request.setAttribute( ) để truyền dữ liệu

từ trang A sang trang B

Trang 39

   private static final long serialVersionUID = 1L;

 

   @Override

   protected void doGet(HttpServletRequest request,

       HttpServletResponse response) throws ServletException, IOException {

   protected void doPost(HttpServletRequest request,

       HttpServletResponse response) throws ServletException, IOException {

Trang 41

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 41/51

Với đường dẫn thứ 2, request đã chuyển hướng sang ShowMeServlet, đường dẫn URL bạn thấy trên trìnhduyệt là đường dẫn của servlet ShowMeServlet

15­ Phiên làm việc (Session)

Đối tượng HttpSession mô tả một phiên làm việc (session) của người dùng. Một phiên làm việc của người dùngchứa nhiều thông tin người dùng trên nhiều yêu cầu (request) đã gửi tới HTTP server

Khi lần đầu tiên người dùng vào trang web của bạn, người dùng sẽ nhận được một ID duy nhất phân biệt vớicác người dùng khác. ID này thường được lưu trữ trong cookie hoặc tham số của request

Trang 42

public class LoginServlet extends HttpServlet {

Trang 43

public class UserInfoServlet extends HttpServlet {

Trang 44

       out.println("<p>Country:" + loginedInfo.getCountry() + "</p>");

       out.println("<p>Post:" + loginedInfo.getPost() + "</p>");

Trang 45

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 45/51

http://o7planning.org/web/fe/default/vi/document/20397/huong­dan­lap­trinh­java­jsp­cho­nguoi­moi­bat­dau

Trang 48

Lập trình Java ứng dụng Desktop hoặc các ứng dụng Web giao diện giống ứng dụng Desktop nên chọn giải pháp nào?Hướng dẫn lập trình Java Desktop sử dụng SWT

Trang 50

Vòi xịt sân vườn thông minh Magic Hose

Www.Lazada.Vn

390,000

336,000

Mua ngay

Trang 51

http://o7planning.org/web/fe/default/vi/document/12760/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 51/51

o7planning.org

Ngày đăng: 14/01/2016, 11:30

TỪ KHÓA LIÊN QUAN

w