TRẮC NGHIỆM J2EE
1. Chọn phát biểu đúng về cách tạo Connection Pool trong Glassfish Application Server:
a. Dùng công cụ quản trị Admin Console của Glassfish bằng cách khởi động Glassfish Application Server và đăng nhập http://<server-name>:4848/b. Hiệu chỉnh các thông số trong file domain.xml trong thư mục: “...\domain\domain1\config\domain.xml
c. Copy JDBC driver tương ứng với hệ quản trị Cơ sở dữ liệu bạn đang dùng trong thư mục: “…\domains\domain1\lib” trước khi khởi động Glassfish Application Server.
d. Copy JDBC driver tương ứng với hệ quản trị Cơ sở dữ liệu bạn đang dùng trong thư mục: “…\domains\domain1\lib” sau khi khởi động Glassfish Application Server.
2. Chọn các phát biểu đúng về định dạng file của các ứng dụng java:
a. Các file đóng gói .jar chính là một dạng java archive đóng gói các java classb. Các file đóng gói dạng .war là một dạng đóng gói Web application archive lưu trữ các java class, các trang jsp, servlet, các file XML, các taglib, những trang web tĩnh, … hay các thành phần tạo nên một Web application theo đặc tả JEE của Sun.
c. Các file đóng gói dạng .ear là một dạng đóng gói của Enterprise Application Archive bao gồm các thành phần trong mô-đun Web và các thành phần EJB của ứng dụng.
d. Các file đóng gói dạng .ear là một dạng đóng gói của Enterprise Application Archive chỉ bao gồm các thành phần EJB của ứng dụng.
3. Kết quả của quá trình biên dịch và đóng gói một Web Application theo đặc tả của Sun
Microsystem sẽ tạo
ra một file có định dạng:a. .jar b. .ear c. .war
4. File Struts Configuration là 1 file có định dạng
a. html b. txt c. properties d. Tất cả điều sai
5. Chọn phát biểu đúng về hàm hay phương thức getParameter của lớp
HttpServletRequest:
a. Dùng để nhận giá trị một đối tượng (chẳng hạn một TextField) từ form nhập liệu khi submit lên server. b. Dùng để nhận tên của một đối tượng (chẳng hạn tên một TextField) từ form nhập liệu khi submit lên server.
c. Cả a, b đều đúng
d. Cả a, b đều sai
6. Cho biết các phương thức có thể chuyển hướng từ một trang này đến một trang khác
trong lập trình Web
Application với JEE:a. Dùng thẻ <jsp:forward>
b. Dùng hàm sendRedirect(<location>) trong của lớp HttpServletRequest
c. Dùng hàm sendRedirect(<location>) trong của lớp HttpServletResponse
d. Dùng hàm sendRedirect(<location>) trong của lớp HttpServlet
e. Dùng hàm forward của lớp RequestDispatcher.
7. Chọn tất cả những phát biểu nào dưới đây đúng với JEE/J2EE:
a. Những JEE/J2EE servers là những ứng dụng JEE/J2EE phải chạy trên nền của Java(J2SE).
b. JEE/J2EE là một sản phẩm độc quyền của Sun, nó được đặc tả và hiện thực bởi Sun, giống như cách mà Microsoft đã làm với sản phẩm .NET
c. JEE/J2EE là 1 trong 3 Java platform và cũng là 1 đặc tả (specification) của Sun
d. Những ứng dụng có sử dụng EJB luôn luôn tốt hơn những ứng dụng không có EJB.
8. Chọn tất cả các phát biểu đúng về JEE/J2EE:
a. J2EE là môi trường để phát triển và triển khai các ứng dụng enterprise
b. J2EE platform bao gồm tập các dịch vụ (services), APIs, và các protocols mà cung cấp các chức năng để phát triển các ứng dụng đa tầng, phân tán và chủ yếu dựa trên nền web
c. JSP và servlet container còn có thể được xem như là web-container
d. EJB container chịu trách nhiệm quản lý việc thực thi của các thành phần EJBs bên trong một ứng dụng JEE/J2EE.
9. Chọn các phát biểu đúng về AJAX :
a. AJAX dùng đối tượng XmlHttpRequest để liên lạc giữa client và server
b. Sau khi yêu cầu/request được gởi đến server chúng ta cần một hàm để lưu và xử lý thông tin phản hồi từ phía server như sau : xmlHttp.onreadystatechange = function() {}
c. Readystate là một thuộc tính của đối tượng XmlHttpRequest dùng để kiểm tra trạng thái phản hồi (Response State)
d. Thuộc tính ResponseText của đối tượng XmlHttpRequest sẽ chứa thông tin phản hồi từ phía server về client.
10. Những trường hợp nào dưới đây không cần thiết phải sử dụng EJB :
a. Những ứng dụng được triển khai với qui mô nhỏ gọnb. Những ứng dụng được triển khai với qui mô lớn và phức tạp c. Những ứng dụng yêu cầu hỗ trợ về việc quản lý transactions.
d. Những ứng dụng không có yêu cầu hỗ trợ về việc quản lý transactions.
11. Cho đoạn chương trình sau :
1. <html> 2. <head>
3. <h1> This is my counter </h1> 4.
5. <% i++; %>
6. <% “The value of i is: ” +i %> 7. </head>
8. </html>
Dòng mã nào sau đây có thể chọn để chèn vào dòng số 4 để chương trình thực thi và in ra kết quả: The value of i is 1 (chọn 1)
a. <% @int i=0; %> b. <% int i; %> c. <% !int i; %> d. < int i=0; />
12. Thẻ <jsp:useBean> cho biết một trang jsp sẽ dùng một đối tượng JavaBean lưu trong
bộ nhớ tùy vào tầm
vực (scope). Cho biết những scope nào bên dưới là thích hợp và có thể dùng được cho một đối tượng JavaBeana. application b. session c. state d. request e. response f. page
13. Khi một đối tượng được bỏ vào HttpSession thì nó có thể được giải phóng (remove).
Đúng hay sai?
a. Đúng b. Sai
14. Phát biểu nào bên dưới là đúng đối với một web application sử dụng cơ chế quản lý
session:
Phát biểu 1: Đối tượng session sẽ hết hiệu lực khi session bị times out
Phát biểu 2: Đối tượng session sẽ hết hiệu lực khi phương thức session.Invalidate() của HttpSession được gọi a. Cả 2 phát biểu đúng b. Phát biểu 1 đúng c. Phát biểu 2 đúng d. Cả 2 phát biểu sai
15. Đối với hầu hết các web server thì một đối tượng servlet mới sẽ không được tạo ra ứng
với mỗi request từ
client. Đúng hơn là một đối tượng servlet được tạo ra lúc đầu sẽ chịu trách nhiệm hay phục vụ quản lý tất cả các request từ phía client. Đúng hay sai?a. Đúng b. Sai
16. File cấu hình cúa một ứng dụng web là web.xml (nếu có) thì nằm trong thư mục nào?
a. myapp/WEB-INF/public_html b. myapp/WEB-INF/classes
c. myapp/WEB-INF d. myapp/WEB-INF/lib
Bên dưới là file dữ liệu xml (book.xml) được dùng cho những câu hỏi tiếp theo: <?xml version = ”1.0” encoding = ”UTF-8”>
<?xml-stylesheet href=”books.xml”?> <books>
<!--First Book Comment--> <book>
<title> Java & XML </title> <pubDate> 2006 </pubDate> </book>
<!--Second Book Comment--> <book>
<title> Learning UML </title> <pubDate> 2003 </pubDate> </book>
<!--Third Book Comment--> <book>
<title> XML in a NutShell </title> <pubDate> 2004 </pubDate> </book>
<!--Fourth Book Comment--> <book>
<title> Apache Cookbook </title> <pubDate> 2003 </pubDate> </book>
</books>
17. Sử dụng DOM parser để parse và xử lý dữ liệu books.xml ở trên, sẽ có bao nhiêu đối
tượng
org.w3c.dom.Node Node con trực tiếp của Node gốc “books” được tìm thấy(chọn 1 đáp án).a. 4 b. 8 c. 16 d. 17
18. Sử dụng DOM parser để parse và load books.xml ở trên vào trong 1 đối tượng
org.w3c.dom.Document
document, câu lệnh nào dưới đây sẽ trả về đúng nội dung của những dữ liệu book (chọn 1 đáp án)a. document.getDocumentElement().getChildNodes();
b. document.getDocumentElement().getChildNodes(“book”);
c. document.getElementByTagName(“book”); d. document.getBook();
19. Sử dụng SAX parser để parse book.xml ở trên, bộ parser sẽ triệu gọi phương thức
startElement của
ContentHanlder tương ứng bao nhiêu lần:
a. 1 b. 4 c. 12 d. 13
20. Sử dụng SAX parser để parse books.xml ở trên, bộ parser sẽ triệu gọi phương thức
characters của
ContentHanlder tương ứng bao nhiêu lần:
a. 1 b. 8 c. 12 d. Kết quả khác
21. Làm thế nào 1 servlet có thể gởi 1 yêu cầu HTTP redirect (chọn 2 đáp án)
a. Set giá trị HTTP status code bằng tay và thêm vào header cho đối tượng response. b. Dùng phương thức SendRedirect() của HttpServletResponse Interface.c. Dùng phương thức SendRedirect() của HttpServletRequest Interface. d. Hiện thực (implements) ServletRedirect Interface
22. Những đoạn code nào dưới đây là đúng?
a. <%!int i=0; %> b. <%! int i=0; %> c. <% !int i=0; %> d. <% int i=0 %>
23. Lớp nào sau đây tương đương với đối tượng ẩn “page” (implicit object) trong 1trang
JSP?
a. javax.servlet.jsp.PageContext b. javax.servlet.ServletContext c. javax.servlet.jsp.ServletContext d. javax.servlet.PageContext e. java.lang.Object
24. Để bỏ dữ liệu vào session ta viết như sau: session.setAttribute(“myName”, “<user
name>”);
Cho biết cách nào sau đây là đúng để lấy ra dữ liệu từ session?
a. String username = request.getSession.getAttribute(“myName”);b. String username = request.getSession.getAttribute(myName); c. String username = response.getSession.getAttribute(“myName”); d. String username = response.getSession.getAttribute(myName); e. Tất cả điều sai
25. Tìm đoạn code phù hợp chèn vào ( __ ) để có kết quả ” 1 2 3 4 5 6 7 8 9 10” :
<html><head>
< title >Document</title>
<meta http-equiv=”Content-Type” content=”text/html; charset = iso-8859-1”> </ head >
<body> <%
for (int i=1; i<=10; i++) { %> _______ <% } %>
</body> </html>
a. i b. <% i%> c. <%=i%> d. <%i;%> e. Tất cả điều sai
26. Kết quả của đoạn code sau là gì?
<html> <body> <% !int x ;%> <%int y=0 ;%> <%int z=x+y+1 ;%> <%=x+y+z%> </ body> </html>
a. Không biên dịch được đoạn code b. 0 c. 1
d. null e. tất cả điều sai
27. Khi trang JSP được biên dịch thành servlet, biến i được khai báo bên dưới sẽ nằm
trong phương thức
service() của servlet sau khi biên dịch. Đúng hay sai? <% int i=0; %>a) Đúng b. Sai
28. Điền vào chổ trống(……)
<jsp:userBean id=”userBean” class=”myapp.UserBean” scope=”request” /> <jsp:setProperty name=”userBean” …….. />
a. param=”*” b. param=”All” c. property=”*”
d. property=”All” e. tất cả điều sai
29. Đoạn code nào sau đây đúng (chọn 2 đáp án)
a. < jsp:userBean id=”java.sun.com.myBean” scope=”page” />
b. < jsp:userBean id=” MyBean” class=” java.sun.com.myBean />
c. < jsp:userBean id=” MyBean” type=”java.lang.String” scope=”page” />
d. < jsp:userBean id=” MyBean” beanName=” java.sun.com.myBean” scope=”page” />
e. < jsp:userBean id=” MyBean” beanName=” java.sun.com.myBean” className=” MyBean” type=”java.lang.String” scope=”page” />
30. Những phát biểu nào dưới đây đúng với Web Services (chọn 2 đáp án)
a. Web Services được phát triển trên nền XML và Java
b. Web Services là những ứng dụng web được xây dựng trên nền của XML và các transport protocol(HTTP,…)
c. Web Services ra đời với mục đích cung cấp một cách thức linh động để tích hợp những ứng dụng với nhau được dễ dàng
d. Web Services yêu cầu những ứng dụng ở hai phía client và server phải được viết trong cùng một ngôn ngữ
31. EJB đóng vai trò tiêu biểu nào trong 1 ứng dụng multi-tier JEE/J2EE
a. Web Tier b. Client Tier c. Business Tier d. EIS Tier
32. Phát biểu nào sau đây không đúng về EJB Session
Beans
(chọn 2 đáp án)
a. Thực thi những yêu cầu của những ứng dụng ejb client như application client, web tier (JSP, Servlet), java beans và ngay cả những ejp session beans khác
b. Chỉ thực thi những yêu cầu từ ứng dụng web
c. Không nhất thiết phải biểu diễn trực tiếp những dữ liệu từ database
d. EJB session beans có thể được triển khai trên bất kỳ server nào có triển khai JSP/Servlet, chẳng hạn như Tomcat server
33. Phát biểu nào sau đây không đúng về stateless
and/or stateful session beans
(chọn 2
đáp án)
a. Một đối tượng EJB stateful beans được chia sẽ cho nhiều client dùng chung
b. Một đối tượng EJB stateless beans có thể được chia sẽ cho nhiều client dùng chung
c. EJB stateles beans yêu cầu nhiều tài nguyên(Ram, Hard disk,..) hơn so với EJB stateful beans
d. EJB stateful beans lưu giữ trạng thái cho client tương ứng gọi nó qua nhiều method requests hoặc transactions
34. Phương thức nào sau đây sẽ được thực thi khi servlet được load lần đầu tiên?
35. Cho biết kết quả đoạn code sau:
<%for(int i=1; i<=2; i++) { %> <h<%= i %>> Hello </h<%= i %>> <% } %>
a. Đoạn code bị lỗi b. h1Helloh1h2Helloh2
c. Hello được in ra bên trong heading tag h1 và h2 d. Run time error
36. Chọn 1 đáp án đúng :
Đoạn mã 1:
<jsp:userBean id=”beanName” class=”fully_qualitfied_classname” scope=”page|request|session|application” /> Đoạn mã 2:
<jsp:userBean id=”beanName” = ”fully_qualitfied_classname” scope=”page|request|session|application”> <jsp:setProperty…. />
</jsp:userBean>
a. Cả 2 đoạn mã đều đúng b. Đoạn mã 1 đúng
c. Đoạn mã 2 đúng d. Cả 2 đoạn mã đều sai
37. Những phát biểu nào dưới đây đúng với Entity trong công nghệ Java Persistence
a. Một Entity thường biểu diễn cho một table trong databaseb. Java Persistece có thể triển khai trên bất kỳ server nào có thể triển khai được JSP/Servlet, chẳng hạn như Tomcat server
c. Deverlopers phải tự đóng các kết nối đến database sau khi không sử dụng Entity nữa
d. Mỗi thực thể của Entity tương ứng với 1 row của 1 table trong 1 database
38. Điền vào chổ trống(…..) (chọn 1 đáp án)
//MyJSP.jsp
<jsp:useBean id=”mybean” class=”MyBean” /> <html> <body bgcolor=”#FFFFFF”> My name is: …….. </body> <html> //MyBean.java Public class MyBean {
private String myName; public MyBean()
{ myName=”James”; } public String getName() { Return myName; } public void setName()
{ myName=name; } }
a) <% mybean.getName() %> b) <% mybean.getName(); %> c) %= mybean.getName() %>
d) <%= mybean.getName(); %> e) <%@ mybean.getName() %> f) <%@ mybean.getName(); %>
39. Chọn tất cả những phát biểu đúng
a) Struts Framework là một Java Open Source Framework do Sun đề xuất và phát triển theo đặc tả J2EE
b) Struts Framework là một Java Open Source Framework do Apache phát triển c) Struts Framework phát triển ứng dụng theo kiểu MVC
d) Struts Framework phát triển các EJBs rất tốt
e) File Struts Configuration là một file dùng để lưu cấu hình của một ứng dụng dùng struts framework
40. Chọn tất cả phát biểu đúng : Trong File Struts Configuration có chứa các thông tin
sau:
a. Thông tin về các forms của chương trình nằm trong cặp thẻ <form-beans> b. Thông tin về các actios của chương trình nằm trong cặp thẻ <actio-mappings>
c. Thông tin về file resources lưu các resources, các massages của chương trình d. Thông tin về việc khai báo các servlets của chương trình ứng dụng
41. Những công nghệ/kĩ thuật nào thường được dùng để xử lý dữ liệu XML (chọn 1)
a. SAX, DTD b. XSD, DTD c. DOM, SAX d. DOM, DTD
* 1. Cho biết ý nghĩa của đoạn mã bên dưới trong file struts configuration <action-mappings>
<action path=”/search” type=”com.xyzcorp.app.SearchAction”> <forward name=”success” path=”/results.jsp” /> </action>
</action-mappings>
* 2. Trình bày tóm tắt hiểu biết của bạn về việc kết hợp các công nghệ của J2EE như JSP, Servlet và EJB trong việc triển khai ứng dụng theo kiểu MVC(Model-View-Container) (khái niệm, ưu điểm, nhược điểm, ứng dụng của nó vào cái gì)
* 3. Cho biết các loại EJB mà bạn biết (tuỳ chọn theo đặc tả EJB 2.0 hay 3.0)
* 4. Cho biết các trạng thái status trong vòng đời (life circle) của từng EJB mà bạn biết (tuỳ chọn theo đặc tả EJB 2.0 hay 3.0) * 5. Trình bày tóm tắt hiểu biết của bạn về công nghệ Ajax (khái niệm, ưu điểm, nhược điểm, ứng dụng của nó vào cái gì) 1. Các khái niệm cơ bản: (slide đầu tiên)
- những công nghệ Core của platform?; kiến trúc j2ee
2. Khái niệm web application, enterprise application? Có những thành phần gì? Việc build, đóng gói, deploy trên server ra sao? Và khi đóng gói thì tạo ra file gì?
3. jdbc connection pool (có những cách nào để tạo)? ưu, khuyết điểm
4. jsp, servlet (cú pháp, các thẻ taglib cơ bản: include, forward, …); - jsp được dịch tạo ra file gì? - bản chất của servlet? tạo ra 1 hay nhiều instance cho nhiều người dùng khác nhau
5. Khái niệm EJB? Ưu điểm? Khi nào nên dùng và không nên dùng? Phù hợp cho những ứng dụng nào? Có quản lý transaction không?
6. Trust framework
7. Ajax: cơ chế, gọi hàm gì của ajax 8. XML