Câu hỏi và trả lời ôn tập Java

12 2K 15
Câu hỏi và trả lời ôn tập Java

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu hỏi và trả lời ôn tập Java

ÔN TẬP JAVAChú thích sau khi thay đổi: bỏ Web Browser, Web Server ( Thầy nói ko ra mà cũng hên xui quá ^^), Java Bean, Enterprise Java BeanCâu 4: apache ko phải là ứng dụng Web.Câu 8: đúng + đầy đủ nhưng Scrip thực thi ở Server tôi ( Thangld) ko bik đó là gì, ko biết người soạn câu này lấy ở đâu ra.Câu 10 : bỏ Câu 14: bỏCâu 11: dc, có những câu dịch chuối quá như câu “ biểu hiện”Câu 17: là câu ôn tập, khi đó tui sẽ cho so sánh 2 trong 3.Câu 20: perfect.Câu 3.Phân biệt GET POSTNhóm xxx Page 1GET POSTDữ liệu gửi lên server là một phần trong URL.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ó Cacheable=>thực thi nhanh hơn POSTyêu cầu + dữ liệu được gửi đến một thực thể được xác định bởi URI nhận thông tin trả về. Dữ liệu được đính kèm vào URIDữ liệu không gắn vào URL nên không hiển thị trên URL.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• Không cacheable.• Gửi yêu cầu + dữ liệu đến một thực thể được xác định bởi URI nhận thông tin trả về. Dữ liệu được gửi sau thông tin tiêu đề (information header). Web Server ÔN TẬP JAVACâu 4.Servlet (Web) container là gì?Liệt kê những chức năng servlet container cung cấp 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) CSDL hoặc các ứng dụng khác  Phát sinh các nội dung (HTML) động Chức năng của servlet container:- 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 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 làm cho các đối tuợng servlet dọn dẹp các dữ liệu rác.- Hỗ trợ multithread : Container tự động tạo 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 requestCâu 5. Hãy trình bày chu kỳ sống của một servlet.Nhóm xxx Page 2 Web Server ÔN TẬP JAVAChu kỳ sống tính từ khi servlet bắt đầu được hệ thống lưu tâm đến (như gọi nạp vào bộ nhớ) cho đến khi nó bị loại khỏi trình chủ Web server vì không còn cần đến nữa. Quá trình sống của servlet trải qua các giai đoạn sau :Nạp servlet: Khi có một yêu cầu triệu gọi servlet, trình chủ web server sẽ xem servlet đã nạp vào bộ nhớ hay chưa, nếu chưa nó sẽ nạp servlet vào bộ nhớ. Một khi servlet đã nạp, Web servet sẽ tiến đến giai đoạn khởi tạo servletKhởi tạo servlet: Trình chủ web server khởi tạo servlet bằng cách gọi đến phương thức init() mà servlet cài đặt.Thực thi servlet: Khi trình duyệt hoặc các trang JSP triệu gọi servlet thông qua địa chỉ URL, trình chủ web server sẽ chính thức gọi servlet thực thi thông qua các phương thức như doGet(), doPost().Dọn dẹp servlet: Servlet không giữ lại trong bộ nhớ vĩnh viễn, sẽ đến lúc cần loại servlet khỏi bộ nhớ. 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ênB ước 1 : Web Container đọc file web.xml của ứng dụng chờ request của clientNhóm xxx Page 3Web Browser Web ServerJSPServletCSDLJava Application/ Web Serviceclinet ÔN TẬP JAVABước 2:Client click vào link, gửi request tới Web Container. Web Container dịch file MyJSP.jsp thành file MyJSP_jsp.java.Bước 3: Web Container biên dịch file MyJSP_jsp.java thành file MyJSP_jsp.class (ServletBướ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ừ clientBước 6: Web Container tạo một thread để phục vụ các request từ client chạy phương thức _jspService(). Servlet được thực thi ở Server 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=” .”%> 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= ” .” />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 trình bày mối tương quan giữa JSP servletGiố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:Nhóm xxx Page 4 ÔN TẬP JAVATương quan giữa servlet JSP: Nhóm xxx Page 5JSP 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- 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- 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) CSDL hoặc các ứng dụng khác- 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 JAVACá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 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 Session?Hãy trình bày so sánh tương quan giữa Cookie 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.Liên hệ giữa Session 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 đượ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 được browser tự động truyền lên server mỗi khi truy cập vào website.Khác nhau : Nhóm xxx Page 6 ÔN TẬP JAVACâ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ớpKiế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ý quản lý dữ liệu logic là các quá trình riêng biệt. 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 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 re-used- Mỗi tầng có thể thay đổi độc lập.- 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ì caoCâ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)Nhóm xxx Page 7Cookies SessionCookie sẽ được lưu trữ tại browser, do browser quản lý 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 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 JAVANó đượ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), 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, the controller là mã dữ liệu động 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à thường được lưu giữ trong một cơ sở dữ liệu hoặc trong XML nodes, các luật kinh doanh chuyển đổi nội dung dựa trên hoạt động người sử dụng. Vai trò của từng thành phần trong mô hìnhModel: Business Logic Layer- Thực hiện các truy vấn CSDL- Thực hiện các thao tác nghiệp vụ / tính toán View: Presentation Layer- Trình bày dữ liệu của một modelController: Control Layer- Tiếp nhận yêu cầu từ người dùng quyết định cơ chế xử lý yêu cầu đó - Kết nối yêu cầu của người dùng với thao tác nghiệp vụ tương ứng - Lựa chọn cơ chế trình bày kết quả (view)Câu 13 :Hãy trình bày hiểu biết của anh/chị về JavaBeanĐối với các nhà phát triển Java, tác giả nghiệp dư applet, JavaBeans cung cấp khả năng viết các ứng dụng nhanh chóng dễ dàng, bằng cách sử dụng một bảng các thành phần có thể được lien kết để tạo thành một ứng dụng lớn hơn các thành phần. Giao diện người dùng, chẳng hạn như cây, danh sách, hoặc đồ họa nút có thể làm cho các ứng dụng trở nên sống động, mà không cần viết các thành phần tùy chỉnh cho mỗi mọi ứng dụng. các giao thức mạng có thể được gói gọn trong thành phần một, cho phép các nhà phát triển chỉ đơn giản nhúng vào trong email hỗ trợ web vào các ứng dụng của họ. Nghĩa là bất cứ thành phần bạn có thể tưởng tượng có thể được viết như là một JavaBean, sau đó cắm vào một ứng dụng. Tính năng • JavaBeans hỗ trợ tính năng cho phép một ứng dụng đọc sửa đổi các giá trị của họ. • JavaBeans hỗ trợ các sự kiện, cho phép các nhà cung cấp để tạo ra các sự kiện độc đáo của riêng mình. • JavaBeans hỗ trợ giao diện BeanInfo, cho phép các nhà cung cấp để xác định chính xác ứng dụng phương pháp có sẵn, biểu tượng cho loại beans có thể được hiển thị trên thanh công cụ. Nhóm xxx Page 8 ÔN TẬP JAVA• JavaBeans là cấu hình cao, các trạng thái của bean có thể được lưu khôi phục thông qua đăng ký. Câu 15 : Phân biệt cơ chế (phương thức) forward() include() trong quá trình phân phối yêu cầu (sử dụng RequestDispatcher). Cho ví dụ minh họa về cách lập trìnhVí dụ :foward()public class RequestBinder extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response){ //bind an object to the servlet context ContextObject contextObj = new ContextObject(); contextObj.put( request.getRemoteAddr(), ""+new java.util.Date()); request.setAttribute( "com.jspservletcookbook.RequestObject",contextObj ); //better display something RequestDispatcher dispatcher = request.getRequestDispatcher("/displayAttr"); dispatcher.forward(request,response);}}Include()public class MultipleInc extends HttpServlet{protected void doGet(HttpServletRequest request, HttpServletResponse response){ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("This text is displayed at Level 1."); RequestDispatcher dispatcher = request.getRequestDispatcher("/level2"); dispatcher.include(request, response);}}Câu 16. Phân biệt kỹ thuật REDIRECT REQUEST DISPATCHNhóm xxx Page 9forward()- Để chuyển hoàn toàn điều khiển đến trang đích.- Có IlltergalstaleException.- Trước khi forward không được xử lý gì về nội dung(nghĩa là không được print() bất kì cái gì ra màn hình).- Servlet cuối cùng mới được xử lý nội dung.include()- Để nhận kết quả trả về từ trang đích tiếp tục xử lý.- Không có IlltergalstaleException.- Trước hay sau khi include đaều được xử lý nội dung- Có thể xử lý ở bất kì servlet nào. ÔN TẬP JAVAREDIRECT REQUEST DISPATCH- Redirect gửi tín hiệu yêu cầu trình duyệt truy cập một url khác để hoàn thành tác vụ.- Người dùng thấy sự thay đổi URL trên trình duyệt khi thực hiện tác vụ- Request dis. phân phối yêu cầu đến một số đối tượng trên server (servlet, jsp) để hoàn thành tác vụ- Người dùng không thấy sự thay đổi URL trên trình duyệt không 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 theo request từ phía client, được gắn theo request- Dữ liệu được liên kết khi có yêu cầu, ngay cả khi yêu cầu đó được chuyển tiếp hay JSP được gộp.- Nó được lưu trữ trong đối tượng Servlet Request.- Tồn tại trong suốt một phiên làm việc, được gắn vào vùng nhớ session- Dữ liệu được kết nối đến 1 người dùng trong suốt lần viếng thăm(web)- Chỉ có 1 phiên làm việc cho mỗi người dùng, tồn tại cho tới khi người dùng rời khỏi trang web.- Tồn tại trong suốt quá trình hoạt động của một ứng dụng- - Dữ liệu có thể cần trên bất cư trang nào bất cứ thời điểm nào. Chỉ có 1 phạm vi ứng dụng, nó tồn tại từ thời điểm JSP Engine bắt đầu khởi động cho đến khi nó kết thúc.- - Bean sẽ còn tồn tại cho đến khi ứng dụng được khôi phục lại hoặc server được khởi động lại. Request: <jsp: useBean id=”bean” class=”BeanClass” scope=”request”/>Sesion : <jsp: useBean id=”bean” class=”BeanClass” scope=”session”/>Application: <jsp: useBean id=”bean” class=”BeanClass” scope=”application”/>Ví Dụ :package mybean;public class CounterBean { public CounterBean() {} public int getCount() { return count; } public void setCount(int count) { this.count = count;} private int count = 0;}Nhóm xxx Page 10 [...]... nên sống động, mà không cần viết các thành phần tùy chỉnh cho mỗi mọi ứng dụng. các giao thức mạng có thể được gói gọn trong thành phần một, cho phép các nhà phát triển chỉ đơn giản nhúng vào trong email hỗ trợ web vào các ứng dụng của họ. Nghĩa là bất cứ thành phần bạn có thể tưởng tượng có thể được viết như là một JavaBean, sau đó cắm vào một ứng dụng. Tính năng • JavaBeans hỗ trợ tính... cho phép một ứng dụng đọc sửa đổi các giá trị của họ. • JavaBeans hỗ trợ các sự kiện, cho phép các nhà cung cấp để tạo ra các sự kiện độc đáo của riêng mình. • JavaBeans hỗ trợ giao diện BeanInfo, cho phép các nhà cung cấp để xác định chính xác ứng dụng phương pháp có sẵn, biểu tượng cho loại beans có thể được hiển thị trên thanh cơng cụ. Nhóm xxx Page 8 ÔN TẬP JAVA <%@page import =.. .ÔN TẬP JAVA 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 sốt xử lí u cầu(Controller), 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, the controller là mã dữ liệu động tạo ra nội dung động bên trong... "request"; %>  scope=<%=scope%> </pre> Câu 20. Hãy trình bày qui trình hoạt động của Struts Framework 1. Trình duyệt tạo một request tới ứng dụng Struts sẽ được xử lý bới ActionServlet (Controller). Nhóm xxx Page 11 (1) (2) (2) (3) (4) (5) (6) ÔN TẬP JAVA 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 MyJSP_jsp .java. Bước 3: Web Container biên dịch file MyJSP_jsp .java thành... đó - Kết nối yêu cầu của người dùng với thao tác nghiệp vụ tương ứng - Lựa chọn cơ chế trình bày kết quả (view) Câu 13 :Hãy trình bày hiểu biết của anh/chị về JavaBean Đối với các nhà phát triển Java, tác giả nghiệp dư applet, JavaBeans cung cấp khả năng viết các ứng dụng nhanh chóng dễ dàng, bằng cách sử dụng một bảng các thành phần có thể được lien kết để tạo thành một ứng dụng lớn hơn các... request từ client chạy phương thức _jspService(). Servlet được thực thi ở Server 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=” ”%> 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= ” ” /> 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 trình bày mối tương quan giữa JSP 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: Nhóm xxx Page 4 ... dữ liệu hoặc trong XML nodes, các luật kinh doanh chuyển đổi nội dung dựa trên hoạt động người sử dụng. Vai trị của từng thành phần trong mơ hình Model: Business Logic Layer - Thực hiện các truy vấn CSDL - Thực hiện các thao tác nghiệp vụ / tính tốn View: Presentation Layer - Trình bày dữ liệu của một model Controller: Control Layer - Tiếp nhận yêu cầu từ người dùng quyết định cơ chế xử lý yêu . có những câu dịch chuối quá như câu “ biểu hiện Câu 17: là câu ôn tập, khi đó tui sẽ cho so sánh 2 trong 3 .Câu 20: perfect .Câu 3.Phân biệt GET và POSTNhóm. thanh công cụ. Nhóm xxx Page 8 ÔN TẬP JAVA JavaBeans là cấu hình cao, và các trạng thái của bean có thể được lưu và khôi phục thông qua đăng ký. Câu 15

Ngày đăng: 19/09/2012, 09:21

Hình ảnh liên quan

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) - Câu hỏi và trả lời ôn tập Java

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) Xem tại trang 7 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan