1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu công nghệ Struts 1.x và xây dựng demo ứng dụng

39 418 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sau đây chúng em xin trình bày đề tài “Tìm hiểu công nghệ Struts 1.x và xây dựng demo ứng dụng”. I. Mục tiêu Hiểu sâu, hiểu rõ về Struts 1 Framework. Một công nghệ mà hiện đang được sử dụng rất nhiều tại các công ty phát triển phần mềm lớn ở Việt Nam. Hy vọng đây sẽ là 1 nghiên cứu hữu ích, ko chỉ cho những người mới làm quen với lập trình web, mà còn giúp cho những người đang tìm hiểu về Struts, đang phát triển ứng dụng web với Struts tích lũy thêm kiến thức.

Trang 1

3 Báo cáo và chương trình:

- Báo cáo và thuyết minh trình bày theo mẫu

- Chương trình ghi vào đĩa CD để nạp

TỔ TRƯỞNG BỘ MÔN GIÁO VIÊN HD NHÓM SV THỰC HIỆN

Trang 2

Ngày kiểm tra Tiến độ công việc Nhận xét của GVHD Chứ ký của GVHD

5 Đồng ý cho bảo vệ hay không đồng ý:

………

………

Nghệ An, Ngày tháng năm 2014

Giáo viên hướng dẫn

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

Vinh, Ngày 18 tháng 3 năm 2015 Giáo viên hướng dẫn (Ký ghi rõ họ tên ) NHẬN XÉT CỦA GIÁO VIÊN CHẤM ………

………

………

………

………

Vinh, Ngày 04 tháng 04 năm 2015

Giáo viên hướng dẫn

(Ký ghi rõ họ tên )

Trang 4

MỞ ĐẦU

Ngày nay, ngành công nghệ thông tin đang phát triển như vũ bão và đi vào mọimặt của đời sống, kinh tế, xã hội của con người Đóng góp vào sự phát triển đó, vai tròcủa Web ngày càng trở nên quan trọng và là một công cụ đắc lực dẫn tới mọi thành côngtrong nhiều lĩnh vực trọng điểm Với sự bùng nổ của truyền thông như hiện nay thì Web

là phương thức lan truyền thông tin nhanh chóng, hiệu quả và kinh tế nhất Rất nhiều tậpđoàn sản xuất phần mềm lớn như IBM, Microsoft, Sun MicroSystem … đã tham gia vàolĩnh vực xây dựng và phát triển các ứng dụng Web Tuy nhiên, các ứng dụng Web pháttriển nhanh và mạnh mẽ như hiện nay không thể không kể đến một cộng đồng, đó là cộngđồng mã nguồn mở Sự đóng góp của họ là vô cùng lớn lao với mục đích cao cả là pháttriển công nghệ và phục vụ cộng đồng Rất nhiều dự án lớn đã ra đời từ cộng đồng mãnguồn mở, có thể kể đến một số framework nổi tiếng như: Struts, Hibernate, Spring,JSF…

Ở Việt Nam, phát triển các ứng dụng Web là hướng đi đầy tiềm năng và hứa hẹncho tất cả những ai yêu thích công nghệ thông tin nói chung và những kỹ sư phần mềmnói riêng

Sau đây chúng em xin trình bày đề tài “Tìm hiểu công nghệ Struts 1.x và xây

dựng demo ứng dụng”.

Hiểu sâu, hiểu rõ về Struts 1 Framework Một công nghệ mà hiện đang được sử

dụng rất nhiều tại các công ty phát triển phần mềm lớn ở Việt Nam Hy vọng đây sẽ là 1nghiên cứu hữu ích, ko chỉ cho những người mới làm quen với lập trình web, mà còngiúp cho những người đang tìm hiểu về Struts, đang phát triển ứng dụng web với Strutstích lũy thêm kiến thức

Tìm hiểu chi tiết về Struts Framework Từ cơ sở lý thuyết để tạo một ví dụ demo ứng dụng Struts Framework

- Tự tìm hiểu qua sách, và các bài báo

- Phân tách nhỏ dần các thành phần của Framework.

- Giải quyết các vấn đề.

Trang 5

Đồ án Lập Trình Java

MỤC LỤC

MỞ ĐẦU I MỤC LỤC II

CHƯƠNG I: GIỚI THIỆU TỔNG QUAN 7

I.1 NGÔN NGỮ LẬP TRÌNH JAVA VÀ CÔNG NGHỆ WEB JAVA 7

I.2 TRƯỚC KHI STRUTS 1 RA ĐỜI 8

I.2.1 Java Servlet 8

I.2.2 Java Server Page (JSP) 2

CHƯƠNG II: CÔNG NGHỆ STRUTS 1.X 2

II.1 MÔ HÌNH MVC VÀ MÔ HÌNH JSP 2

II.1.1 Mô hình lập trình MVC 2

II.1.2 Mô hình JSP 2

II.2 CÔNG NGHỆ STRUTS 1 17

II.2.1 Lịch sử hình thành 17

II.2.2 Struts 1 18

II.2.3 Kiến trúc Struts 1 18

II.2.4 Xây dựng thành phần Model 2

II.2.5 Xây dựng thành phần View 24

II.2.6 Xây dựng thành phần Controller 26

CHƯƠNG III: TRIỂN KHAI ỨNG DỤNG 34

CHƯƠNG IV: KẾT LUẬN 44

IV.1 KẾT QUẢ ĐẠT ĐƯỢC 44

IV.2 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 44

IV.3 TÀI LIỆU THAM KHẢO 44

Trang 6

CHƯƠNG I: GIỚI THIỆU TỔNG QUAN I.1 NGÔN NGỮ LẬP TRÌNH JAVA VÀ CÔNG NGHỆ WEB JAVA

Java là một ngôn ngữ lập trình do hãng Sun phát triển từ đầu những năm 90 đã trởthành một ngôn ngữ lập trình hướng đối tượng rất được ưa chuộng trong những năm gầnđây Java được sử dụng phổ biến trên toàn thế giới nhằm đáp ứng các yêu cầu phát triểnứng dụng trên mạng phục vụ cho nhiều người dùng với những môi trường thực thi phầnmềm khác nhau

Java là một ngôn ngữ lập trình hoàn chỉnh được thiết kế theo hướng đối tượng vớiđầy đủ các tính chất quan trọng của ngôn ngữ lập trình hướng đối tượng:

Java bao gồm các bộ phận:

- Máy ảo Java: JVM.

- Bộ công cụ phát triển: J2SDK

- Các đặc tả chi tiết kĩ thuật (specifications).

- Ngôn ngữ lập trình (programming language).

Công nghệ Java được chia làm ba bộ phận:

- J2SE: Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng

dụng trên desktop và định nghĩa các phần thuộc nhân của Java

- J2EE: Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng

qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server) Bộ phận hay đượcnhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java đểlàm các ứng dụng web

- J2ME: Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng Java

chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và

Trang 7

Đồ án Lập Trình JavaJ2EE là một khung ứng dụng Web hoạt động hiệu quả J2EE chỉ hỗ trợ ngôn ngữlập trình Java và trong tương lai có lẽ cũng không có ngôn ngữ lập trình nào được hỗ trợthêm bởi kiến trúc này Nhưng khung ứng dụng J2EE và ngôn ngữ Java có tính khảchuyển cao Một chương trình viết bởi Java được thực thi trên máy ảo Java (Java VirtualMachine) thay vì trực tiếp trên hệ điều hành cụ thể Do đó, mã chương trình có thểchuyển từ một hệ điều hành này sang một hệ điều hành khác (có hỗ trợ JVM) để thực thimột cách dễ dàng.

Kiến trúc đa tầng trong ứng dụng J2EE:

Các thành phần:

- Client-tier chạy trên máy client.

- Web tier, Business tier (là Java Servlet và Java Server Pages) chạy trên J2EE

server

- EIS (Enterprise information system)-tier chạy trên EIS server.

I.2 TRƯỚC KHI STRUTS 1 RA ĐỜI

I.2.1 Java Servlet

I.2.1.1 Tổng quan Java Servlet

Trang 8

Servlet được tạo ra vào năm 1997, Servlet là các thành phần đối tượng nhúng trêntrình chủ Web server thực hiện xử lý yêu cầu và sinh ra các trang Web động trả về máykhách

Java Servlet là công nghệ nền tảng cho các công nghệ khác để tạo ra các ứng dụngWeb có tính tương tác cao mà giao diện người dùng được sinh ra ở phía server Mộtservlet là một lớp của Java xử lý động các yêu cầu và xây dựng các trả lời Mặc dù servlet

có thể dùng để trả lời bất kỳ một yêu cầu nào nhưng chúng thường dùng để hỗ trợ cho cácứng dụng Web

Servlet là một thành phần ứng dụng Web không phụ thuộc vào hệ nền Về bảnchất thì Servlet là một chương trình Java (chỉ cần nạp một lần vào máy ảo) thường được

sử dụng để chạy nền trên các máy ảo Java Khi có một yêu cầu từ trình duyệt (Browser),máy chủ (server) sẽ phát lệnh thực hiện Servlet tương ứng, kết quả trả về của Servlet sẽđược máy chủ xử lý và trả về cho trình duyệt dưới dạng các trang HTML

Hình 2: Java Servlet trong kiến trúc J2EE

I.2.1.2 Mô hình Servlet Response and Request

Trang 9

Đồ án Lập Trình Java

Hình 3: Mô hình Servlet Response and Request

Nhiệm vụ của Servlet:

- Nhận Client Request (hầu hết ở dạng HTTP Request)

- Trích xuất thông tin từ Request

- Xử lý nghiệp vụ (Truy cập cơ sở dữ liệu, …)

- Tạo và gửi trả Response cho Client (hầu hết ở dạng HTTP Response) hoặc

Forward cho Servlet hoặc trang web khác

- Request là những thông tin được gửi từ Client đến Server

- Response là những thông tin được gửi từ Server đến Client

I.2.1.3 Vòng đời của một Servlet

Trang 10

Hình 4: Vòng đời Servlet

I.2.2 Java Server Page (JSP)

Công nghệ JSP kế thừa tất cả các kỹ thuật động của công nghệ Java Servlet, nhưng

nó lại cung cấp một cách tiếp cận tự nhiên hơn trong việc tạo ra các thành phần Web tĩnh,JSP có thể kết hợp giữa công nghệ sinh trang HTML tĩnh với công nghệ động sinh ra cáctrang HTML JSP là công nghệ lập trình Web phía máy chủ của Java, JSP cho phép truyxuất, xử lý đơn giản, giúp cho lập trình viên xử lý dễ dàng

Đặc trưng của công nghệ JSP:

- Cho phép trộn giữa mã Java và các thẻ HTML.

- Xây dựng các đối tượng phía máy chủ.

- JSP sử dụng các truy xuất và xử lý đơn giản như : trình bày giao diện, định

dạng trang HTML, triệu gọi các Javabean, servlet khác …

Nguyên tắc:

- JSP script được viết lồng vào các trang HTML.

- Khi có yêu cầu client, JSP Engine sẽ dịch JSP script thành mã Java.

- Java Compiler dịch Java code thành bytecode.

- Bytecode chạy trên máy ảo Java.

Trang 11

Đồ án Lập Trình Java

Hình 5: JSP trong kiến trúc J2EE

Với những lợi thế và những đặc điểm của mình dựa trên hướng mã nguồn mở vànhất là với sự ra đời của các framework nổi tiếng như : Struts, Hibernate, Spring, JSF,AJAX dựa trên nền tảng của công nghệ Java đã khuấy động lên một cuộc cách mạngtrong lĩnh vực lập trình ứng dụng Web : “Chỉ trong một tương lai không xa, tất cả cácứng dụng phần mềm đều là ứng dụng Web”

Trang 12

CHƯƠNG II: CÔNG NGHỆ STRUTS 1 II.1 MÔ HÌNH MVC VÀ MÔ HÌNH JSP

II.1.1 Mô hình lập trình MVC

II.1.1.1 Tổng quan

Mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm hay môhình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho các developer tách ứngdụng của họ ra 3 thành phần khác nhau Model, View và Controller Mỗi thành phần cómột nhiệm vụ riêng biệt và độc lập với các thành phần

Hình 6: Mô hình MVC

Để thiết kế một một ứng dụng web, người ta có thể sử dụng công nghệ Jsp hoặcJava Servlet Tuy nhiên trên thực tế để tận dụng những ưu điểm, hạn chế những khuyếtđiểm của cả hai công nghệ trên một ứng dụng web thường được thiết kế dựa trên cả haicông nghệ Cùng với mô hình MVC tạo nên một nền tảng phát triển ứng dụng mạnh mẽ

mà các công nghệ ra đời sau này đều được phát triển trên nền tảng đó (Struts, Spring, …)

Trang 13

Đồ án Lập Trình Java

Hình 7: Sự kết hợp Jsp, Java Servlet và MVC

- Model: Bao gồm tất cả các thông tin trạng thái của hệ thống Các thông tin

được cung cấp trong các đối tượng hay các Bean

- View: Bộ phận thể hiện giao diện trực quan với người dùng Do Jsp đảm

- Là một ánh xạ của thế giới thực, mô tả các thực thể mà hệ thống quản lý.

- Thực hiện các truy vấn trên cơ sở dữ liệu.

- Tính toán, xử lý nghiệp vụ hệ thống.

- Đóng gói miền Logic hệ thống mà độc lập hoàn toàn với việc trình bày trực

quan

Trang 14

2 Controller:

- Được thiết kế nhằm mục đích tạo nên các kết nối logic giữa những tương tác

người dùng và xử lý nghiệp vụ của hệ thống

- Nó nhận và vận chuyển các đầu vào là những thông tin nhập từ người dùng đến

Model hoặc View

- Những thông tin đầu vào và những chỉ thị người dùng được truyền tới View và

Model nhờ việc thực hiện các Action

- Controller cũng có trách nhiệm dựa vào những thông tin đầu vào và các kết

quả xử lý nghiệp vụ hệ thống để quyết định đầu ra là trang nào trong View

- Ánh xạ giữa các Action đến các tài nguyên của ứng dụng.

3 View

- Lấy dữ liệu từ Model và biểu diễn đến người dùng

- Biểu diễn các đầu vào, đầu ra của ứng dụng

- Hiển thị kết quả xử lý nghiệp vụ hệ thống

- Có thể truy xuất tới Model Đây là sự mềm dẻo của mô hình MVC

- Việc truy xuất đến Model được thực hiện nhờ các câu lệnh truy vấn

II.1.1.3 Mối quan hệ giữa các thành phần trong MVC

- View và Controller : Controller có nhiệm vụ tạo ra hoặc lựa chọn View

- Model và Controller : Controller dựa vào Model Nếu Tại Model có một sự

thay đổi thì có thể sẽ dẫn theo sự thay đổi ở Controller

- Model và View : View dựa vào Model Nếu tại Model có một sự thay đổi thì

có thể sẽ dẫn theo sự thay đổi ở View

Trang 15

3: Establish bean state, then place in session or request object

4: redirect to appropriate view

2: Retrieve Data 1: Post

Đồ án Lập Trình Java

II.1.1.4 Mô hình cộng tác MVC

Hình 8: Mô hình cộng tác MVC

II.1.1.5 Các ưu điểm của mô hình MVC

- Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhómđược đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trìnhđến tổ chức database

- Bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần củamột hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trongtừng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tánnáo loạn trong cả chương trình

- Mở rộng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năngvào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác Tiện về bug lỗi,kiểm soát code, workflow dễ dàng hơn và nhiều người có thể tham gia pháttriển cùng trên 1 module

II.1.1.6 Các nhược điểm của mô hình MVC

- Đối với dự án nhỏ: Cồng kềnh, tốn thời gian phát triển

- Tốn thời gian trung chuyển DTO (Data Transfer Object) giữa các layers

II.1.2 Mô hình JSP

Trang 16

- Ứng dụng web bao gồm một loạt các trang Jsp có liên quan tới nhau.

- Yêu cầu của máy khách được xử lý bởi trang Jsp Jsp xử lý mọi khía cạnh của

ứng dụng như: trình bày giao diện, điều khiển, xử lý logic hệ thống

- Trang Jsp truy xuất cơ sở dữ liệu thông qua các Java Bean để có được thông tin

tạo trang tương ứng đến cho người dùng

Việc phát triển ứng dụng web sử dụng phần tử script, các thẻ tạo bởi lập trình viên,

và một ngôn ngữ script Trang tiếp theo được lựa chọn được chỉ định bởi các siêu liên kếthoặc Action của việc Submit form

Hình 10: Mô hình Request - Response Jsp 1

Trang 17

Đồ án Lập Trình Java

- Với cách thiết kế của Jsp 1, nó phù hợp với những ứng dụng nhỏ.

- Thích hợp với các ứng dụng nhỏ, có luồng xử lý đơn giản

- Tách biệt các trang hiển thị từ nội dung.

Hạn chế:

- Để thay đổi tên của một trang Jsp có thể phải thay đổi ở rất nhiều nơi

- Khó khăn để sửa đổi ứng dụng, nếu ứng dụng phức tạp thì một lượng code java

lớn bị nhúng vào trong trang Jsp

- Không thích hợp với ứng dụng lớn, phức tạp.

II.1.2.2 Mô hình Jsp 2

Ứng dụng web mà các trang Jsp chỉ được sử dụng cho mục đích tạo nên giao diệnngười dùng cho ứng dụng, còn thành phần xử lý nghiệp vụ của ứng dụng được đặt ở cácJava Servlet

Hình 11: Mô hình Jsp 2

Đặc trưng:

- Được thiết kế dựa trên mô hình MVC.

- Một sự kết hợp thông minh của Jsp, Java Servlet, và Java Bean Jsp chỉ sử

dụng cho mục đích hiển thị, Java Servlet điểu khiển, xử lý các yêu cầu ban đầu,một phần xử lý dữ liệu, thiết lập các Bean, sau đó chuyển tiếp kết quả vào mộthoặc nhiều trang Jsp khác nhau

- Java Servlet phục vụ ứng dụng như một người bảo vệ, cung cấp cho ứng dụng

các dịch vụ phổ biến như: chứng thực, ủy quyền, đăng nhập, điều khiển lỗi…

Trang 18

- Java Servlet như một bộ điều khiển trung tâm, hoạt động như một máy trạng

thái hoặc một bộ điều khiển sự kiện để quyết định các xử lý logic nghiệp vụphù hợp với các yêu cầu

Hình 12: Mô hình Request – Response Jsp 2

Ưu điểm:

- Dễ dàng hơn cho việc phát triển, bảo trì, và mở rộng.

- Thích hợp với những ứng dụng lớn, phức tạp.

Hạn chế:

- Phức tạp hơn cho việc thiết kế.

II.2 CÔNG NGHỆ STRUTS X

Struts là một framework mã nguồn mở được phát triển trên nền tảng của ngôn ngữJava, JSP nhằm mục đích tạo ra một thành phần chuẩn trong việc thiết kế ở tầng Web sửdụng MVC dựa trên nền tảng của J2EE Với Struts, người lập trình sẽ không phải quantâm đến việc xây dựng mô hình MVC như thế nào mà chỉ cần cấu hình và chạy tầng hiểnthị của dự án, điều này cho phép giảm thiểu chi phí đào tạo, thời gian phát triển dự ánnhanh hơn và cho phép hệ thống chạy ổn định trên các nền và hoặc module tích hợp khácnhau Với Struts ta có thể tách làm 3 tầng làm việc riêng biệt một cách dễ dàng, thích hợp

Trang 19

Đồ án Lập Trình JavaStruts hiện có hai phiên bản chính, đó là Struts 1 xx và 2.0x Struts 1 xx đượccông nhận như một framework phổ biến nhất trong Java, Struts 1 xx đủ chín muồi và làmột giải pháp tốt cho nhóm phát triển để giải quyết các vấn đề chung nhất Struts 2.0x, kếthừa nền tảng của webwork framework, được tổ chức như một nền làm việc chuyênnghiệp với web, nhằm giải quyết các vấn đề phức tạp, mang tính nghiệp vụ cao.

II.2.2 Struts 1

Struts 1 được thiết kế dựa trên mô hình MVC Dùng để xây dựng các ứng dụngweb sử dụng sử dụng Java Servlet và Jsp Ứng dụng Struts chạy được trên nhiều nềntảng, dễ học, dễ sử dụng, có kèm các thư viện thẻ cho việc phát triển ứng dụng nhanhchóng hơn

Struts cho phép các lập trình viên:

- Phát triển ứng dụng web Jsp/Servlet theo mô hình MVC

- Sử dụng các đối tượng có sẵn của Framework trong file cấu hình Xml

- Sử dụng các mẫu thiết kế xây dựng sẵn của Framework

- Sử dụng nhiều tính năng nâng cao (Validation, …)

Những thuận lợi khi sử dụng:

- Struts đảm nhiệm những phần phức tạp nhất khi xây dựng ứng dụng MVC

- Dễ học, dễ sử dụng

- Nhiều tính năng được hỗ trợ

- Nhiều công cu hỗ trợ của bên thứ 3

- Hỗ trợ một thư viện thẻ cực kỳ hữu dụng

- Tích hợp với Tiles Framework

II.2.3 Kiến trúc Struts 1

Ngày đăng: 15/06/2018, 07:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w