Tài liệu Using and deploying web applications

  • Số trang: 21 |
  • Loại file: PDF |
  • Lượt xem: 292 |
  • Lượt tải: 0
tranphuong

Đã đăng 59174 tài liệu

Mô tả:

LẬP TRÌNH ỨNG DỤNG MẠNG Sử dụng và triển khai các ứng dụng web (Using and Deploying Web Applications) GVHD : Th.s Nguyễn Quang Minh Giới thiệu tổng quan Ý tưởng của các ứng dụng web  Mục đích của ứng dụng Web  Cấu trúc của một ứng dụng Web  Thiết lập các ứng dụng web với Tomcat  Chia sẻ dữ liệu giữa các ứng dụng Web Ý tưởng của các ứng dụng web  Thư mục đơn hoặc tập tin (Single directory or file) Servlets, JSP pages, HTML files, utility classes, beans,..... được đi kèm với nhau trong một hệ thống phân cấp thư mục duy nhất hoặc một tập tin  Tiền tố URL phổ biến (Common URL prefix) Khi Truy cập nội dung trong các ứng dụng web thì luôn luôn phải thông qua một URL có một tiền tố phổ biến  Web.xml kiểm soát nhiều thứ Nhiều khía cạnh của hành vi ứng dụng Web được kiểm soát thông qua web.xml. Mục đích của ứng dụng Web  Cách tổ chức (Organization)    Tập tin liên quan được nhóm lại với nhau trong một tập tin duy nhất hoặc thư mục hệ thống phân cấp. (HTML files, JSP pages, servlets, beans, .....) Tính linh động (Portability)  Tất cả các máy chủ đều hỗ trợ các ứng dụng web.  Có thể triển khai trên máy chủ mới bằng cách di chuyển một tập tin duy nhất. Khả năng phân tách (Separation)  Mỗi ứng dụng web có những cái riêng của nó • ServletContext • Class loader • Sessions • URL prefix • Cấu trúc thư mục Cấu trúc của một ứng dụng Web  JSP and regular Web content (HTML style sheets images etc ): •  Servlets: •  WEB-INF Tag Library Descriptor files: •  WEB-INF/lib. web.xml: •  Cùng một vị trí như servlets JAR files: •  Thư mục con của nó phải phù hợp với tên gói. Utility classes: •  Nội dung của web thông thường nằm trong thư mục chính hoặc thư mục con của nó. WEB-INF hoặc thư mục con của nó Files in WEB-INF notdirectly accessible to clients • Server can use RequestDispatcher to forward to pages in WEB-INF Ví dụ: Cài đặt Eclipse  Tải xuống  http://www.eclipse.org/downloads/ • Chọn "Eclipse IDE for Java EE Developers"   Cài đặt  Giải nén tập tin tải về  Tạo shortcut của eclipse.exe trên màn hình Tích hợp Tomcat trong Eclipse  http://www.coreservlets.com/Apache-Tomcat-Tutorial/eclipse.html Cấu hình Eclipse   Chắc chắn là Eclipse nhận diện được Tomcat  Click on Servers tab at bottom. R-click in window.  New, Server, Apache, Tomcat v6.0, Next, navigate to folder, Finish. Ngăn chặn cảnh báo trình biên dịch không cần thiết  Window →Preferences →Java →Compiler →Errors/Warnings • Change "Serializable class without ..." to "Ignore" Tạo ứng dụng Web trong Eclipse   Tạo Project trống  File →New →Project →Web →Dynamic Web Project  Give it a name (e.g., test )  Accept all other defaults Tạo shortcut  Nếu bạn đã tạo Dynamic Web Project gần đây trong workspace bạn có thể thao tác như sau : • File →New →Dynamic Web Project Thêm code vào projects  Vị trí  src – src Unpackaged Java code Packages strongly recommended  src/somePackage Java code in somePackage package  WebContent Web files (HTML, JavaScript, CSS, JSP, images, etc.)  WebContent/some-subdirectory Web content in subdirectory  WebContent/WEB-INF web.xml (will be discussed later) Can also click on "Deployment Descriptor"  Chú ý: Can cut/paste or drag/drop files into appropriate locations Khởi động server trong eclipse   Khởi động Tomcat  Select "Servers" tab at bottom  R-click on Tomcat  Choose "Start" Xác nhận server đã được khởi động  Open browser Open browser  Enter http://localhost/ -You should see blank directory listing If you want pretty Tomcat welcome page, search for a folder called ROOT in your Eclipse workspace. Copy files from C:\tomcat-dir\webapps\ROOT to that folder Triển khai ứng dụng   Triển khai project  Select "Servers" tab at bottom  R-click on Tomcat  Choose "Add and Remove Projects"  Choose project  Press Add  Click "Finish" Khởi động lại Server  R-click Tomcat at bottom  Restart Kiểm tra các ứng dụng đã triển khai  Khởi động trình duyệt   Kiểm tra cơ sở URL   Eclipse also has built in browser – Eclipse also has built in browser, but I prefer to use Firefox or Internet Explorer http://localhost/test/ Kiểm tra nội dung  http://localhost/test/Hello html – http://localhost/test/Hello.html (case sensitive!)  http://localhost/test/Hello.jsp  If you used subdirectories you used subd ecto es • http://localhost/test/some-subdirectory/blah.html  Kiểm tra servlets  http://localhost/test/servlet/HelloServlet  http://localhost/test/servlet/coreservlets.HelloServlet2 • Note: custom URLs discussed in next section Chia sẻ dữ liệu trong ứng dụng Web   Thất bại:  Sessions: Mỗi ứng dụng web đã thiết lập riêng của sessions  Standard ServletContext: Mỗi ứng dụng web có một tiêu chuẩn riêng biệt.  Static methods or fields: Mỗi ứng dụng web sử dụng một ClassLoader khác nhau Thành công:  Explicit cookies: Cookie được chia sẻ bởi toàn bộ trang web (thậm chí toàn bộ tên miền cấp cao nhất nếu đặt thích hợp)  ServletContext associated with a specific URL: ServletContext myContext = getServletContext(); String url = "/someWebAppPrefix"; ServletContext otherContext =myContext.getContext(url); Object someData = otherContext.getAttribute("someKey"); Truy cập dữ liệu của ứng dụng Web  Trường hợp 1:  SetSharedInfo run  ShowSharedInfo from shareTest1 also run from shareTest1  Results:  Found: session data  Found: servlet context data from normal servlet context.  Found: servlet context data when explicitly requesting servlet context from shareTest1  Found: all cookies Truy cập dữ liệu của ứng dụng Web  Trường hợp 2:  SetSharedInfo run from shareTest1 from shareTest1  ShowSharedInfo run from shareTest2  Results • Not found: session data • Not found: servlet context data from context data from normal servlet context • Found: servlet context data when explicitly requesting servlet context from shareTest1 • Not found: cookies that had default path • Found: cookies with /as path
- Xem thêm -