Thứ Ba, 15 tháng 11, 2016

                      Servlet and JSP

1.Servlet

*Cấu trúc gia phả của servlet.

-Dưới đây là hình ảnh mô phỏng cho cấu trúc của servlet. 

*Class Object:là class cha của mọi class.và có một số phương thưc như:
+clone():
+equals();
+finalize();
+hashCode ():
+toString():
*Abstract GenericServlet
-Vì nó được kế thừa từ class Object nên nó cũng được kế thừa từ các phương thức của lớp object như trên.Ngoài ra nó cũng được kế thừa từ interface như Servlet,ServletConfig,Serializable    nên nó cũng được implement phương thức như:
puclic void init(ServletConfig con):nó được sử dụng để khởi chạy servlet.và chỉ được khởi tạo một lần cho đến khi kết thúc.
+ public abstract void service(ServletRequest request,ServletRespon respon   ):nó sẽ cung cấp các dịch vụ để xử lí request.Nó sẽ được gọi mỗi khi người dùng request tới servlet.
+ public void destroy ():chỉ được gọi một lần duy nhất trong vòng đời.và nó chỉ ra cho servlet bắt đầu destroy.
+public ServletConfig getServletConfig():Nó sẽ trả về đối tượng Servletconfig    
+public String getServletInfo():trả về thông tin của Servlet như Writer,version .. 
+ public ServletContext getServletContext:trả về đối tượng ServletContext.dùng để giao tiếp giữa các Servlet với nhau.
+ public String getInitParameter(String name):trả về giá trị của parameter  thông qua tên của parameter  đó
+ public Enumeration getInitParameterNames():trả về tất cả các parameter được định nghĩa trong web.xmf file.
public String getServletName():trả về tên của đối tượng Servlet đó
+ public void log(String msg):Đưa ra những tin nhắn trong servlet log file.
+public void log(String smg,Throwable t)giải thích message trong servlet log file và ngoại lệ
*Abstract HttpServlet:
*Được kế thừa từ lớp GenericServlet class nên nó cũng được kế thừa những phương thức lơp cha của nó.Và ngoài ra nó cũng cung cấp một số phương thức như:
+ protected void service (HttpServletRequest resquest,HttpServletRespon respon ):nhận request từ phương thức service,và chuyển tới request phương thức doXX() để thực thi dựa trên Http servlet type 
+protected void doGet( HttpServletRequest 
resquest,HttpServletRespon respon ) :xử lí những  Get request. được gọi bởi web container .

+protected void doPost( HttpServletRequest 
resquest,HttpServletRespon respon ) :xử lí những Post request. được gọi bởi web container .

+protected void doOptiones( HttpServletRequest 
resquest,HttpServletRespon respon ) :xử lí những Optiones request. được gọi bởi web container .
+protected void doHead( HttpServletRequest
 resquest,HttpServletRespon respon ) :xử lí Head request  thức. được gọi bởi web container .

+protected void doDelete( HttpServletRequest
 resquest,HttpServletRespon respon ) :xử lí  những Delete request. được gọi bởi web container .

+protected void doPut( HttpServletRequest
 resquest,HttpServletRespon respon ) :xử lí những Put request . được gọi bởi web container .

+protected void doTrace( HttpServletRequest
 resquest,HttpServletRespon respon ) :xử lí Trace request  thức. được gọi bởi web container .
*Class  Servlet:
-Được ké thừa toàn bộ các phương thức lơp cha của nó.như doGet(),doPost()...
2. Vòng đời Servlet
khi người dùng request lên server,server nhận yêu cầu qua (Http) nó sẽ gọi đến servlet container để xem servlet nào cần được xử lí.Khi load được servlet cần được xử lí..phương thức init sẽ được gọi:
init():kế thừa abstract Generic class.Nó dùng để khởi chạy servlet và chỉ được gọi một lần duy nhât cho đến khi kết thuc.
-sau khi phương thức init được gọi nó gọi đến phương thức service.phương thúc service sẽ nhận kiểu người dùng request qua (Http) sau đó gủi đến phương thức doX(để xủ lí.).mỗi khi người dùng request tới service thì servlet containet nó sẽ tạo ra một luồng để quản lí request đó.Nên một đối tượng servlet có thể phục vụ đa luồng.nếu servlet đã được khởi tao rồi thì tự đông lần sau web container tự đông gọi đến phương thức  service luôn mà không cần gọi qua init nữa()-
-sau khi gửi đễn phương thức doX() xử lí xong Web server sẽ trả lại nội dung cho người dùng yêu cầu.
-quá trình destroy xảy ra khi người dùng không còn tương tác web nữa.
2. Vòng đời JSP
-client request thông qua jsp translator biên dịch thành servlet file rồi compile thành file class.Sau đó khởi tao jsp thông qua phương thức init. rồi thông qua jsp servicve gọi đến phương thức doX() để thực thi và respon.
-quá trinh destroy xảy ra khi người dùng không còn tương tác với web nữa.
-cũng như servlet phương thức init()chỉ được khởi tạo một lần duy nhât và sau đó nó không gọi phương thức init nữa mà sẽ gọi thẳng đến jsp service luôn.  










 

Không có nhận xét nào:

Đăng nhận xét