Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
0,92 MB
Nội dung
ÔN TẬP JAVA Nhóm xxx Page 1 Câu 1. Web Server là gì? Bỏ Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia). Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet. Ví du: Apache HTTP Server Vai trò Web Server: - Cung cấp nội dung HTML về browser - Lưu trữ, phục vụ yêu cầu truy xuất đến các trang Web thông qua các giao thức - Xử lý yêu cầu của trình duyệt gửi tới - Khi một người sử dụng tại một địa chỉ IP yêu cầu một file, Web server cố tìm file đó và gửi lại cho người sử dụng. file yêu cầu có thể là mã HTML, ảnh GIF, file AVI - Web server trả trang yêu cầu không quan tâm trang đó là gì và nội dung của nó ra sao. Nếu có lỗi cú pháp, các lỗi này sẽ được trả về. - Một vài Web server hỗ trợ các đặc điểm cao cấp là xử lý các trang Web Câu 2.Web browser là gì? Bỏ - Phần mềm hiển thị nội dung các trang Web, được viết bằng html,gởi yêu cầu lên webserver để lấy một trang HTML về. - Có rất nhiều trình duyệt web khác nhau như Internet Explorer, Mozila Firefox, Opera, Netscape… - Mỗi phần mềm trình duyệt đều có các phiên bản khác nhau, phiên bản mới nhất là phiên bản có nhiều tính năng hơn các phiên bản trước đó. Vai trò của nó - Trình duyệt web dùng để giao tiếp với web server qua giao thức HTTP. - cho phép người sử dụng truy cập và xem các tài liệu HTML. ÔN TẬP JAVA Nhóm xxx Page 2 Câu 3.Phân biệt GET và POST Câu 4.Servlet (Web) container là gì?Liệt kê những chức năng servlet container cung cấp Servlet không có hàm main ,chịu sự điều khiển của ứng dụng java khác gọi là container. Container là trung gian giữa các web server và các servlets trong container Khi ứng dụng web (như Apache) nhận được một yêu cầu cho một servlet ,các server không chuyển các yêu cầu này đến servlet mà lại chuyển đến các container. Container trả http request và http reponse cho servlet, và container đó gọi các phương thức của servlet(như doPost () hoặc doGet) -Một servlet container nổi tiếng là tomcat. GET POST Dữ liệu gửi lên server là một phần trong URL,chưa an toàn Dữ liệu có giới hạn về kích thước Có thể sử dụng HTML Form hoặc Hyperlink để gửi dữ liệu đến server Có nhiều chức năng: nhận, lưu trữ, sửa đổi,bổ sung vào cơ sở dữ liệu Có Cacheable=>thực thi nhanh hơn POST Ứng với cùng 1 yêu cầu đó webbrowser sẽ xem trong cached có kết quả tương ứng với yêu cầu đó ko và trả về ngay không cần phải thực thi các yêu cầu đó ở phía server Dữ liệu không gắn vào URL nên không hiển thị trên URL.Bảo mật hơn ,an tòan hơn Dữ liệu gửi có kích thước không giới hạn Dữ liệu được gửi đến server thông qua HTML Form Tốt nhất sử dụng cho việc nhận dữ liệu Không cacheable. server luôn thực thi và trả về kết quả cho client ÔN TẬP JAVA Nhóm xxx Page 3 Liệt kê những chức năng servlet container cung cấp - Hỗ trợ giao tiếp:Servlet cung cấp 1 cách đơn giản để cho các servlet nói chuyện với các web server mà không cần tạo ra một ServerSocket lắng nghe ở por,tạo các stream. Container hiểu giao thức ở giữa web server và nó. - Quản lí chu kì sống của servlet :Container điểu khiển chu kì sống của servlet, load các class,khởi tạo các đối tuợng servlet,gọi các phương thức servlet và làm cho các đối tuợng servlet dọn dẹp các dữ liệu rác.Không lo việc quản lí tài nguyên - Hỗ trợ multithread : Container tự động tạo và quản lý các thread khi cần thiết để xử lý các yêu cầu(request). . Container có thể xử lý đồng thời nhiều request - Khai báo an tòan: Có thể quản lí , thay đổi độ an tòan mà không bị ảnh huởng và biên dịch lại mã mã nguồn java. - Hỗ tợ JSP: chuyển mã JSP sang mã java Mỗi Web application phải bao gồm một thư mục WEB-INF: web.xml: file cấu hình Thư mục classes Thư mục lib ÔN TẬP JAVA Nhóm xxx Page 4 Câu 5. Hãy trình bày chu kỳ sống của một servlet. Hoạt động của các servlet được kiểm soát bởi server Server nạp và khởi tạo một servlet .Tạo một thread để thực thi servlet public void init() Được gọi thực thi 1 lần duy nhất khi khởi tạo servlet (lần đầu tiên khi nạp vào bộ nhớ) Dùng để khởi tạo trạng thái, mở file, thiết lập kết nối CSDL, … Servlet có thể xử lý nhiều yêu cầu đồng thời public void service() Được gọi thực thi để phục vụ các yêu cầu của client, Nó có thể không gọi, gọi một lần hay nhiều lần cho đến khi servlet được ngưng tải. Nhiều thread (mỗi yêu cầu) có thể thực thi phương thức này song song, vì thế nó trở nên an toàn Server kết thúc hoạt động của một servlet public void destroy() Được gọi thực thi 1 lần duy nhất để hủy một servlet Giải phóng tài nguyên (khi stop web server) ÔN TẬP JAVA Nhóm xxx Page 5 Câu 6 : Hãy trình bày quá trình xử lý thực thi một tập tin JSP trên web container để phục vụ yêu cầu của client lần đầu tiên Bước 1: Web Container đọc file web.xml của ứng dụng và chờ request của client Bước 2:Client click vào link, gửi request tới Web Container. Web Container dịch file MyJSP.jsp thành file MyJBước 1: Web Container đọc file web.xml của ứng dụng và chờ request của client Bước 3: Web Container biên dịch file MyJSP_jsp.java thành file MyJSP_jsp.class (Servlet Bước 4: Web Container load Servlet class mới tạo ra (MyJSP_jsp.class). Bước 5: WebContainer chạy phương thức jspInit(), Servlet class vừa tạo ở bước trên đã trở thành một Servlet đầy đủ, sẵn sàng nhận request từ client Bước 6: Web Container tạo một thread để phục vụ các request từ client và chạy phương thức _jspService(). Servlet được thực thi ở Server và trả kết quả về client (hoặc chuyển request đến phần khác của web app). Câu 7 : Hãy phân biệt ý nghĩa của thẻ chỉ thị <%@include file=” ”%> và thẻ thực thi <jsp:include page= ” ” /> <%@include file=” ”%> Mang tính chất tĩnh(Static): lấy nội dung từ một giá trị thuộc tính file vào trang hiện tại ở thời điểm biên dịch( transaction time) <jsp:include page= ” ” /> Web Browser Web Server JSP Servlet CSDL Java Application/ Web Service ÔN TẬP JAVA Nhóm xxx Page 6 Mang tính chất động(dynamic): lấy nội dung từ một giá trị thuộc tính page vào trang hiện tại ở thời điểm yêu cầu (request time) Câu 8: So sánh và trình bày mối tương quan giữa JSP và servlet Giống nhau: Servlets and JSP là các API hỗ trợ, cung cấp phương thức tạo ra nội dung web động. Khác nhau: JSP Servlet - JSP là server script được chạy trên nền JDK 1.3 về sau. - Hoạt động như một lớp giao diện trung gian giữa người dùng với server - Servlet là các chương trình chạy trên máy server (servlet container) - Hoạt động như là lớp trung gian giữa máy client (với các yêu cầu HTTP) và CSDL hoặc các ứng dụng khác ÔN TẬP JAVA Nhóm xxx Page 7 Tương quan giữa servlet và JSP: Các trang JSP được trình chủ dịch ra thành Servlet trước khi cho thực thi nên tất cả những gì Servlet làm được cũng đồng nghĩa với JSP làM được. Tuy nhiên sử dụng JSP hay Servlet hay cả hai tùy thuộc vào từng dự án và mục đích sử dụng của chương trình. Câu 9 : Hãy trình bày so sánh tương quan giữa Cookie và Session Hãy trình bày so sánh tương quan giữa Cookie và Session : Giống nhau : Đều được dùng với mục đích lưu các thông tin của một đối tượng truy nhập (người sử dụng) trong một phiên làm việc. - JSP hỗ trợ phát sinh nội dung động vào trong một tài liệu HTML bằng các câu lệnh Java được nhúng vào trong một tài liệu HTML bằng các thẻ đặc biệt - Hướng tài liệu - Phát sinh nội dung động HTML động (JSP) - Như một chương trình Java - Trình bày dữ liệu - Xử lý nghiệp vụ - View layer - Cấu trúc chương trình: dùng các thẻ - Controller layer - Cấu trúc chương trình là một class ÔN TẬP JAVA Nhóm xxx Page 8 Liên hệ giữa Session và Cookie: Mỗi Session gắn với 1 định danh (ID). ID sẽ được tạo ra trên server khi session bắt đầu và được truyền cho browser. Sau đó browser sẽ truyền lại ID này lên server mỗi khi truy cập vào website. Như vậy ta có thể thấy rằng sẽ rất tiện nếu như Session ID được lưu trữ trong Cookie và được browser tự động truyền lên server mỗi khi truy cập vào website. Khác nhau: Cookies Session Cookie sẽ được lưu trữ tại browser, do browser quản lý và browser sẽ tự động truyền cookie ngược lên server mỗi khi truy cập vào 1 trang web trên server. Dữ liệu lưu trữ trong Session sẽ được ứng dụng quản lý, trong ngữ cảnh web, ứng dụng ở đây sẽ là website và webserver. Browser chỉ truyền ID của session lên server mỗi khi truy cập vào website trên server. Cookies không phải là một đối tượng riêng biệt mà thuộc đối tượng Response. Session là một đối tượng riêng biệt thuộc lớp javax.serverlet.http.HttpSession ÔN TẬP JAVA Nhóm xxx Page 9 BỏCâu 10 :Hãy trình bày hiểu biết của anh chị về J2EE/JavaEE Server (J2EE/JavaEE server là gì? Kiến trúc ? Vai trò của từng thành phần?) Java EE (gọi tắt là J2EE) là một nền lập trình dành cho việc phát triển ứng dụng phân tán kiến trúc đa tầng, chủ yếu dựa vào các thành phần môđun chạy trên các máy chủ ứng dụng. Mô hình kiến trúc đa tầng : Vai trò của các thành phần trong JavaEE : Java Application – component này là 1 chương trình standalone chạy bên trong Application Client container. Application Client container cung cấp những API hỗ trợ cho messaging, remote invocation, database connectivity và lookup service. Application Client container đòi hỏi những API sau: J2SE, JMS, JNDI, RIM-IIOP và JDBC. Container này được cung cấp bởi nhà cung cấp application server • Applet – Applet component là java applet chạy bên trong Applet container, chính là web browser có hỗ trợ công nghệ Java. Applet phải hỗ trợ J2SE API. • Servlet và JSP – đây là Web-based component chạy ở bên trong Web container, được hỗ trợ bởi Web Server. Web container là một môi trường run-time cho servlet và jsp. Web Container phải hỗ trợ những API sau: J2SE, JMS, JNDI, JTA, JavaMail, JAF, RIM-IIOP và JDBC. Serlet và JSP cung cấp một cơ chế cho việc chuẩn bị, xử lý, định dạng nội dung động • Enterprise JavaBean (EJB) – EJB component là business component chạy bên trong EJB container. EJB component là phần nhân, cốt lõi của ứng dụng J2EE. EJB container cung cấp các dịch vự quản lý transaction, bảo mật, quản lý trạng thái, quay vòng tài nguyên (resource pooling). EJB container phải hỗ trợ những API sau: J2SE, JMS, JNDI, JTA, JavaMail, JAF, RIM-IIOP và JDBC. Câu 11 : Hãy trình bày hiểu biết của anh/chị về kiến trúc ứng dụng đa lớp Kiến trúc đa tầng là một kiểu kiến trúc client-server, trong đó trình bày các ứng dụng, xử lý và quản lý dữ liệu logic là các quá trình riêng biệt. ÔN TẬP JAVA Nhóm xxx Page 10 Phổ biến rộng rãi nhất trong việc sử dụng "nhiều tầng kiến trúc" là đề cập đến ba tầng kiến trúc - Tầng trình bày (presentation): chứa các cấu phần xử lý giao diện người dùng và tương tác với người dùng. Chẳng hạn như một tầng trình bày của một ứng dụng độc lập có thê viết trong Visual Basic. Tầng trình bày của một ứng dụng Web-based có thể sử dụng Java servlet, Java Server Page, hay kết hợp với Java Applet - Tầng logic nghiệp vụ (bussiness logic): chứa các cấu phần phối hợp với nhau đê giải quyết các vấn đề nghiệp vụ. Thông thường, các cấu phần này được viết bằng các ngôn ngữ type-safe như Java hay C++. - Tầng dữ liệu (data): được sử dụng bởi tầng logic nghiệp vụ để lưu trữ các trạng thái bền vững. Tầng này thường là một hay nhiều database Đặc điểm : - Chi phí chuyển đổi CSDL thấp - Chi phí nâng cấp logic dữ liệu thấp: không phải biên dịch lại client - Có thể bảo mật từng phần của triển khai với các firewall - Các tài nguyên có thể được pool và re-used - Mỗi tầng có thể thay đổi độc lập. - sai Sự thể hiện chậm chạp được cục bộ hoá - Các lỗi được cục bộ hoá: chẳng hạn như nếu application server hỏng thì web server có thể báo cho người dùng là “site down” - Chi phí giao tiếp cao giữa các tầng - Chi phí bảo trì cao Câu 12 : Hãy trình bày hiểu biết của anh/chị về mô hình MVC (Kiến trúc? Vai trò của từng thành phần trong mô hình) Nó được dùng để tách riêng một ứng dụng vào lớp riêng chạy trên các máy tính khác nhau: trình bày / giao diện người dùng (UI) (View), kiểm soát xử lí yêu cầu(Controller), và truy cập dữ liệu (Model). MVC là thường thấy trong các ứng dụng web, nơi mà the view là trang mã HTML hoặc XHTML, và the controller là mã dữ liệu động và tạo ra nội dung động bên trong HTML hay XHTML. Cuối cùng, the model được thể hiện bằng nội dung thực, mà [...]... tại trong suốt quá trình hoạt động của một ứng dụng Trong Java Server Page, sử dụng Java Bean đem đến một số lợi điểm như sau: - Không còn các cú pháp Java, tách biệt hẳn phần xử lý logic với phần trình bày giao diện Từ đây ta có thể có một nhóm phát triển ứng dụng web gồm 2 nhóm nhỏ: lập trình Java và thiết kế web Nhóm xxx Page 11 ÔN TẬP JAVA - Việc chia sẻ đối tượng (object) đơn giản hơn Ta sẽ dễ... Enterprise JavaBean (EJB bỏ JAVABEAN Nhóm xxx EJB Page 12 ÔN TẬP JAVA - Cài đặt ở cả server site và client site Dùng để tách biệt business logic - - - Môi trường hoạt động: JVM hoặc servlet container Bản thân java bean không thể tự hỗ trợ các chức năng Transaction và Security cho ứng dụng Người lập trình phải viết code cho các chức năng này nếu muốn JavaBean chỉ để phát triển Cài đặt ở server site Đảm nhiệm... cảnh sử dụng EJB) Nhóm xxx Page 16 ÔN TẬP JAVA - LOCAL CLIENT Client và Bean thực thi trên cùng một JVM Có thể là một web component hoặc một enterprise bean khác - REMOTE CLIENT Client và bean thực thi trên hai JVM khác nhau Có thể là một web component, application, hoặc một enterprise bean khác Vị trí của bean là hoàn toàn trong suốt đối với client - Vị trí của bean không hoàn toàn trong suốt đối với... thì gold member=>đổi tên 2/Đặt nick lại theo hướng dẫn của tui Lưu ý: nick màu chỉ dc 6 kí tự trở xuống thôi nhá, nhiều hơn thì pó tay!!! Nhóm xxx Page 18 ÔN TẬP JAVA Nhóm xxx Page 19 ÔN TẬP JAVA Nhóm xxx Page 20 ÔN TẬP JAVA Đặt nick lại theo dạng ".|mã màu+Tên" VD như vầy nè |cffffff00DIE thì khi hiển thị sẽ ra tên ".DIE" với chữ DIE màu vàng chói lọi Mún màu khác thì dùng đoạn mã màu khác Ai thik thì... - Người dùng thấy sự thay đổi URL - Người dùng không thấy sự thay trên trình duyệt khi thực hiện tác đổi URL trên trình duyệt và không vụ biết server làm gì Câu 17 Phân biệt các phạm vi lưu trữ (scope) JavaBean: REQUEST, SESSION, APPLICATION Cho ví dụ minh họa cơ chế lưu trữ một đối tượng JavaBean vào các vùng lưu trữ tương ứng Phạm vi lưu trữ (scope) JavaBean : Request Session Application - Tồn tại... name="id-of-the-JavaBean" property="name-of-property" param="name-of-request-parameter-to-use" value="new-value-of-this-property" /> param chính là tham số trong request dùng để lấy giá trị gán cho property Cách lấy giá trị lưu trữ trong thuộc tính của bean . <jsp:getProperty name="id-of-the-JavaBean property="propertyName" /> Câu 14: Phân biệt JavaBean và Enterprise JavaBean (EJB bỏ JAVABEAN EJB ÔN TẬP JAVA Nhóm xxx Page 13 Câu. gửi đến server thông qua HTML Form Tốt nhất sử dụng cho việc nhận dữ liệu Không cacheable. server luôn thực thi và trả về kết quả cho client ÔN TẬP JAVA Nhóm xxx Page. server. Cookies không phải là một đối tượng riêng biệt mà thuộc đối tượng Response. Session là một đối tượng riêng biệt thuộc lớp javax.serverlet.http.HttpSession ÔN TẬP JAVA Nhóm xxx