Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,01 MB
Nội dung
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Trang 1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦNMỀM
Y
Z
Xây DựngPhầnMềm
Hướng ĐốiTượng
ĐỀ ÁN MÔN
Tên ĐềÁn : MVC Architecture
& Struts Framework In
Java(J2EE)
GVHD : Trần Minh Triết
SV thực hiện :
•
Võ Đức Thiện (06hc418)
•
Nguyễn Trí Toàn (06hc425)
•
Nguyễn Thành Trực (06hc437)
Tháng 10/2007
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Mục Lục
Phần I : Tổng quan ngôn ngữ java 4
1. Lịch sử phát triển của Java 4
2. Mục đích của Java 4
3. Đặc điểm của Java 4
4. Các loại chương trình trong java 5
5. Các thành phần của Java Environment 5
6. Các loại ứng dụng java 5
Phần II : Môi Trường Phát Triển Ứng Dụng Java 6
1. Khái niệm 6
2. Kiến trúc Eclipse 6
3. The Platform runtime 7
4. The workspace 7
5. The Workbench 7
6. Team support 7
7. Help 7
Phần III : Giới thiệu J2EE và các thành phần liên quan 8
1. Applet 8
2. JavaBean 9
3. JSP 10
4. Servlets 11
Phần IV : Kiến trúc MVC (Model _View_Controller) 13
1. Khái niệm 13
2. Mối quan hệ giữa View và controller 14
3. Mối quan hệ giữa Model và view 14
4. Các lợi điểm của MVC 15
5. Hạn chế của MVC 15
Phần V : Áp dụng kiến trúc MVC xâydựng ứng dụng triển khai thực tế 16
1. Qui trình thực hiện 16
1.1. View 16
1.2. Controller 17
1.3. Model 20
2. Triển khai ứng dụng 23
2.1. Cơ sở dữ liệu 23
2.2. Bố trí các tập tin trên Eclipse 23
2.3. Kết quả 24
Phần VI : Struts Framework 25
1. Struts 1.0 25
1.1. Khái niệm 25
1.2. Cấu trúc của Struts 26
1.3. Các thành phần chính của một ứng dụng Struts 27
1.4. Các file cấu hình cần thiết đểxâydựng một ứng dụng Struts 27
1.5. Ưu điểm của Struts (so với MVC sử dụng RequestDispatcher) 28
1.6. Nhược điểm của Struts 28
2. Struts 2.0 29
Trang 2
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Phần VI: Áp dụng kiến trúc MVC xâydựng ứng dụng triển khai thực tế 30
1. Qui trình thực hiện 30
1.1. Các trang hiển thị(View) 30
1.2.Action 37
1.3.Bean 40
1.4.Utils 46
1.5.Struts.xml 47
1.6.Build.xml 49
2 . Triển Khai Ứng Dụng 50
2.1.Cơ sở dữ liệu 50
2.2. Bố trí các tập tin trên Eclipse 50
Website Tham Khảo
www.vietcore.net¾
www.javavietnam.org
¾
www.sun.java.com
¾
www.apache.com
¾
www.manguon.com
¾
Trang 3
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Phần I
Tổng quan ngôn ngữ java
1. Lịch sử phát triển của Java
• Ra đời tại Sun Microsystems bởi James Gosling
• 1991: Version đầu tiên với tên “Oak”
• 1995: Tên chính thức là Java
2. Mục đích của Java:
• Dùngđể phát triển ứng dụng cho các thiết bị điện tử “thông minh”
• Tạo các trang web có nội dung động (web applet)
• Hiện nay, Java được sử dụngđể phát triển nhiều loại ứng dụng khác
nhau: cơ sở dữ liệu, mạng, Internet, viễn thông
3. Đặc điểm của Java :
• Giống C/C++
• Đơn giản
• Object-oriented, hướngđốitượng
• Platform-independent, không phụ thuộc nền
• Mạnh
• Secure, bảo mật
• Distributed, phân bố
• Multithreaded, xử lý đa luồng
• Dynamic, động
Chương trình dịch cổ điển
Trang 4
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Chương trình dịch trong java
4. Các loại chương trình trong java :
• Applets
• Command Line Applications
• GUI Applications
• Servlets
• Database Applications
5. Các thành phần của Java Environment
• Java language
• Bytecode definitions
• Java/Sun class libraries
• Java Virtual Machine
• Structure of .class files
6. Các loại ứng dụng java :
• J2SE : Java 2 Standard Edition (Dùng để phát triển các ứng dụng vừa và nhỏ)
• J2EE : Java 2 Enterprise Edition (Dùng để phát triển các ứng dụng lớn)
• J2ME : Java 2 Micro Edition (Dụng để phát triển các ứng dụng trên đtdd)
Trang 5
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Phần II
Môi Trường Phát Triển Ứng Dụng Java
1. Khái niệm :
Eclipse là phầnmềm miễn phí, được các nhà phát triển sử dụngđểxâydựng
những ứng dụng J2EE, sử dụng Eclipse nhà phát triển có thể tích hợp với nhiều
công cụ hỗ trợ khác để có được một bộ công cụ hòan chỉnh mà không cần dùng
đến phầnmềm riêng nào khác.Eclipse SDK bao gồm 3 phần chính : Platform,
Java Development Toolkit (JDT), Plug-in Development Environment (PDE).
Với JDT, Eclipse được xem như là một môi trường hỗ trợ phát triển Java mạnh
mẽ. PDE hỗ trợ việc mở rộng Eclipse, tích hợp các Plug-in vào Eclipse Platform.
Eclipse Platform là nền tảng của toàn bộ phầnmềm Eclipse, mục đích của nó là
cung cấp những dịch vụ cần thiết cho việc tích hợp những bộ công cụ phát triển
phần mếm khách dưới dạng Plug-in, bản thân JDT cũng có thể được coi như là
một Plug-in làm cho Eclipse như là một Java IDE (Integrated Development
Enviroment).
2. Kiến trúc Eclipse :
Trang 6
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
3. The Platform runtime :
• Công việc chính của Platform runtime là phát xem plug-in nào đang có
trong thư mục plug-in của Eclipse.Mỗi Plug-in đều có 1 tập tin Manifest liệt
kê những kết nối mà plug-in cần.Pug-in chỉ được tải vào Eclipse mỗi khi
thực sự cần thiết để giảm lượng tài nguyên yêu cầu và thời gian khởi tạo.
4. The workspace :
• Workspace chịu trách nhiệm quản lý tài nguyên người dùng được tồ chức
dưới dạng Project. Mỗi Project là một thư mục con trong thư mục
Workspace.
• Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên, tránh
thất thoát tài nguyên người dùng.
• Workspace đồng thời chịu trách nhiệm thông bào những công cụ cấn thiết
cho việc thay đổi tài nguyên.
5. The Workbench :
• Workbench là giao diện đồ họa người dùng của Eclipse, gồm có Standard
Widget Toolkit (SWT) và JFace. Eclipse không hòan toàn bắt buộc phải sử
dụng SWT hay Jface để lập trình giao diện, bạn vẫn có thể sử dụng AWT
hay SWING của Java thông qua việc cài đặt các Plug-ins.
6. Team support :
• Trang bị hệ thống quản trị để quản lý dự án của người dùng : Concurrent
Versions System (CVS).
7. Help :
• Cung cấp hệ thống tài liệu mở rộng, có thể là định dạng HTML hay XML.
Cửa sổ chính của eclipse3.2
Trang 7
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Phần III
Giới thiệu J2EE và các thành phần liên quan
(Applet , JavaBean , JSP , Servlet , EJB)
Là 1 thành phần rất quan trọng và rộng lớn trong lĩnh vực java , J2EE được
dùng để phát triển các ứng dụng lớn mang tính chất phân tán rộng khắp. Đây
là lĩnh vực được chú trọng và ứng dụng nhiều nhất của java trong thực tế.
Sơ đồ các thành phần trong J2EE
1. Applet :
• là một chương trình Java chạy trên web browser
• Tất cả các applets phải là lớp con của lớp Applet hoặc JApplet
• Để tạo ra một applet, ta phải import:
¾ java.applet
¾ java.awt
• Một applet có 4 phương thức. Mỗi phương thức được tự động gọi khi có
event tương ứng.
• Methods:
• init( )
• start( )
• stop( )
• destroy( )
Trang 8
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Sự khác nhau giữa Applet và Application
• Applications chạy bằng Java interpreter, còn applets chạy trên browser có hổ
trợ Java, hoặc dùng ‘AppletViewer’ có trong JDK.
• Việc thực hiện một applications bắt đầu trong hàm ‘main()’. Còn applet thì
không cần hàm main.
• Applications dùng ‘System.out.println()’ để xuất, trong khi applets dùng hàm
‘drawString()’ để hiển thị.
•
Các hạn chế về Security trên Applets
• Không thể đọc hoặc viết các file trên hệ thống file của user.
• Không thể trao đổi với một site trên.
• Không thể chạy được các chương trình trên hệ thống hiện hành
• Không thể tải bất kỳ chương trình được lưu trữ trên hệ thống của user.
2. JavaBean:
JavaBeans là software component model
Nó có thể tương tác với các đốitượng của các software khác và có thể được
dùng lại
Các software components mà có thể dùng lại này được gọi là ‘beans’
Components được dùng trong distributed environments. JavaBeans được thiết
kế đểdùng khi cần.
Java thường xâydựng các software thông qua các JavaBeans.
Khi mà Java Beans được tạo ra, thì chúng có thể được dùng như một thư viện
không phụ thuộc nền
Trang 9
MVC Architecture & Struts Framework in J2EE (Java) 10/2007
Các qui tắc để tạo ra một Beans
Là một class.
phải có một default constructor.
Có ít nhất một thuộc tính và là non-public
Các thuộc tính được truy xuất từ bên ngoài thông qua các hàm getXXX và
setXXX.
3. JSP : (Java Server Pages)
JSP technology đươc xâydựng trên ngôn ngư lap trình Java
No thừa ke tat ca cac ưu điem cũng như cac đac tính cua ngôn ngư Java.
JSP co the dung trên tat ca cac platforms
Cách làm việc của JSP
Các bước xử lý của 1 request
Trang 10
[...]... spreadsheet Các thành phần hợp thành giao diện người sử dụng Bởi vì MVC đòi hỏi giao diện người sử dụng ứng dụng được cấu trúc thành các đốitượng kế thừa nhau và định nghĩa các quan hệ chuẩn giữa các đốitượng này, các phiên bản chung của các đốitượng này là có thể có được Chúng thông thường được gọi là cá thành phần giao diện kết hợp với các view và các controller thành một đốitượng đơn WACT là một... quyết định hành động được triệu gọi Trang login.jsp gửi hành động login và đối tượng action lớp LoginAction sẽ được triệu gọi Đối tượng action này cài đặt một giao diện chuẩn (Action) với một phương thức execute, có các đối số là các đối tượng Request và Response Phương thức này trả về đường dẫn (page) đến trang sẽ gọi kế tiếp (phần View), người dùng chuyển tiếp (forward) đến trang này bằng giao diện... lý cho người dùng 1.4 Các file cấu hình cần thiết đểxâydựng một ứng dụng Struts: • web.xml: file này chứa toàn bộ các cấu hình của ActionServlet, các sự ánh xạ của các yêu cầu từ phía người dùng đến ActionServlet, và tất các Struts Tag Library Definitions (TLDs) • struts-config.xml: file này chứa tất cả các thông tin cấu hình cho một ứng dựng xâydựng dựa trên Struts • ApplicationResources.properties:... chọn các view và view hướng đến việc chiệu trách nhiệm ít hơn đối với các controller của nó 3.Mối quan hệ giữa Model và view View phụ thuộc vào model Các sự thay đổiđối với giao diện model đòi hỏi các sự thay đổi song song trong view Thật khó để có được một sự tách biệt rõ rành giữa model và view Chẳng hạn như, xét một yêu cầu “hiển thị một cán cân âm bằng mầu đỏ” Đầu tiên cán cân, điều này xuất hiện... view và các controller thành một đốitượng đơn WACT là một sự nổ lực để đưa ra một tập các thành phần phong phú tương tự nhau đối với việc phát triển web mà duy trì được sự tách biệt giữa view và controller Các thành phần thúc đẩy sự sử dụng lại và cắt giảm sự cần thiết đối với các lớp con đặc biệt Các thành phần này được biết như là các view có khả năng cắm vào trong tuyến tính smlltalk MVC Nhiều view... (Java) 10/2007 Phương thức execute() của lớp LoginAction tạo (instantiate) một đốitượng Model mới (UserBean), đặt nó vào trong Session, và trả về đường dẫn đến trang kế tiếp tức welcome.jsp Chú ý phần Controller này sẽ thiết lập các thuộc tính cho JavaBean, nếu ở đây dùng trang JSP thì sẽ có action jsp:setProperty 1.3 Model Phần Model trong ứng dụng đơn giản này chỉ có đúng một JavaBean UserBean.class... của view và controller đối với model Sự thay đổiđối với giao diện model đòi hỏi sự thay đổi song song trong view và có thể đòi hỏi sự thay đổi thêm đối với controller Sự thay đổi code nào đó có thể trở nên khó khăn hơn Tìm ẩn sự cập nhật dư thừa Cơ chế truyền sự thay đổi có thể không hiệu quả khi model thay đổi thường xuyên đòi hỏi nhiều thông báo thay đổi Đây không phải là vấn đề chung nếu passive... triển dễ dàng thay đổi nội dung các text và các nội dungdùng chung sử dụng trong ứng dụng Các thư viện thẻ Struts đểxâydựng các thành phần trình diễn trong một ứng dụng: + : cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để chia nhỏ giao diện người dùng thành các thành phần có thể dễ dàng tháo rắp + : cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để quản lý đầu ra... nhất quán của MVC xuyên suốt ứng dụng 1.6 Nhược điểm của Struts : - Nhược điểm của Struts : • Để sử dụng MVC với chuẩn RequestDispatcher, ta cần nghiên cứu sâu với chuẩn JSP và Servlet APIs Để sử dụng MVC với Struts, ta còn phải hiểu rõ cả framework rộng lớn và phức tạp, nó tương tự như việc tìm hiểu cả cái cốt lõi của hệ thống Điều bất lợi này đặc biệt đáng kể với những dự án nhỏ, những dự án có ít... Struts khi thực hiện đềán Trang 28 MVC Architecture & Struts Framework in J2EE (Java) 10/2007 - Ít có tài liệu hỗ trợ • So sánh với chuẩn servlet và JSP APIs, Struts có ít tài liệu hổ trợ hơn nhiều - Less transparent: • Với những ứng dụng Struts, có nhiều lỗi bên dưới hơn những ứng dụng Web dựa trên ngôn ngữ Java bình thường Vì thế, ứng dụng Struts thì: + Khó tìm hiểu + Khó chuẩn hóa và đánh giá - Cứng .
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
Y
Z
Xây Dựng Phần Mềm
Hướng Đối Tượng
ĐỀ ÁN MÔN
Tên Đề Án : MVC Architecture
& Struts Framework. cấu trúc thành
các đối tượng kế thừa nhau và định nghĩa các quan hệ chuẩn giữa các đối
tượng này, các phiên bản chung của các đối tượng này là có thể