Thứ Hai, 21 tháng 7, 2014
JSF Page comunication using param / query string
Đề bài:
Develope a web application to show products in one page and product details in other page.
Như đã biết bài trước ta đã tìm hiểu về JSF các bạn có thể xem lại tại đây.
Demo:
Kết quả sau khi Demo
Các bạn có thể tải Demo tại đây.
Nhận xét:
- JSF dễ dàng sử dụng hơn Struts.
- Struts được gắn với Struts API trong khi JSF có thể được thực hiện trong các đối tượng Java.
- Trong Struts, không có phụ thuộc Injection. JSF sử dụng phụ thuộc Injection.
- Thẻ Struts tạo ra HTML trực tiếp còn JSF không tạo ra HTML.
- JSF là "component" framework trong khi Struts là 1 "action" framework.
Develope a web application to show products in one page and product details in other page.
Như đã biết bài trước ta đã tìm hiểu về JSF các bạn có thể xem lại tại đây.
Demo:
| Tạo Database. |
| Thêm thư viện jsf và sqljdbc 4. |
| Tạo các packages và class như trên. |
| Code trong Company.java |
| Tạo class model để kết nối với Database. |
| Code lấy dữ liệu trong Database. |
| Code detail. |
| Code trong Home.java |
| Tạo trang JSF Managed Bean ViewDetail.java |
| Code trong index.xhtml |
| Code trong detail.xhtml |
Kết quả sau khi Demo
| Search |
| Search Complete |
| View Detail |
- JSF dễ dàng sử dụng hơn Struts.
- Struts được gắn với Struts API trong khi JSF có thể được thực hiện trong các đối tượng Java.
- Trong Struts, không có phụ thuộc Injection. JSF sử dụng phụ thuộc Injection.
- Thẻ Struts tạo ra HTML trực tiếp còn JSF không tạo ra HTML.
- JSF là "component" framework trong khi Struts là 1 "action" framework.
Develop Basic Component of JSF
I.Khái niệm JSF
- JSF là một môi trường phát triển GUI khá truyền thống, giống như AWT, SWT, và Swing. Một trong những lợi ích chính của nó là nó làm cho việc phát triển Web dễ dàng hơn bằng cách giao những công việc khó khăn cho các nhà phát triển khung công tác, chứ không phải cho các nhà phát triển ứng dụng. Cứ cho là bản thân JSF phức tạp hơn nhiều so với các khung công tác Web khác, nhưng sự phức tạp này được che giấu không để cho các nhà phát triển ứng dụng biết. Phát triển các ứng dụng Web trong JSF dễ dàng hơn nhiều so với hầu hết các khung công tác khác: nó đòi hỏi viết mã ít hơn, ít phức tạp hơn, và ít việc cấu hình hơn.
II.Ưu điểm của JSF:
- Tách biệt hoàn toàn giữa hành vi và cách trình bày
- Kiểm soát tính có trạng thái (statefulness) ở mức thành phần
- Các sự kiện dễ dàng được liên kết với mã phía máy chủ
- Sử dụng các khái niệm thành phần UI và tầng Web (Web-tier) quen thuộc
- Cung cấp nhiều dụng cụ của nhà sản xuất phần mềm đã tiêu chuẩn hóa
- Sự hỗ trợ IDE tuyệt vời
III.Thành phần của JSF:
- JavaBeans để quản lý trạng thái và hành vi của ứng dụng
- Các thành phần GUI có trạng thái
- Phát triển hướng sự kiện (thông qua các trình nghe-listener) giống như trong phát triển GUI truyền thống
Và sau đây là kết quả:
II.Ưu điểm của JSF:
- Tách biệt hoàn toàn giữa hành vi và cách trình bày
- Kiểm soát tính có trạng thái (statefulness) ở mức thành phần
- Các sự kiện dễ dàng được liên kết với mã phía máy chủ
- Sử dụng các khái niệm thành phần UI và tầng Web (Web-tier) quen thuộc
- Cung cấp nhiều dụng cụ của nhà sản xuất phần mềm đã tiêu chuẩn hóa
- Sự hỗ trợ IDE tuyệt vời
III.Thành phần của JSF:
- JavaBeans để quản lý trạng thái và hành vi của ứng dụng
- Các thành phần GUI có trạng thái
- Phát triển hướng sự kiện (thông qua các trình nghe-listener) giống như trong phát triển GUI truyền thống
IV.Demo
| Bước 1: Tạo Database. |
| Bước 2: Add thư viện sqljdbc4.jar và JSF 2.2 - javax.faces.jar như hình trên. |
| Bước 3: Bạn có thể tạo các class như trên hình. |
| Bước 4: Code trong class Company.java |
| Bước 5: Code kết nối Database trong model.java |
| Bước 6: Code lấy dữ liệu của Company trong model.java |
| Bước 7: Code trong Home.java |
| Bước 8: Code trong index.html |
V.Nhận xét
- Giao diện ứng dụng JSF bao gồm các trang JavaServer Pages (JSP).
- Trang JSP có chứa các thành phần JSF để thể hiện chức năng GUI.
- Sử dụng các thư viện tùy biến JSF bên trong trang JSP để biểu hiện các thành phần UI.
- JSF làm việc với JSP thông qua một cầu nối thư viện thẻ JSP.
- JSF không giới hạn đối với HTML và HTTP.
- Ngắn gọn và mạnh mẽ hơn Struts
- Trang dùng trong JSF có đuôi .jsp . Nhưng trong URL hiển thị đuôi .faces hoặc .jsf. Nên khi gọi trực tiếp sẽ bị exception.
Các bạn có thể tải Demo tại đây.Cảm ơn các bạn đã đọc Blog của tôi.
Integrate Struts 2 to solve complex problem
Đề bài:
Bài làm:
Các bạn có thể tải Demo tại đây.
- Qua bài Demo ta hiểu rõ hơn về cách làm việc của Struts 2
- Để sử dụng nó 1 cách hiệu quả ta cần tìm hiểu kĩ trước khi làm vì Struts 2 không đơn giản.
Bài làm:
![]() |
| Tạo Database |
| Add thư viện Struts |
![]() |
| Hình ảnh sau khi bạn add thư viện. |
| Tạo Book.java |
| Code trong Book.java |
| Tạo DataAcess để kết nối với database. |
| Code lấy tất cả danh sách Book trong DataAcess |
| Code lấy Book theo tên. |
| Tạo Bookbean để lấy dữ liệu. |
| Code trong index.jsp |
| Tạo Search.jsp |
| Tạo Error.jsp |
| Tạo WordSearch.java |
| Bước 12: Tạo struts.xml |
Nhận xét:
- Biết cách add thư viện Struts 2- Qua bài Demo ta hiểu rõ hơn về cách làm việc của Struts 2
- Để sử dụng nó 1 cách hiệu quả ta cần tìm hiểu kĩ trước khi làm vì Struts 2 không đơn giản.
- Nó cung cấp và thực hiện khai báo qua tập tin xml
- Struts2 hỗ trợ các gói cõ sẵn giúp cho người dùng viết code dễ dàng hơn.
- Struts2 hỗ trợ các gói cõ sẵn giúp cho người dùng viết code dễ dàng hơn.
Thứ Bảy, 19 tháng 7, 2014
Login using Interceptor in Struts2
| Bước 1: Tạo Database. |
| Bước 2: Tạo 1 web application với các class như trên. |
| Bước 3: Add thư viện Strust 2. |
| Bước 4: Tạo class Data Access để kết nối Database. |
| Bước 5: Code trong Account.java |
| Bước 6: Code trong Home.java |
| Bước 7: Code trong Login.java |
| Bước 8: Code trong struts.xml |
| Trang Login |
| Khi đăng nhập đúng sẽ vào trang Home |
Nhận xét:
- Qua bài Demo ta có thể thấy Interceptor đóng vai trò như 1 Filter nhưng 1 Interceptor cho phép chúng ta kiểm soát nhiều hơn so với Filter.
- Cách làm việc của Interceptor dễ dàng hơn so với Filter.
- Nó sẽ được gọi đến trước khi request đến action .
- Tính bảo mật trong Interceptor cao hơn.
Nhược điểm:
- Interceptor : chỉ có thể được áp dụng cho 1 nhóm nhất định.
Demo các bạn có thể tải tại đây. Cảm ơn đã đọc Blog của tôi.
Thứ Tư, 16 tháng 7, 2014
Components of struts 2
Working with Action
- Khi client request đến server điều gì thì phải request đến một action. Tùy thuộc vào câu trả lời, nó sẽ đưa ra view tương ứng .
- Action : đóng vai trò xử lý mọi tương tác với người dùng.
![]() |
| Action |
| Implementing action |
Working with Interceptor:
- Được gọi trước khi thông tin đi tới action và sau khi được xử lý trong action.
- Chỉ xử lý được với những thông tin của action, không có khả năng lọc như filter trong servlet.
The value stack:
- Là nơi chứa tất cả các thông tin mà action, view cần như session request, các thuộc tính trong action, model...
The OGNL:
- The OGNL(Object - Graph Navigation Language) là một ngôn ngữ biểu thức rất mạnh mẽ để giúp lấy dữ liệu trong Stack.
Validations
- Struts 2 hỗ trợ việc validation cho client và server.
- Cung cấp và thực hiện khai báo qua tập tin xml.
- Struts 2 hỗ trợ các thành phần có sẵn giúp khắc phục tính phức tạp cho người viết code validation tương tự như Struts 1 Validation Framework.
Type Conversion:
- Convert dữ liệu tương ứng từ view vào trong action và ngược lại.
Đăng ký:
Bài đăng (Atom)

+(1).png)


