Chu kỳ sống

Một phần của tài liệu luận văn công nghệ thông tin xây dựng cửa hàng bán linh kiện máy tính trên mạng (Trang 31)

_ Chu kỳ sống của Java Servlet được thiết kế theo hướng đối tượng đơn giản bao gồm:sinh ra,hoạt động và chấm dứt .Khởi đầu thành phần đối tượng Servlet được xây dựng và nạp vào bộ nhớ khi nhận được một yêu cầu từ trình chủ .Sau đĩ chúng phục vụ liên tục hàng loạt các yêu cầu khác cho đến khi phương thức service() hồn tất tác vụ.Tại thời điểm này Servlet sẽ bị hủy giải phĩng khỏi bộ nhớ và hết tác dụng.

_ Điều này giải thích tại sao Servlets thay thế tuyệt vời và hoạt động nhanh hơn ứng dụng GGI .Lý do Servlet chỉ cần nạp một lần và thường trực xử lý yêu cầu ngay trong bộ nhớ.

_ Giao diện được khai báo cho sự thống nhất này là giao diện javax.servlet.Servlet,giao diện Servlet được thiết kế bởi ba phương thức cơ bản thể hiện cho chu kỳ sống.

_ Những phương thức này bao gồm :init(), service() và destroy(),cĩ nghĩa là khởi tạo ,phục vụ,và sau đĩ hủy bỏ.

1./ Nạp servlet

2./ Phương thức khởi tạo hay cịn gọi là phương thức init().

_ Phương thức init() là thời điểm bắt đầu của servlet.Chúng được gọi tức thời bởi trình chủ Web ngay khi nhận được một yêu cầu cụ thể imit() chỏ được gọi một lần duy nhất.

3./ Phương thức phục vụ hay cịn gọi là service()

_ Phương thức service() điều khiển tất cả các yêu cầu cần dùng.Phương thức này khơng thể thực thi trừ khi phương thức init() đã được thực hiện trước đĩ.

4./ Phương thức hủy hay cịn gọi là destroy()

_ Phương thức này là dấu hiệu kết thúc chu kỳ sống của Servlet .Khi phương thức service() chấm dứt ,servlet dẽ gọi đến phương thức destroy ().Đây là thời điểm mà tất cả tài nguyên được tạo ra phương thức khởi tạo init(0 sẽ bị xĩa và giải phĩng khỏi bộ nhớ.

III - Ưu điểm servlet

_ Servlet cung cấp một số thuận lợi sau: tính bảo mật cao,hiệu quả và dễ dàng với người sử dụng.Và đây là một số ưu điểm :

(1) Cĩ thể chạy trong nhiều luồng đồng thời.

(2) Đơn giản vì chúng khơng u cầu sự lắp đặt phần mềm khác hơn là một trình duyệt Web.

(3) Mặc dù người phục vụ HTTP khơng gắn liền khả năng để nhớ chi tiết của một địi hỏi trước từ cùng khách hàng ,nhưng servlet cung

Servlet Service 1 Sevice 2 Service 2 Service 3 Service 3 Service 1

Call init() initalization

cấp một phiên theo dõi giao diện lập trình ứng dụng mà nĩ chiến thắng giới hạn này.

(4) Luồng truy cập đến cơng nghệ Java bao gồm kết nối mạng và cơ sở dữ liệu

 JavaServer Page

I – Khái niệm về javaserver page

_ JSP là cơng nghệ rất mạnh để tạo trang HTML động về phía máy trình chủ.JSP là phần mở rộng trực tiếp của java Servlet.Bộ biên dịch JSP sẽ ánh cạ trực tiếp mã JSP thành Servlet .Viết JSP khơng cần phải trải qua quá trình biên dịch tập tin thực thi .class như trong Servlet. JSP cung cấp mơ hình lập trình Web dễ dàng và tiện dụng hơn Servlet .Cơng việc biên dịch trang JSP được tự động thực hiện bởi trình chủ.Nhìn chung ,JSP tồn tại ở 3 dạng sau :

1.> Mã nguồn JSP

_ Đây là dạng mà chúng ta thật sự viết .JSP tồn tại ở dạng tập tin văn bản với phần mở rộng là .jsp và trộn lẫn mã HTML khuơn mẫu.Những chỉ thị và những hoạt động mã Java và JSP làm sao đề phát sinh một trang Web để phục vụ một yêu cầu riêng biệt.

2.> Mã nguồn Java

_ Bộ chứa JSP dịch từ mã nguồn JSP thành mã nguồn cho một java Servlet tương đương như yêu cầu.Mã nguồn này được lưu theo một cách đặt trưng trong nơi làm việc và thường hữu dụng cho việc gỡ rối.

3.> Lớp Java được biên dịch

_ Giống như bất kỳ lớp java khác,mã java Servlet được phát sinh được chuyển thành mã byte trong tập tin .class,sẳn sàng được tải về và sẳn sàng được thực hiện.

_ Bộ chứa JSP quản lý mỗi dạng trong những dạng của trang JSP theo một cách tự động hĩa.Để đáp lại yêu cầu của HTTP,bộ chứa JSP kiểm tra để biết nếu tập tin nguồn .jsp đã được biên dịch từ nguồn java được biên dịch lần cuối.Nếu đúng ,bộ chứa dịch lại nguồn JSP thành nguồn java và biên dịch lại nĩ.Mơ hình 2.3.1 sẽ mơ tả tiến trình được sử dụng bở bộ chứa JSP.Khi một yêu cầu từ trang JSP được tạo ra,đầu tiên bộ chứa quyết định tên lớp phù hợp với tập tin .jsp. Nếu lớp khơng tồn tại hoặc cũ hơn tập tin .jsp(nghĩa là nguồn JSP đã được thay đổi khi nĩ được biên dịch lần cuối),sau đĩ bộ chứa tạo ra mã nguồn java cho servlet tương đương và biên dịch nĩ.Nếu một servlet chưa chạy ,bộ chứa tải lớp servlet và tạo ra thực thẻ .Cuối cùng bộ chứa gửi luồng để xử lý yêu cầu HTTP hiện thời trong thực thể được tải về.

Sơ đồ 2.3.1 Lơgic được sử dụng bởi một bộ chứa JSP để quản lý bản dịch JSP Start Determine class name Does class already exist? Class newer than JSP? Instance already running Send request to this íntance End Transtate source

into Java servlet source

Compile servlet source code into class

file

Load class and create íntance

II - Ưu điểm JavaServer pages

_ JSP cĩ tất cả các lợi thế của Java Servlet.Thêm vào đĩ,JSP cĩ những ưu điểm của mình :

(1) Nĩ tự động được biên dịch lại khi cần thiết.

(2) Viết địa chỉ trang JSP thì đơn giản hơn việc viết địa chỉ của trang Servlet

(3) Bởi vì trang JSP giống trang HTML,nên chúng cĩ tính tương thích lớn hơn với những cơng cụ phát triển mạng.

 So sánh giữa JSP và Servlet :

Đặc tả JSP cung cấp rất nhiều thẻ cho phép người dùng tuỳ biến khi nhúng lệnh Java trong trang JSP . Các thẻ này sẽ kết hợp với các lệnh hay thẻ chuẩn HTML để tạo ra kết xuất cuối cùng trả về trình khách .

Các chức năng của trang JSP hồn tồn giống với servlet tuy nhiên bạn khơng cần phải biên dịch trang JSP bằng tay .Trình chủ Web server sẽ thực cơng việc này hộ bạn . Như vậy , viết trang JSP đơn giản hơn viết servlet .Nếu đem so sánh bạn sẽ thấy rằng , khi viết servlet bạn phải tự tạo đối tượng luồng xuất java.io.PrintWriter out = resp.getWriter ( ); để kết xuất kết quả trả về cho trình khách .Trong khi đĩ nếu viết trang JSP thì khơng cần phải thực hiện điều này . Bộ diễn dịch JSP đã tạo sẵn đối tượng out cho bạn sử dụng . Thật ra thì trang JSP được biên dịch thành servlet phía sau hậu trường , kết xuất của trang JSP thật ra là kết xuất của servlet . Tuỳ theo mỗi trình chủ khác nhau ( như JRun , Web Logic ….) mà sẽ cĩ các tập tin diễn dịch .jsp ra servlet khác nhau . Theo cơ chế của JSP , bạn khơng cần phải quan tâm đến những tập tin phụ này . Nếu bạn xố các tập tin này đi ,trình chủ sẽ tự động tạo mới lại . Theo cơ chế này thì trang JSP cĩ thể phải

thực hiện chậm hơn servlet thuần tuý , nhưng chỉ là lần đầu khi trang JSP được biên dịch .Ở lần triệu gọi kế tiếp từ máy khách , trình chủ khơng cần dịch lại trang JSP nữa ( trừ khi cĩ thay đổi nội dung trang JSP ) . Mã JSP lúc này là mã Java nhị phân (byte-code) được gọi thực thi trực tiếp .Chính vì lý do này , trang .jsp xét về tốc độ sẽ nhanh hơn hẳn các trang web thực hiện cơ chế diễn dịch như . asp ( Active Server Page ) cuả Microsoft hay .pl của trình CGI Perl . Đây là lý do mà đề tài chọn cơng nghệ JSP .

Viết trang JSP đơn giản hơn viết Servlet và bạn hồn tồn cĩ thể tận dụng mọi chức năng của Servlet bên trong trang JSP . Tuy nhiên ,servlet thường được xem như những đối tượng thành phần (component ) nhúng vào trình chủ (tương tự đối tượng ActiveX hay COM của Microsoft ). Chính vì vậy servlet thường được dùng cho các chức năng xử lý phức tạp như : giao tiếp với Applet phía trình khách, thực hiện bảo vệ tài nguyên ,chứng thực mật khẩu … Trong khi đĩ trang JSP được dùng cho các thao tác truy xuất hay xử lý đơn giản như trình bày giao diện , định dạng trang HTML , triệu gọi các thành phần JavaBean hay servlet khác . Như vậy , kết hợp JSP và Servlet là cách tốt nhất khi bạn chọn phát triển ứng dụng Web bằng Java phía máy chủ .

Các thẻ lệnh của JSP :

JSP cung cấp các thẻ lệnh giúp tạo trang web .Cũng tương tự như thẻ HTML , thẻ lệnh JSP bao gồm thẻ mở và thẻ đĩng . Thực sự các thẻ JSP được xây dựng theo đặc tả và chuẩn XML ( Extension Markup Language ) nên cĩ hơi khác với thẻ HTML vì chuẩn XML khơng xem chữ hoa và chữ thường giống nhau . Mỗi thẻ cĩ các thuộc tính quy định cách dùng thẻ .

a- Thẻ <jsp:scriptlet> hay <% %>

Thẻ này cho phép đặt các đoạn mã lệnh Java ở giữa cặp thẻ tương tự một chương trình java thơng thường .

b- Thẻ khai báo và thực hiện biểu thức <%! , <%=

Thẻ này dùng để khai báo một biến dùng cho tồn trang jsp .Biến khai báo phải đúng theo cú pháp của ngơn ngữ Java . Thẻ <%= được dùng để hiển thị một biểu thức .

c- Thẻ nhúng mã nguồn <%@ include file %>

Với thẻ này cĩ thể nhúng một trang .html vào trang jsp hiện hành . Thẻ này tương tự chỉ dẫn #include trong ngơn ngữ C . Cú pháp đầy đủ của thẻ này là :

<%@ include file = “URL or FilePath “ %>

d- Thẻ chỉ dẫn biên dịch trang <%@ page %>

Thẻ này chỉ dẫn một số tính chất biên dịch áp dụng cho tồn trang jsp .Cĩ thể sử dụng thẻ này để khai báo các thư viện import của java , chỉ định tuỳ chọn trang jsp cĩ cần giữ trên cache bộ nhớ của trình chủ để tăng tốc hay khơng …

e- Thẻ chuyển hướng <jsp:forward>

Thẻ này giúp chuyển hướng trang Web sang địa chỉ khác . Ví dụ , khi xử lý trang nhận dữ liệu đăng nhập (login page ) bạn kiểm tra mật khẩu , nếu hợp lệ bạn chuyển người dùng đến trang tài nguyên cho phép truy cập . Nếu khơng hợp lệ , bạn chuyển người dùng đến trang thơng báo lỗi

f- Thẻ sử dụng thành phần Bean <jsp:useBean>

Bạn cĩ thể tự tạo các lớp đối tượng Java và triệu gọi chúng từ bên trong trang jsp . Hướng theo cơng nghệ thành phần (component ) Java gọi những đối tượng cĩ thể gắn vào những ứng dụng là thành phần Bean .

g- Thẻ đặt thuộc tính cho Bean <jsp:setProperty>

Thẻ này được sử dụng để triệu gọi một phương thức nào đĩ của Bean . h- Thẻ lấy thuộc tính của Bean <jsp:getProperty>

Ngược với thẻ <jsp:setProperty , thẻ <jsp:getProperty> dùng để lấy về nội dung của một thuộc tính .

Các đối tượng mặc định của trang JSP :

 Trang diễn dịch JSP cho phép sử dụng một số đối tượng đã khai báo trước .Điều này giúp viết mã lệnh trong trang jsp nhanh hơn servlet .

 Đối tượng out : xuất phát từ lớp PrintWriter . Bạn cĩ thể sử dụng đối tượng này để định dạng kết xuất gửi về máy khách .Ví dụ:<% out.println(“Result”+7*3;%>

 Đối tượng request :xuất phát từ lớp HttpServletRequest.Đối tượng

này giúp lấy về các tham số hay dữ liệu do trình khách chuyển lên .

 Đối tượng response : tương tự đối tượng out , đối tượng response dùng để đưa kết xuất trả về trình khách . Tuy nhiên , dối tượng out được

dùng thường xuyên hơn .out hỗ trợ thêm luồng đệm để tăng tốc kết xuất

 Đối tượng session : xuất phát từ lớp HttpSesssion . Sử dụng đối tượng session để theo dõi kết nối và lưu vết một phiên làm việc giữa trình khách

Truy xuất cơ sở dữ liệu trong trang JSP :

Cĩ thể dễ dàng dùng trình JDBC để truy xuất cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu SQL Server .

Trang JSP triệu gọi đối tượng RMI ,CORBA :

Bởi vì trang JSP chứa hầu như tồn bộ mã Java cho nên bạn cĩ thể triệu gọi đối tượng phân tán như RMI hay CORBA theo cách rất tự nhiên . Nghĩa là sau khi thiết lập được đối tượng RMI , chẳng hạn vsc thì bạn phải cĩ trang web vsc.jsp để triệu gọi đối tượng vsc từ phía trình duyệt ở máy chủ.

Trên đây đã giới thiệu kỹ thuật lập trình web bằng trang jsp . Cĩ thể dùng các cơng cụ như : NotePad , DreamWaver … để viết trang JSP , trong đề tài cơng cụ NotePad được sử dụng . Với JSP bạn cĩ thể nhúng lệnh Java vào trang Web kết hợp với các thẻ HTML truyền thống . JSP thay cho Servlet và dễ sử dụng hơn servlet . Tuy nhiên kết hợp giữa trang jsp và cơng nghệ component của servlet là cách tốt nhất để xây dựng những ứng dụng web mạnh mẽ phát huy tác dụng ở cả hai phía khách / chủ.

 JAVABEAN

I - Khái niệm về JavaBean

_ JavaBean là một thành phần java 100% mà làm việc trên bất kỳ máy ảo nào. Nĩ là một lớp Java dùng lại được.Khi chúng ta nhúng nhiều mã java hơn trong JSP,người phát triển Java phải vật ngã người thiết kế trang cho sự truy nhập xuống trang.Thật khĩ hơn để đọc mã Java khi nĩ pha trộn bên trong với HTML.Cách mà chúng ta cĩ thể giữ mã java của chúng ta riêng biệt từ JSP sẽ sử dụng một javaBean.

_ Yêu cầu tối thiểu nhất để tạo nên thành phần JavaBean là:cơng cụ và trình biên dịch JDK 1.1 trở lên.JavaBean cĩ thể sử dụng các phương thức get/set để lấy về và đặt thuộc tính cho đối tượng Bean mà nĩ thể hiện.

_ Để tạo ra lớp đối tượng JavaBean bằng cách cài đặt giao tiếp java.io.Serializable của Java.Tiếp đến ,bạn thiết lập và xây dựng các phương thức mang tên get/set để trình bày cách gọi những thuộc tính của Bean trong trang JSP.Tất cả các sự truy nhập tới Bean phải được thơng qua những phương pháp này;trường dữ liệu nằm bên dưới là bảo mật.Những thuộc tính này cĩ dạng getVariableName() và setVariableName().cả hai thuộc tính cĩ thúc đẩy các hoạt động phức tạp tùy ý.Điều này cĩ nghĩa là bean hoạt động như một hộp đen huyền bí.Mơ hình của JavaBean được minh họa trong hình 2.6.1

II - Ưu điểm JavaBean

_ Hai thứ mà JavaBean đặt biệt sử dụng.Trước hết khơng chỉ các nhà lập trình Java mà cịn các nhà phát triển JSP cần biết đến tính năng mở rộng của JavaBean để sử dụng chúng.Điều hữu ích thứ hai là nĩ khơng quan trọng cái gì chúng làm như khơi phục hoặc thay đổi một thuộc tính.Cĩ thể yêu cầu để cĩ được một thuộc tính thì địi hỏi JavaBean phải tìm kiếm một vài thơng tin nào đĩ trong cơ sở dữ liệu.

“JavaBean lợi dụng một vài yêu cầu mà nhà phát triển mạng cĩ thể tìm thấy hữu ích.Bởi vì tất cả bean phải cĩ phương thức set/get với đối số zero và khơng nên phơi bày bất kỳ thuộc tính nào,bởi những tiêu chuẩn này làm cho nĩ dễ dàng đưa JavaBean vào mơi trường mạng trên nền tảng Servlet.

getProperty1() setProperty1() getProperty2() setProperty2() getProperty3() getProperty4() setProperty4() Mơ hình 2.6.1

III - THÊM JAVABEAN VÀO JSP

_ Để dử dụng JavaBean vào trong trang JSP,cĩ ba thẻ chuan được định nghĩa để kết hợp JavaBean:một thẻ dùng để định vị hoă tạo một JavaBean trong phạm vi xác định, một thẻ khác dùng để đặt thuộc tính cho bean và cuối cùng là thẻ lấy về giá trị thuộc tính của Bean.Bảng sau đây liệt kê danh sách cú pháp mà cĩ thể sử dụng JavaBean trong trang JSP.

Mục đích Cú pháp Định nghĩa Bean <jsp:useBean id=”name” scope=”page|request|session|application”class=”className ”/> Đặt thuộc tính cho Bean <jsp:setProperty name=”beanName”prop_expr/> Lấy giá trị thuộc tính của Bean <jsp:getProperty name=”beanName”property=”property=”propertyName/> The Bean Property4(Stored in adatabase) Data Property1(Stored in memory) Property2(Stored in memory,and changes property3) Property3

Cú pháp sử dụng JavaBean trong trang JSP

_ Thuộc tính scope cho biết mơi trường sống của đối tượng .Phạm của khai báo mà thành phần Bean cĩ hiệu lực bao gồm:

(1) Page :bean chỉ cĩ hiệu lực và phạm vi truy xuất trong trang khai báo nĩ .

(2) Request : Cĩ hiệu lự trong một lần yêu cầu từ phía máy khách ) (3) Session :Cĩ hiệu lực trong thời gian thực hiện bất kỳ trang JSP hoặc java servlet trong phiên HTTP này.

(4) Application :Cĩ hiêụ lực trong bất kỳ trang JSP hoặc Java Servlet trong ứng dụng mạng.

CHƯƠNG 3

PHÂN TÍCH VÀ HIỆN THỰC CỬA HÀNG BÁN LINH KIỆN MÁY TÍNH TRÊN MẠNG

3.1 KHẢO SÁT HỆ THỐNG BÁN HÀNG QUA MẠNG

_Hiện nay, việc buơn bán đã phát triển khơng ngừng và trở thành nhịp cầu nối giữa các tỉnh thành trong cả nước cũng như trên thế giới.việc giao

Một phần của tài liệu luận văn công nghệ thông tin xây dựng cửa hàng bán linh kiện máy tính trên mạng (Trang 31)

Tải bản đầy đủ (PDF)

(96 trang)