Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 145 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
145
Dung lượng
1,04 MB
Nội dung
ĐỒ ÁN: LẬP TRÌNH JSP TECHNOLOGY LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com P hần I: J SP TECHNOLOGY Chương I: CĂN BẢN VỀ JSP JavaServer Pages (JSP) kỹ thuật server-side khơng thể thực hành động client JSP cho phép tách thành phần động trang khỏi thành phần tĩnh HTML Rất đơn giản, cần viết tài liệu HTML bình thường sau bao quanh mã thành phần động tag đặc biệt, hầu hết tag bắt đầu với Ví dụ, phần trang JSP, có kết trả “Thanks for reading jsp book.” với URL http://www.jsp.com/thank.jsp?title=jsp Thanks for reading book Kỹ thuật JSP thành phần đại gia đình Java; sử dùng ngôn ngữ kịch dựa vào ngôn ngữ lập trình Java, trang JSP biên dịch thành servlets Từ nhận biết được, JSP khơng phụ thuộc (platform) Nó đáp ứng khuynh hướng Sun MicroSystem “write one, run anywhere” Các trang JSP gọi thành phần JavaBeans, Enterprise JavaBeans (EJB) custom tags để thực xử lý server Và thế, kỹ thuật JSP thành phần chủ chốt kiến trúc khả chuyển Java cho ứng dụng dựa vào Web Như biết, JSPs biên dịch thành servlets JSP khơng thể thay servlet lý sau: - Một số tác vụ giải tốt servlet Ví dụ, ứng dụng xuất liệu nhị phân xác định nơi gởi trở lại cho người dùng (bằng cách dùng response.sendRedirect) dùng servlet tốt LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Một số tác vụ khác lại giải tốt JSP tình mà cấu trúc tảng trang HTML cố định giá trị lại thay đổi - Còn tác vụ lại cần kết hợp servlet JSP Ví dụ, yêu cầu gốc trả lời servlet mà thực công việc, lưu trữ kết Beans điều phối yêu cầu đến trang JSP hiển thị Cả ba định hướng có chổ đứng Chẳng có định hướng hổ trợ đầy đủ cho ứng dụng Trước vào chi tiết cơng nghệ JSP, chúng tơi có vài so sánh công nghệ sử dụng ứng dụng với công nghệ khác I Một số so sánh công nghệ sử dụng với công nghệ khác? MySQL Server MySQL hệ quản trị sở liệu quan hệ Cơ sở liệu tập liệu có cấu trúc lưu trữ bảng riêng biệt, bảng lưu ba files với tên sở liệu tên thư mục chứa files SQL viết tắt từ Structured Query Language, ngôn ngữ chuẩn phổ biến để truy cập sở liệu Sau số ưu nhược điểm MySQL với hệ quản trị sở liệu khác: a) Ưu diểm - Chạy nhiều khác Unix, Windows, MacOS, … - MySQL hệ quản trị nhanh, nhỏ gọn Các script files chạy số hệ quản trị khác MS SQL Server, Oracle LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Theo số web site thống kê, việc thực lệnh insert, update, delete nhanh hệ quản trị - Miễn phí mã nguồn mở (open source code) b) Khuyết điểm - Chưa hổ trợ số chuẩn ANSI SQL92 không cho câu select lồng nhau, select into table, khoá ngoại, triggers, stored procedures,… - Khơng có mơi trường đồ hoạ So sánh JSP với công nghệ khác a) JSP với ASP ASP công nghệ tương đương từ Microsoft JSP có ba lợi so với ASP - Phần động viết Java, ngơn ngữ script VBScript, JavaScript Vì mạnh mẽ tốt ứng dụng phức tạp cần thành phần sử dụng lại - JSP chạy nhiều hệ điều hành web servers khác với IIS Microsoft (cần có plugins từ Webphere, JRun, ) - Hổ trợ mở rộng tag với custom tag b) JSP với PHP Lợi điểm JSP với PHP với ASP JSP viết Java mà biết với API mở rộng cho mạng, truy cập sở liệu, LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com đối tượng phân tán, … với PHP địi hỏi phải học ngơn ngữ Tầm quan trọng XML với XSLT a) XML XML tập SGML, kết hợp tính linh động sức mạnh SGML với số tính hữu ích HTML Vì XML tập SGML nên tương thích với hệ thống dựa vào SGML có XML lực đẩy cho nghi thức internet phần mềm để dễ dàng xử lý truyền liệu Ở nói XML tập SGML HTML cài đặt SGML, mơ hình sau diễn tả mối quan hệ ngôn ngữ siêu ngôn ngữ: Metalanguages Languages ImplementationHTML SGML CDF subset SMIL XML CML MML Implementation LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CDF : Channel Difinition Format – cho phép tác giả Web sites cho phép người đăng ký biết Web site thay đổi, CDF giới thiệu IE4 làm việc với IE Microsoft SMIL : Synchronized Multimedia Integration Language – sử dụng để đồng hóa dịng liệu đa truyền thơng truyền qua internet CML : Chemical Markup Language – mô tả cơng thức hóa học MML: Mathematical Markup language- mơ tả phương trình, biểu thức tốn học Tính tự mơ tả liệu XML : tags mô tả vấn đề, đối tượng gần gủi với giới thực Chúng ta thấy rõ với hai ví dụ sau, ví dụ minh họa nên cịn thiếu nhiều thuộc tính giới thực : Ví dụ với HTML tags Giang Le Dinh Number id : 0750 Age : 22 Ví dụ với XML tags Giang Le Dinh 0750 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - XML có mối quan hệ chặt chẽ với JSP, đặt tả JSP hổ trợ cú pháp XML, trộn lẫn mã chúng với dễ dàng JSP với HTML dùng JSP tự động phát sinh trang XML - Hiện có nhiều sản phẩm quản trị sở liệu mà sản phẩm có đặc tính riêng nó, sở liệu khác cần chuyển đổi liệu không tương thích Vì người làm cơng việc cần phải biết nhiều sản phẩm quản trị sở liệu khác Do XML định dạng chuẩn mà hệ quản trị cần hổ trợ Hiện có nhiều hệ quản trị lớn hổ trợ XML MS SQL Server, Oracle, … b) XSLT Extensible Stylesheet Language Transformation (XSLT) ngôn ngữ tách từ ngôn ngữ XSL, “XSLT ngôn ngữ dùng để chuyển đổi XML document thành XML document khác” Nó viết XML, điều có nghĩa chuyển đổi XSLT trình bày wellformed XML document XSLT đóng vai trị quan trọng hướng phát triển “phát sinh ngôn ngữ markup hướng người dùng” II JSP scripting elements Các scripting elements JSP cho phép chèn mã vào servlet mà phát sinh từ trang JSP Có ba dạng sau: - Biểu thức có dạng , định giá trị chèn vào luồng xuất servlet - Scriptlet có dạng , chèn vào phương thức _jspService servlet (được gọi service) - Khai báo có dạng , chèn vào thân lớp servlet, field lớp thông thường LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Template text Trong nhiều trường hợp, phần lớn trang JSP bao gồm HTML tĩnh, biết template text Có hai ngoại lệ phụ cho quy tắc “template text chuyển thẳng sang HTML tĩnh” Đầu tiên, muốn có Java code LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Java code Java code Các biến định nghĩa sẵn JSP Để đơn giản hoá mã biểu thức hay scriptlets JSP, người ta cung cấp cho chín đối tượng định nghĩa trước, có người cịn gọi đối tượng ngầm định Do khai báo JSP nằm phương thức _jspService (được gọi service) nên đối tượng không cho phép khai báo truy cập vào request Biến có kiểu javax.servlet.http.HttpServletRequest, có phạm vi yêu cầu (request) Nó cho phép truy cập vào tham số request loại request (GET, POST, …) incoming HTTP header (cookies) response Có kiểu javax.servlet.http.HttpServletResponse, có phạm vi tồn trang (page) Chú ý luồng xuất thường làm vật đệm cho LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com nên việc gán mã tình trạng HTTP response header hợp lý JSP, điều khơng phép servlet có luồng xuất gởi đến client out Có kiểu javax.servlet.jsp.JspWriter phạm vi trang (page) Dùng để gởi thông xuất đến client Đối tượng out dùng thường xuyên scriptlets, biểu thức tự động đưa vào luồng xuất nên cần tham chiếu đến đối tượng session Có phạm vi phiên truyền (session) kiểu tương ứng javax.servlet.http.HttpSession Gọi phiên truyền tạo tự động biến cịn kết nối chẳng có tham chiếu incoming session Một ngoại lệ sử dụng thuộc tính session page directive để tắc phiên truyền, mà lại cố tham chiếu đến biến session gây lỗi vào lúc trang JSP dịch thành servlet application Biến có kiểu javax.servlet.ServletContext, có phạm vi tồn ứng dụng (application) ServletContext lấy từ đối tượng cấu hình servlet getServletConfig().getContext() Các trang JSP lưu trữ liệu persistent đối tượng ServletContext tốt biến thể ServletContext có phương thức setAttribute setAttribute mà cho phép lưu trữ liệu config LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Hải Chương V : TRIỂN KHAI ỨNG DỤNG Gvhd: Ts Nguyễn Thúc I Các phần mềm cần thiết Đây ứng dụng độc lập nên chạy hệ điều hành khác hệ thống Windows, Unix, … Do cài đặt hệ điều hành thuộc hệ thống phần mềm sau: - Jakarta-Tomcat Servlet/JSP container Thật theo lý thuyết, ứng dụng chạy container hay web server có hổ trợ Servlet/JSP chúng tơi chưa thử nghiệm container khác Jakarta-Tomcat 3.1 - JDK 1.2 trở lên - MySQL Server 3.23.27 beta Hiện 4.0 - JDBC Driver loại bốn hổ trợ cho MySQL Server: mm.msql2.0.4 - Xalan Xerces để chuyển XML thành HTML cách sử dụng XSLT - Một web browser sau: Netscape, Inernet Explorer, Opera tất từ 4.0 trở lên Ứng dụng thử nghiệm web browser - VietKey gõ tiếng việt khác II Triển khai ứng dụng web Ứng dụng web (ứng dụng server-side java) tập trang JSPs, Servlets, HTML tài nguyên khác gói gọn gói LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts Nguyễn Thúc Hải chạy nhiều platform từ nhiều nhà sản xuất khác Ứng dụng Web xác định đường dẫn đặt biệt web server Một ứng dụng web gồm thành phần sau: - JavaServer Pages - Servlets - Các lớp tiện ích - Các tài xml, html, … - Enterprise JavaBean (EJB) ứng dụng xử lý phân tán - Các media images, sounds, … - Các đối tượng client javabeans, applets, lớp, … Mơ hình hoạt động The Web Work The Web Work hoạt động dựa mơ hình ba lớp (3 layer) Sau mơ hình ba lớp tổng qt ứng dụng Web LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Hải Gvhd: Ts Nguyễn Thúc Mô Hình Ứng Dụng Web Lớp Tổng Quát User Service Business Service Data Service Interface (Web Page) Data Web Client Web Server Database Server Internet/Intranet Trên Java hổ trợ hai kỷ thuật xử lý Web động Servlet JSP Do với kỷ thuật tơi có chi tiết hai mơ hình (có thể nhiều hơn) dựa mơ hình ba lớp tổng quát gọi Kiến Trúc Mơ Hình Một Mơ Hình Hai Ứng dụng sử dụng hai mơ hình web Java Kiến Trúc Mơ Hình Một Mơ Hình Hai mà tranh luận sites nỗi tiếng javaworld.com, developer.com, weblogic.com Trong mơ hình một, trang JSP đảm nhận việc xử lý yêu cầu trả kết cho client Ở có tách biệt xử lý thị tất truy cập liệu Beans thực Mơ hình thích hợp cho ứng dụng đơn gian, thích hợp với trang JSP có nhiều mã HTML Xem hình vẽ sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Hải Gvhd: Ts Nguyễn Thúc JS P M ode l A rchite cture K iến trúc m ô hình m ột R equest JSP R esponse Web Client Web Server B ean s D ata S o u rce C u stom Tag Trong mơ hình kiến trúc hai, kết hợp hai kỷ thuật xử lý web động Servlet JSP Mơ hình thích với với ứng dụng có xử lý phức tạp Ở đây, Servlets hoạt động trạm điều khiển (controller) chịu trách nhiệm xử lý yêu cầu khởi tạo components (Beans, Custom Tag) cho JSP sử dụng Mơ hình tách phần xử lý trình bày rỏ ràng JSP Model Architecture Kiến trúc mô hình hai Web Server Servlet (Controller) Kh ởi ta Web Client Request Beans Response ïo JSP (View) Custom Tag Data Source (Model) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Hải Gvhd: Ts Nguyễn Thúc III Hướng dẫn sử dụng Sau cài đặt ứng dụng, bạn mở browser, address bar gõ địa chỉ: htttp://servername:port/work/html/showLogin.html - servername: tên server bạn, máy cục thường localhost - port: số cổng mà web server mở Nếu số port 80 thơng số port khơng cần nhập Nếu bạn sử dụng thường xuyên ứng dụng, bạn nên gán giá trị mật định cho browser với địa Khi bạn mở browser, ứng dụng tự động gọi mà bạn không cần phải gõ địa address bar Thực công việc ba web browser: Internet Explorer, Netscape, Opera sau: - Internet Explorer: Vào Tools menu, chọn Internet Options Trong hộp thoại Internet Options, chọn General tab, khung Home page có Address textbox cho phép bạn gõ địa - Netscape: Vào Edit menu, chọn Preferences… Trong hộp thoại Preferences, chọn navigator hộp thoại category, trang Navigator, chọn Home page button, khung Home Page có Location textbox nhập vào địa - Opera: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts Nguyễn Thúc Hải Vào Navigation menu, chọn Set home page…, input box cho chép bạn nhập địa vào KẾT LUẬN Ứng dụng đáp ứng yêu cầu đề giai đoạn phân tích thiết kế hệ thống Ứng dụng kết hợp công nghệ độc lập JSP, XML, XSLT, MySQL Server chạy nhiều nền, nhiều Web Server nhiều Web Broswer khác Về sở liệu, sơ đồ thực thể kết hợp đạt dạng chuẩn ba Ứng dụng sử dụng hai mơ hình web “Kiến Trúc Mơ Hình Một Hai” – “JSP Model and Architecture” HƯỚNG PHÁT TRIỂN Các hướng phát triển sau làm cho ứng dụng hoàn thiện - Mở rộng ứng dụng với quy mơ lớn hơn, có khả trao đổi liệu xử lý với ứng dụng khác LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts Nguyễn Thúc Hải - Phát triển ứng dụng để download files báo cáo client - Quản lý hình ảnh liên quan cơng việc cho ứng dụng sinh động - Dùng DOM xử lý XML client - Cài đặt ràng buột toàn vẹn database server phiên hệ quản trị sở liệu MySQL (phiên 4.0) Do phiên (đang sử dụng MySQL 3.23.27) khơng hổ trợ khố ngoại, check, rule trigger LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts Nguyễn Thúc Hải DANH SÁCH WEB SERVERS HỔ TRỢ JSP Để chạy JSP cần Web Server sau Hãy xem hướng dẫn cài đặt, nơi đặt JSP files, … để thực thi Web Servers có đầy đủ Web Server download Thuộc Tổ Tên Web Chức / Trang Web Servers Công Ty Jakarta Apache Tomcat Org JavaServer Sun http://jakarta.apache.org/ http://java.sun.com/products/servlet/download.html Web Developmet Micro Kit (JSWDK) system JRun Allaire http://www.allaire.com/products/jrun/ Inc ServletExec New http://newatlanta.com/ Atlanta LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Lite Gvhd: Ts Nguyễn Thúc Hải Gefion http://www.gefionsoftware.com/ Software WebServer Java Web Sun Server Micro http://www.sun.com/software/jwebserver/try/ system WebSphere IBM http://www.ibm.com/ Corp Resin Caucho http://www.caucho.com/ Technolog y LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải BẢNG THUẬT NGỮ action Một element trang JSP tác động lên đối tượng ngầm định đối tượng server-side khác định nghĩa biến kịch (xem element) custom action Một action định nghĩa linh hoạt mô tả thư viện tag tập lớp java đưa vào trang JSP taglib directive declaration Một scripting element mà khai báo method, biến, hai trang JSP Có cú pháp (xem scripting element) directive Một element trang JSP có nhiệm vụ hướng dẫn JSP container thơng dịch vào thời gian runtime Có cú pháp (xem JSP container scripting element) element Trình thơng dịch JSP cơng nhận element thành phần trang JSP Một element directive, action, scripting element Element bắt đầu với start tag, nội dung end tag, khơng có nội dung dùng cú pháp empty tag expression LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải Một scripting element chứa biểu thức ngôn ngữ java đặt vào đối tượng ngầm định out Có cú pháp implicit object Một đối tượng server-side định nghĩa JSP container ln có sẳn trang JSP mà khơng cần khai báo Có đối tượng request, response, pageContext, session, application, out, config, page, exception JSP container Một thực thể cấp hệ thống cung cấp hoạt động, quản lý chu trình sống cho thành phần (conponent) JSP Servlet JSP page implementation class Một lớp ngơn ngữ lập trình java, cụ thể Servlet, trình bày vào thời gian runtime trang nhận đối tượng request trả đối tượng response Lớp cài đặt trang dùng dịch vụ JSP container, gồm Servlet API JSP API persistent Một đối tượng serialization vào đĩa thiết bị lưu trữ khác Persistent có dạng files, RDBMS (Relational database management systems), ODBMS (Object database management systems) reflection Là chế cho phép mã Java tìm thơng tin trường, phương thức hàm tạo lớp tải scripting element LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải Là declaration, scriptlet hay expression, đặt tả JSP định nghĩa thứ theo cú pháp tag Toàn nội dung ngữ cảnh viết theo ngôn ngữ java scriptlet Một scripting element chứa đoạn mã ngôn ngữ kịch trang JSP JSP v1.2 phiên hổ trợ ngôn ngữ java trang JSP Có cú pháp Tuy nhiên có số JSP container hổ trợ ngơn ngữ javascript RESIN serialization Là tiến trình lưu trữ toàn đối tượng vào đĩa thiết bị lưu trữ khác Ngược lại, tiến trình phục hồi đối tượng gọi deserialization servlet Một kỹ thuật server-side viết Java, JSP phát triển dựa tảng servlet tag Gồm đoạn văn nằm cặp dấu , có tên, thuộc tính Có ba loại tag: start tag, end tag, empty tag Ví dụ: content LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải tag handler Một lớp java cài đặt giao tiếp Tag TagBody mà trình bày vào lúc thời gian runtime custom action tag library Một tập custom action mô tả mô tả thư viện tag (tag library descriptor) lớp java tag library descriptor Một tài liệu XML mô tả thư viện tag transient Ngược lại với persistent, hầu hết đối tượng nhớ gọi transient, có nghĩa chúng chết tham chiếu chúng khỏi phạm vi tắc nguồn điện LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp TÀI LIỆU THAM KHẢO Gvhd: Ts.Nguyễn Thúc Hải Năm Loại Tên Tài Liệu Tác Giả Ach1 Servlets and JSP Marty Hall 2000 Sách JSP JavaBeans Framework By IBM 2000 Web site Tag Libraries Tutorial (v 1.0) Sun Microsystem 2000 Web site Xalan 2.0 & Xerces 1.3 (API) By apache.org 2001 Web site XML and Java Hiroshi Maruyama 1999 Sách XML Professional Didier Martin 2000 Sách Luận văn tốt nghiệp Các khóa trước Tài Liệu Web Books CD Rom Giáo trình lý thuyết tập Java Nguyễn Tiến Dũng 1999 Sách LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải (Chủ Biên) Lập trình ứng dụng Web với JSP/ Nguyễn Servlet Phương 2001 Sách Lan – Hồng Đức Hồng Java Lập Trình Cơ Sở Dữ Liệu Nguyễn Tiến 2001 Sách Nguyễn Văn Tâm Nguyễn Văn Hoài LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... công nghệ JSP, chúng tơi có vài so sánh cơng nghệ sử dụng ứng dụng với công nghệ khác I Một số so sánh công nghệ sử dụng với công nghệ khác? MySQL Server MySQL hệ quản trị sở liệu quan hệ Cơ sở... lại component (Beans) JSP: jsp: useBean, jsp: setProperty, jsp: getProperty Các action trình bày chương II LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp Hải Chương II... cú pháp XML Có chín actions chuẩn: jsp: include, jsp: useBean, jsp: setProperty, jsp: getProperty, jsp: plugin, jsp: forward, jsp: fallback, jsp: params, jsp: param giới thiệu mục LUAN VAN CHAT LUONG download