1. Trang chủ
  2. » Thể loại khác

HUNG -Java Servlet Programming

29 7 0

Đ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 29
Dung lượng 209,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình web phía server 1 Công nghệ Java Servlet Nguyễn Quang Hùng E mail hungnq2@cse hcmut edu vn Web site http //www cse hcmut edu vn/~hungnq/courses htm Nguyễn Quang Hùng 2 Mục tiêu  Học về công[.]

Trang 1

Công nghệ Java Servlet

Nguyễn Quang HùngE-mail: hungnq2@cse.hcmut.edu.vn Web site: http://www.cse.hcmut.edu.vn/~hungnq/courses.htm

Trang 2

Mục tiêu

Học về công nghệ Java Servlet.

Bài tập: ứng dụng danh bạ điện thoại bằng Java Servlet

Trang 4

Tài liệu tham khảo về Servlet và JSP

J2EE edition, Wrox Press, 2000.

www.ibm.com/developers

Trang 5

Tổng quan về công nghệ Java

Kiến trúc J2EE bao gồm nhiều kỹ thuật lập trình phía server như:

 Servlet

 JSP

 Enterprise Java Bean

Trang 6

Kiến trúc của J2EE

Web client

(X)HTML /

XML

Web Container Servlet

objects

JSP pages

Tag Library

RMI/IIOP, JDBC, JMS, JavaMail, JNDI

HTTP(S)

RDBMS

JDBC

Applet

Trang 7

Web client

(X)HTML /

XML

Web Container Servlet

objects

JSP pages

Tag Library

RMI/IIOP, JDBC, JMS, JavaMail, JNDI

HTTP(S)

RDBMS

JDBC

Applet

Kiến trúc của J2EE

• Web clients: trình duyệt hoặc một

ứng dụng quản lý các tương tác của

người dùng, hiển thị các trang web

dạng HTML

• HTML và Javascript hay DHTML, XML

sẽ tạo các chức năng tương tác hữu

dụng phía client

• HTTP hoặc HTTPS là giao thức chuyển đổi thông tin của web client

và các ứng dụng web trên web server

Trang 8

Kiến trúc của J2EE

J2EE cung cấp:

• Web container.

• Java Servlet API.

• JavaServer Page (JSP) API.

objects

JSP pages

Tag Library

RMI/IIOP, JDBC, JMS, JavaMail, JNDI

HTTP(S)

RDBMS

JDBC

Applet

Trang 9

Kiến trúc của J2EE

Web container:

• Cung cấp môi trường runtime

và framework hỗ trợ các ứng

dụng web

• Ví dụ: Tomcat, Jboss, J2EE

implementation, IBM WebSphere

Application Server, BEA Web

Logic, Oracle Application Server…

Web client

(X)HTML /

XML

Web Container Servlet

objects

JSP pages

Tag Library

RMI/IIOP, JDBC, JMS, JavaMail, JNDI

HTTP(S)

RDBMS

JDBC

Applet

Trang 10

Java Servlet

Java servlet là những chương trình độc lập

platform và nhỏ chạy ở phía server được lập trình

để mở rộng chức năng của web server Nghĩa là bạn có thể nhúng logic của ứng dụng riêng vào việc xử lý các HTTP request và tạo HTTP

response.

Java servlet giống như CGI nhưng tốt hơn trong việc xử lý HTTP request-response.

Java servlet không thể gọi từ client mà web

container chứa ứng dụng web có server sẽ bị gọi.

Trang 11

Quy trình cơ bản khi web server nhận một

HTTP Req

HTTP Res

Uses the mapping Information

J2EE Web Containe

r

Static resources

Web Application

Servlet/JSP instances

Static resources

One or more Servlets or JSP

1

45

6

Trang 12

Vòng đời của servlet

Không tồn tại

(Doses not exist)

Tạo ra (Instantiated)

Sẳn sàng phục vụ request (Instaniated

& Ready)

Phục vụ (Service)

Không sẳn sàng Unavailable

Huỷ

(Destroyed)

Trang 13

Vòng đời của servlet

Không sẳn sàng Unavailable

Huỷ

(Destroyed)

Vòng đời của servlet gồm 6 trạng thái:

- Tạo ra: web container tạo một thực thể servlet

- Sẳn sàng phục vụ: gọi method init() của servlet

- Phục vụ: nếu có một request thì container sẽ gọi method service() của thực thể

- Huỷ: container gọi method destroy() của servlet.

-Không sẳn sàng: thực thể được đánh dấu cho garbage collection.

Trang 14

ServletContainer thread 1 thread 2 Servlet

create thread pool

Instantiate servlet instance Call init() method

Perform initialization

allocate request to thread HTTP request 1

come

call service() method

allocate request to thread

HTTP request 2

come

call service() method

HTTP Response 1 Block all further requests until exists

ready thread

Trang 15

Lập trình với Java servlet API

 javax.servlet.*

 Chứa các class và interface độc lập với HTTP

 javax.servlet.http.*

 Chứa các class cụ thể cho HTTP

javax.servlet.Servlet Tuy nhiên do chúng ta

dùng giao thức HTTP và

javax.servlet.http.HttpServlet là lớp hiện thực

giao diện Servlet, nên thường ta phải kế thừa từ lớp này và override doGet() và/hay doPost().

Trang 16

Lập trình với Java servlet API (tiếp)

Hiện thực servlet javax.servlet.Servlet

javax.servlet.SingleThreadModel javax.servlet.GenericServlet

javax.servlet.http.HttpServlet

Cấu hình sevlet javax.servlet.ServletConfig

Servlet Exception javax.servlet.ServletException

Requests javax.servlet.ServletRequest

javax.servlet.http.HttpServletRequest

Trang 17

Lập trình với Java servlet API (tiếp)

Servlet context Javax.servlet.ServletContext

Servlet collaboration Javax.servlet.RequestDispatcher

Java.servlet.http.HttpUtils

Trang 18

API cho HttpServletRequest

Trang 19

API cho HttpServletResponse

9.

Trang 20

Bài tập:

Ứng dụng tra cứu DBĐT bằng servlet

Ứng dụng danh bạ điện thoại:

 Viết một InputForm servlet để tạo một HTML form nhập để tra cứu danh bạ điện thoại.

 Viết một SearchAccount servlet để tra cứu thông tin danh bạ.

Trang 21

Bài tập: Ư.D DBĐT Viết servlet InputForm

1. import javax.servlet.*; import javax.servlet.http.*;

2. import java.io.IOException;

3. public class InputForm extends HttpServlet {

4. static final private String CONTENT_TYPE = "text/html";

5. //Initialize global variables

6. public void init() throws ServletException {

Trang 22

Bài tập: Ư.D DBĐT Viết servlet InputForm (tiếp)

1. //Process the HTTP Get request

2. public void doGet ( HttpServletRequest request, HttpServletResponse response)

3. throws ServletException, IOException {

4. response.setContentType(CONTENT_TYPE);

5. PrintWriter out = response.getWriter(); // Write to client

6. out.println(“<html><head><title>InputForm</title></head>");

7. out.println("<body>");

8. out.println("<h1>Trang Web demo viec tra danh ba dien thoai.</h1>");

9. out.println(" <form action=“searchaccount” method='post'> ");

10. out.println("Nhap ten thue bao: <INPUT NAME=“ttbao"> <br>");

11. out.println("Nhap so dien thoai: <INPUT NAME=“sodthoai”>< br>");

12. out.println("Nhap dia chi : <INPUT NAME=“diachi”> <br>");

13. out.println(" <input type='submit' name='Submit' value='Bat dau

tra'> ");

14. out.println(" </form> "); out.println("</body></html>");

Trang 23

<form action=searchaccount method='post'>

Nhap ten thue bao : <input name= 'ttbao ’ ><br>

Nhap so dien thoai : <input name= 'sodthoai ’ ><br>

Nhap dia chi : <input name= 'diachi ’ ><br>

<input type= 'submit ' name='Submit' value='Bat dau tra'>

</form>

Trang 24

Bài tập: Ứ.D DBĐT Viết servlet SearchAccount

1. import javax.servlet.*; import javax.servlet.http.*;

2. import java.io.*; import java.util.*; import java.sql.*;

3. public class SearchAccount extends HttpServlet {

4. static final private String CONTENT_TYPE = "text/html";

5.

6. // Process the HTTP Post request

7. public void doPost ( HttpServletRequest request,

Trang 25

Bài tập: Ứ.D DBĐT Viết servlet SearchAccount (tiếp)

1 //Process the HTTP Post request

2 public void doPost (HttpServletRequest request, HttpServletResponse

8 out.println("<table border=1 cellPadding=1 cellSpacing=1>");

9 String tentbao = request.getParameter("ttbao");

10 // xay dung lenh SQL

11 String newSQL = "SELECT * FROM CUSTOMER";

12 if (tentbao != null && tentbao.length() != 0) {

13 newSQL = newSQL + " where tentbao like '%" + tentbao + "%'";

14 }

15 String conStr = "jdbc:odbc:DanhBaDT";

16 Statement stmt = null; ResultSet rs = null;

Trang 26

Bài tập: Ứ.D DBĐT Viết servlet SearchAccount (tiếp)

Trang 27

Bài tập: Ứ.D DBĐT

Kết quả chạy thử (tiếp)

Trang 28

Kết luận

Java servlet cho phép mở rộng chức năng cơ bản của Web

server nhằm tăng cường việc xử lý các thông tin trong HTTP

request và/hay response Nó cung cấp nhiều tiện ích hơn CGI.

Tuy nhiên Java servlet có điểm yếu trong việc phải lập trình để tạo trang HTML kết quả Điểm yếu này sẽ được khắc phục trong công nghệ khác của Java là JSP.

Trang 29

Thảo luận

Ngày đăng: 20/04/2022, 14:58

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w