ÔN TẬP JAVA
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.
Nhóm xxx
Page 1
ÔN TẬP JAVA
Câu 3.Phân biệt GET và POST
GET
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
POST
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
Có nhiều chức năng: nhận,
lưu trữ, sửa đổi,bổ sung vào
cơ sở dữ liệu
Tốt nhất sử dụng
nhận 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
Không cacheable.
cho việc
server luôn thực thi và trả về
kết quả cho client
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.
Nhóm xxx
Page 2
ÔN TẬP JAVA
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
Nhóm xxx
Page 3
ÔN TẬP JAVA
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)
Nhóm xxx
Page 4
ÔN TẬP JAVA
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
Web Server
JSP
Web
Browser
Servlet
CSDL
Java Application/
Web Service
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
<%@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)
Nhóm xxx
Page 5
ÔN TẬP JAVA
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
JSP
-
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
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
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 6
ÔN TẬP JAVA
-
-
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
Trình bày dữ liệu
View layer
Cấu trúc chương trình: dùng các thẻ
Phát sinh nội dung động HTML
động (JSP)
Như một chương trình Java
Xử lý nghiệp vụ
Controller layer
Cấu trúc chương trình là một
class
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.
Nhóm xxx
Page 7
ÔN TẬP JAVA
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
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.
Session
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 Session là một đối tượng riêng
tượng riêng biệt mà thuộc đối biệt thuộc lớp
tượng Response.
javax.serverlet.http.HttpSession
Nhóm xxx
Page 8
ÔN TẬP JAVA
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.
Nhóm xxx
Page 9
ÔN TẬP JAVA
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à
Nhóm xxx
Page 10
ÔN TẬP JAVA
thường được lưu giữ trong một cơ sở dữ liệu hoặc trong XML nodes, và 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 toá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 và 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 thu gọn lại
Java Bean là gì ?
- Java Beans là các thành phần có thể sử dụng lại
- Dùng để tách biệt business logic và presentation logic
- Bean thường được tạo ra trong quá trình xử lý business để lưu dữ liệu và được
chuyển cho lớp xử lý trình bày để hiển thị dữ liệu
- Bean = instance của một class
Cấu trúc của Bean:
- Java Bean là một class trong Java được thiết kế theo một số nguyên tắc:
+
Mỗi thuộc tính trong Bean đều phải có phương thức set/get hoặc chỉ set
hoặc chỉ get
+ Tên phương thức set/get trong Bean phải đặt theo mẫu:
set
()
get()/is()
Ví dụ: thuộc tính là name có phương thức tương ứng là getName().
Tên thuộc tính bắt buộc chỉ hoa viết ký tự đầu tiên
+ Phải cài đặt phương thức khởi tạo mặc định
-
Bean scope:
page: chỉ tồn tại trong trang đang xử lý
request: tồn tại theo request, được gắn theo request
session: tồn tại trong suốt một phiên làm việc, được gắn vào vùng nhớ session
application: tồn 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ễ dàng chia sẻ các
đối tượng giữa nhiều trang jsp hoặc giữa các request hơn.
Sự thuận tiện trong truy xuất các request parameter. Java Bean đơn giản
tối đa quá trình đọc các request parameter, chuyển chúng từ kiểu chuổi
sang kiểu dữ liệu thích hợp rồi chuyển thành thuộc tính tương ứng trong
đối tượng.
Để sử dụng Java Bean trong JSP ta dùng một trong 2 khai báo sau:
Khai báo sử dụng một bean có tên là object-name, class của bean này là gì.
Nếu như không tồn tại một bean nào có id và scope tương tự như khai báo, thì
bean sẽ được tạo mới.
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.
Câu 14: Phân biệt JavaBean và 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 thực thi business
logic và presentation logic
Môi trường hoạt động: EJB
container.
-
EJB containter hỗ trợ các dịch vụ
Transaction và Security và chỉ có
EJB API mới sử dụng được các
dịch vụ này, điểu này đơn giản
hóa các thao tác phức tạp mà
người lập trình đáng lẽ phải làm.
-
EJB để phát triển và triển khai
trên EJB container.
Câu 15 : Phân biệt cơ chế (phương thức) forward() và 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ình
-
-
forward()
Để 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
và 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.
Ví dụ : quá tệ
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
Nhóm xxx
Page 13
ÔN TẬP JAVA
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 và REQUEST DISPATCH
REDIRECT
REQUEST DISPATCH
- Redirect gửi tín hiệu yêu cầu trình - Request dis. phân phối yêu cầu
duyệt truy cập một url khác để
đến một số đối tượng trên server
hoàn thành tác vụ.
(servlet, jsp) để hoàn thành tác
vụ
- 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
trong
suốt
một
Tồn
tại trong suốt quá
- Tồn tại theo request từ
phiên làm việc, được
trình hoạt động của một
phía client, được gắn
gắn vào vùng nhớ
ứng dụng
theo request
session
Nhóm xxx
Page 14
ÔN TẬP JAVA
-
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.
-
Dữ liệu được kết nối đến 1 người dùng trong
suốt lần viếng
thăm(web)
- 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.
Chỉ có 1 phiên làm việc- - Bean sẽ còn tồn tại cho
cho mỗi người dùng,
đến khi ứng dụng được
tồn tại cho tới khi người khôi phục lại hoặc server
dùng rời khỏi trang
được khởi động lại.
web.
Request:
Sesion :
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;
}
<%@page import = "mybean.CounterBean"%>
<%@ bean id="myBean" scope="request " class="mybean.CounterBean"%>
The current counter's value is: <%=myBean.getCount()%>
<%//Increase count value
myBean.setCount(myBean.getCount() + 1);
//Next judgment myBean object scope
CounterBean obj = null;
String scope = null;
Nhóm xxx
Page 15
ÔN TẬP JAVA
//If object is session scope
obj = (CounterBean)session.getAttribute("myBean");
if (obj != null)
scope = "session";
//If object is application scope
obj = (CounterBean)application.getAttribute("myBean");
if (obj != null)
scope = "application";
//If object scope is not session or application then must is page
if (scope == null)
scope = "request";
%>
scope=<%=scope%>
Bỏ
Câu 18. Enterprise JavaBean là gì? Mục đích sử dụng EJB? Các loại EJB.
Enterprise JavaBean là 1 server side component trong một ứng dụng client – server,
nó chỉ thực thi trong EJB Container. Nó cung cấp các dịch vụ hỗ trợ xử lý giao dịch
(transaction), phân tán.. nhằm giúp các nhà phát triển viết các ứng dụng quy mô
Enterprise hiệu quả hơn.
Mục đích:
- Là ứng dụng có tính ổn định cao.
- Đảm bảo tính toàn vẹn dữ liệu với transaction
- Ứng dụng cho nhiều loại client khác nhau: web application, desktop application.
- EJB được thiết kế cho quy mô xí nghiệp, cung cấp các dịch vụ tính toán, xử lý
phức tạp, phân tán cho các ứng dụng client
EJB có 3 loại:
- Session bean: thực thi một tác cụ thêo yêu cầu của client.Có hai loại chính là
Stateless và Statefull.
- Message driven bean: hoạt động như là một bộ lắng nghe các JMS API, xử lý
các thông điệp theo cơ chế bất đồng bộ
- Enity bean: đại diện cho một thực thể tồn tại trong hệ thống lưu trữ cơ sở dữ
liệu.
Câu 19. Phân biệt local-client và remote-client (trong ngữ 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 client
-
-
Thường sử dụng trong trường
hợp:
- Thường sử dụng trong trường
hợp:
+ Bean gọi Bean
+Web component gọi Bean trong
cùng
một
logic
unit
(container/enterprise application)
+ Phân tán ứng dụng
(component)
+ Client application gọi Bean
Câu
20.
Hãy
trình
bày
qui
trình
hoạt
động
của
Struts Framework
(2)
(1)
(2)
Nhóm xxx
(3)
Page 17
(5)
ÔN TẬP JAVA
1. Trình duyệt tạo một request tới ứng dụng Struts sẽ được xử lý bới
ActionServlet (Controller).
2. Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một
Controller), ActionServlet tìm URI được yêu cầu trong một file strut
config.XML và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết.
3. Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng
và chuẩn bị dữ liệu cho hiển thị
4. Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho
ActionServlet, đồng thời kết quả sẽ được chuyển đến(forward) view resource
trang JSP.
Servlet căn cứ vào thông tin từ lời request ban đầu, tìm trong strutconfig.xml và chuyển tiếp đến trang jsp thích hợp
6. JSP (View) sử dụng dữ liệu nhận được , gửi về cho trình duyệt dạng HTML
5.
1/Tạo 1 account mới, chịu khó cày lv lại từ đầu,
còn ko thô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