Nd p servlet ẹ

Một phần của tài liệu Đồ án công nghệ thông tin ứng dụng công nghệ JSP (Trang 25 - 30)

Servlet không gi l i trong b nh v nh vi n, s đ n lúc c n lo iữ ạ ộ ớ ĩ ễ ẽ ế ầ ạ

Webserver kh i đ ng l i đ gi i phóng rác trong b nh t ng hi u su t th cở ộ ạ ể ả ộ ớ ă ệ ấ ự

hi n…. Tr c khi ch m d t, Web server s g i đ n ph ng th c h yệ ướ ấ ứ ẽ ọ ế ươ ứ ủ

destroy () c a servlet. ây là c h i đ servlet th c hi n m t s thao tác d nủ Đ ơ ộ ể ự ệ ộ ố ọ

d p c n thi t nh l u d li u xu ng đ a, ghi nh tr ng thái c a servlet đẹ ầ ế ư ư ữ ệ ố ĩ ớ ạ ủ ể

ph c v cho l n kh i đ ng sau, đóng k t n i v i c s d li u…. Và m c dùụ ụ ầ ở ộ ế ố ớ ơ ở ữ ệ ặ

Java có th t đ ng thu gom rác trong b nh nh ng n u chúng ta đã c p phátể ự ộ ộ ớ ư ế ấ

m t kh i l ng b nh l n cho servlet trong quá trình làm vi c, chúng ta nênộ ố ượ ộ ớ ớ ệ

th c hi n gi i phóng chúng trong ph ng th c destroy ().ự ệ ả ươ ứ

Chu trình s ng c a JSPố

T ng t nh chu trình s ng c a servlet, trang JSP c ng có cbhu trìnhươ ự ư ố ủ ũ

s ng xác đ nh tính t khi h th ng đ c biên d ch trang JSP, g i th c thi và lo iố ị ừ ệ ố ọ ị ọ ự ạ

trang kh i b nh . Chu trình s ng c a JSP tr i qua các giai đo n sau:ỏ ộ ớ ố ủ ả ạ

• Biên d ch trang JSPị • N p trangạ • Kh i t oở ạ • Th c thiự • D n d pọ ẹ Biên d ch trang JSPị

Khi trình duy t yêu c u trang JSP, ví d tri u g i trang JSP b ng URLệ ầ ụ ệ ọ ằ http://localhost:8100/Default.jsp. Web server s ki m tra trang JSP đã đ cẽ ể ượ

biên d ch hay ch a. N u ch a biên d ch ho c đã biên d ch nh ng trang JSP m iị ư ế ư ị ặ ị ư ớ

v a thay đ i trong mã ngu n thì Web server s th c hi n biên d ch trang JSP.ừ ổ ồ ẽ ự ệ ị

Quá trình biên d ch JSP th c t là chuy n trang JSP thành servlet. File biên d ch .ị ự ế ể ị

biên d ch trang ch di n ra m t l n. N u trang đã biên d ch và sau đó chúng taị ỉ ễ ộ ầ ế ị

không có thay đ i gì trong trang ngu n thì quá trình biên d ch s không x y ra,ổ ồ ị ẽ ả

do đó t c đ th c thi trang s nhanh h n. Sau khi trang đã đ c biên d ch, mãố ộ ự ẽ ơ ượ ị

trang s đ c n p vào b nh đ th c thi.ẽ ượ ạ ộ ớ ể ự

N p trangạ

K t giai đo n này, quá trình n p trang t ng t nh servlet. Ch cóể ừ ạ ạ ươ ư ư ỉ

m t khác bi t đó là servlet ch đ c n p m t l n trong khi mã trang JSP m c dù đãộ ệ ỉ ượ ạ ộ ầ ặ

biên d ch nh ng ph i n p l i nhi u l n m i khi Web server nh n đ c yêuị ư ả ạ ạ ề ầ ỗ ậ ượ

c u trang t trình duy t.ầ ừ ệ

Kh i t oở ạ

Khi n p mã trang thành công, Web server s g i đ n ph ng th c kh iạ ẽ ọ ế ươ ứ ở

t o trang. Và m c dù, JSP đ c biên d ch ra servlet nh ph ng th c kh i t oạ ặ ượ ị ư ươ ứ ở ạ

cho trang JSP l i mang tên jspInit () ch không ph i là init () nh servlet.ạ ứ ả ư

Th c thiự

Sau quá trình kh i t o, Web server s g i đ n ph ng th cở ạ ẽ ọ ế ươ ứ

_jspService (). Ph ng th c _jspService s chuy n cho chúng ta hai l p đ iươ ứ ẽ ể ớ ố

t ng HttpServletRequest và HttpServletResponse đ đ c và ghi k t xu t trượ ể ọ ế ấ ả

v trình khách.ề

D n d pọ

Khi trang JSP đã th c thi xong, trình ch Web server s g i ph ngự ủ ẽ ọ ươ

th c jspDestroy () đ gi i phóng mã trang kh i b nh . T ng t nh trongứ ể ả ỏ ộ ớ ươ ự ư

servlet, chúng ta có th cài đ t ph ng th c jspDestroy () th c hi n ch cể ặ ươ ứ ự ệ ứ

n ng gi p phóng vùng nh ho c đóng k t n i tr tài nguyên v cho h th ng.ă ả ớ ặ ế ố ả ề ệ ố

Do mã trang JSP khi th c thi đ u đ c biên d ch ra servlet cho nên t t cự ề ượ ị ấ ả

nh ng gì servlet làm đ c c ng đ ng ngh a v i trang JSP làm đ c. Vi t trangữ ượ ũ ồ ĩ ớ ượ ế

JSP đôi lúc đ n gi n h n vi t servlet vì không c n ph i qua b c đ ng ký vàơ ả ơ ế ầ ả ướ ă

biên d ch th công. Tuy nhiên chúng ta c ng nên bi t m t s tr ng h p phânị ủ ũ ế ộ ố ườ ợ

bi t gi a JSP và servlet và cách s d ng chúng.ệ ữ ử ụ

JSP có th tr n l n mã Java v i các th HTML cho nên thi t k trang JSPể ộ ẫ ớ ẻ ế ế

th ng đ n gi n và d b sung h n so v i servlet. Tuy nhiên đây c ng là y u tườ ơ ả ễ ổ ơ ớ ũ ế ố

không nên l m d ng đ i v i JSP. N u chúng ta t p trung t t c mã Java vàoạ ụ ố ớ ế ậ ấ ả

c ng v i mã HTML, m t khi d án m r ng và tr nên ph c t p, vi c b o trì vàũ ớ ộ ự ỡ ộ ở ứ ạ ệ ả

nâng c p ng d ng Web v i hàng tr m trang JSP s r t khó kh n. Trong quáấ ứ ụ ớ ă ẽ ấ ă

trình phát tri n ng d ng Web theo nhóm, vi c tr n l n mã JSp s r t khóể ứ ụ ệ ộ ẫ ẽ ấ

kh n. Trong qua trình phát tri n ng d ng Web theo nhóm, vi c tr n l n mãă ể ứ ụ ệ ộ ẫ

Java và HTML trong trang JSP cho th y không hi u qu . Khó có th tách r iấ ệ ả ể ờ

gi a công vi c vi t mã cho ng d ng và nhóm xây d ng giao di n. Mã trangữ ệ ế ứ ụ ự ệ

JSP d ng thu n v n b n nên th ng không che đ c mã ngu n c a logicở ạ ầ ă ả ườ ượ ồ ủ

ch ng trình.ươ

V i servlet, tuy ph i biên d ch và đ ng ký th công v i trình ch nh ngớ ả ị ă ủ ớ ủ ư

bù l i tính b o m t cao h n. Chúng ta ch c n cung c p cho trình ch Webạ ả ậ ơ ủ ầ ấ ủ

server b n servlet nh phân (file .class) đã qua b c biên d ch mã không c n đ nả ị ướ ị ầ ế

mã ngu n c a servlet ban đ u. M c khác, các servlet có th t ng tác liên hoàn,ồ ủ ầ ặ ể ươ

v i nhau đ t o nên nh ng k t xu t tùy bi n và đa d ng tr c khi tr k t quớ ể ạ ữ ế ấ ế ạ ướ ả ế ả

v cho trình khách. Servlet có th phân rã các đ n th c a d án và phát tri n đ cề ể ơ ể ủ ự ể ộ

l p nhau nh các thành ph n riêng bi t đ ráp l i trong m t t ng th chung.ậ ư ầ ệ ể ạ ộ ổ ể

Tuy nhiên, vi c k t xu t trong servlet th ng d a vào ph ng th c print ()ệ ế ấ ườ ự ươ ứ

ho c println (). Công vi c quy t đ nh giao di n cho k t xu t hoàn toàn phặ ệ ế ị ệ ế ấ ụ

thu c vào l p trình viên v i hàng lo t các l nh print () hay println () r t khóộ ậ ớ ạ ệ ấ

Quy t đ nh s d ng JSP, Servlet hay k t h p c hai là tu vào t ng dế ị ử ụ ế ợ ả ỳ ừ ự

án và m c đích c a ch ng trình mà chúng ta mu n phát tri n. Thông th ng đ iụ ủ ươ ố ể ườ ố

v i nh ng d án nh , yêu c u th i gian nhanh, JSP là l a ch n thích h pớ ữ ự ỏ ầ ờ ư ọ ợ

nh t. Tr ng h p v i d án c n s đ c l p và ch thiên v x lý ta nên s d ngấ ườ ợ ớ ự ầ ự ộ ậ ỉ ề ử ử ụ

servlet. Tr ng h p v i d án l n chúng ta nên k t h p c servlet và JSP. Môườ ợ ớ ự ớ ế ợ ả

hình k t h p t t nh t gi a servlet và JSP th ng đ c g i là MCV (Model –ế ợ ố ấ ữ ườ ượ ọ

View – Controler) trong đó servlet đóng vai trò trung tâm đi u khi n (controler)ề ể

đ a ra các quy t đ nh x lý. JSP đóng vai trò th hi n giao di n hay hi n th dư ế ị ử ể ệ ệ ể ị ữ

li u đã x lý. Quy trình tính toán logic c a ng d ng đ c giao l i cho các thànhệ ử ủ ứ ụ ượ ạ

Chương II

Tag Libraries

Tag LibrariesI. I.

Một phần của tài liệu Đồ án công nghệ thông tin ứng dụng công nghệ JSP (Trang 25 - 30)