1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh

37 21 0

Đ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 37
Dung lượng 1,96 MB

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

Nội dung

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… Với sự phát triển mạnh mẽ và nhu cầu ngày càng “th

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, em xin cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin trường Đại học Vinh, cùng quý thầy cô bộ môn trong suốt quá trình học tập tại trường,

em đã được các thầy cô cung cấp, truyền đạt và chỉ bảo nhiệt tình tất cả kiến thức nền

tảng quý giá Đặc biệt là thầy Lê Văn Tấn đã tận tình giúp đỡ và hướng dẫn em trong

quá trình hoàn thành đồ án tốt nghiệp này

Nhân đây, con cũng xin bày tỏ lòng biết ơn sâu sắc tới bố mẹ, đã nuôi dạy con nên người Xin cảm ơn bố mẹ đã luôn tin tưởng, luôn là chỗ dựa tinh thần vững chắc, giúp đỡ con trong quá trình học tập, nghiên cứu và thực hiện tốt đồ án tốt nghiệp

Bên cạnh đó, trong thời gian hoàn thành đồ án này, tôi cũng đã nhận được nhiều

sự giúp đỡ cùng những lời động viên chân thành và quý báu của bạn bè và người thân, tôi xin hết lòng biết ơn

Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng đồ án khó tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của các thầy cô và các bạn

Trang 3

LỜI 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ọi mặ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ông trong 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ào lĩ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át triể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át triể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…

Với sự phát triển mạnh mẽ và nhu cầu ngày càng “tham lam” của những người

sử dụng web, các ứng dụng web ngày nay đang ngày càng lớn và phức tạp Thời gian phát triển của các ứng dụng đó cũng càng ngày càng gấp gỏp và cạnh tranh hơn, và hơn hết là khả năng bảo trì phát triển hệ thống sau khi đã được triển khai đang đóng vai trò quyết định cho sự tồn vong của hệ thống đó Vì thế việc lựa chọn một kiến trúc phù hợp cho ứng dụng của mình là một vấn đề rất quan trọng

Trong đồ án này, em sẽ nghiên cứu về Struts Framework, một công nghệ cho phép việc thiết kế các ứng dụng Web dựa trên mô hình MVC Qua đó, em sẽ xây dựng một ứng dụng nhỏ áp dụng công nghệ Struts để minh hoạ

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

LỜI MỞ ĐẦU 2

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 5

1.1 Lý do chọn đề tài 5

1.2 Mục đích, ý nghĩa của đề tài 6

1.3 Tóm tắt nội dung của đồ án 6

Chương 2: TÌM HIỂU STRUTS FRAMEWORK 8

2.1 Các kiến trúc lập trình 8

2.1.1 Kiến trúc truyền thống 8

2.1.2 Kiến trúc MVC 9

2.2 Các thành phần của MVC (Model – View – Controller) 10

2.2.1 Thành phần Model 10

2.2.2 Thành phần View 10

2.2.3 Thành phần Controller 10

2.3 Các ưu, nhược điểm của mô hình MVC 10

2.4 Strust Framework 11

2.4.1 Framework là gì ? 11

2.4.2 Lịch sử hình thành Struts 12

2.4.3 Các thành phần của Struts 1 13

2.5 Kiến trúc và tiến trình hoạt động của struts 14

2.5.1 Kiến trúc của Struts 14

2.5.2 Chu trình hoạt động của Struts 15

2.7 Ưu, nhược điểm của Struts 15

2.7.1 Ưu điểm 15

2.7.2 Nhược điểm 16

Chương 3: XÂY DỰNG MÔ ĐUN TRA CỨU THÔNG TIN CHO SINH VIÊN HỆ VLVH TẠI ĐH VINH 17

3.1 Khảo sát, phân tích hệ thống 17

3.1.1 Đặc tả bài toán 17

3.1.2 Các chức năng chính 17

3.1.3 Sơ đồ thực thể liên kết 18

3.2 Thiết kế hệ thống mới 19

3.2.1 Thiết kế cơ sở dữ liệu 19

Trang 5

3.2.2 Thiết kế các trang chính 22

Chương 4: CÀI ĐẶT VÀ TRIỂN KHAI ỨNG DỤNG 26

4.1 Lựa chọn công cụ 26

4.1.1 Môi trường JDK 1.6 26

4.1.2 IDE-Eclipse 26

4.1.3 Web server-Apache Tomcat 7.0 26

4.1.4 Hệ quản trị CSDL SQL Server 2005 27

4.2 Triển khai ứng dụng 27

4.2.1 Khởi tạo và cấu hình struts cho eclipse 27

4.2.2 Cài đặt ứng dụng 31

KẾT LUẬN 35

i Kết quả đạt được của đề tài 35

ii Hạn chế của đề tài 35

iii Hướng phát triển của đề tài 35

TÀI LIỆU THAM KHẢO 36

Tài liệu tiếng Việt: 36

Tài liệu tiếng Anh: 36

Trang 6

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1 Lý do chọn đề tài

Java là một nền tảng phát triển các ứng dụng phần mềm có vị thế rất lớn trong

những năm cuối thế kỉ 20, đầu thế kỉ 21 Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần mềm Mô hình máy ảo đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau Vì thế Java là ngôn ngữ vẫn được rất nhiều các nhà thiết kế lựa chọn làm ngôn ngữ phát triển chính cho hệ thống của mình

Servlet/JSP là một bộ phận của công nghệ J2EE (Java 2 Platform, Enterprise

Edition) phiên bản của Java chạy trên các máy chủ ứng dụng

Servlet API (Application Programming Interface) được phát triển dựa trên

những điểm mạnh của Java platform nhằm giải quyết vấn đề của CGI (Common Gateway Interface) và trình chủ server API Nó là một API đơn giản hỗ trợ tất cả các Web server và thậm chí các ứng dụng máy chủ dùng để kiểm tra và quản lý các công việc trên server Nó giải quyết vấn đề thực thi bằng việc thực hiện tất cả các yêu cầu như những dòng trong một xử lý, hoặc trên một hệ thống cân bằng tải (load-balancing)

sẽ là mỗi xử lý trên một server trong kết chùm cluster Các servlet dễ dàng chia sẻ tài nguyên Bạn có thể sử dụng JavaMail để đọc và gửi mail, Java DataBase Connect (JDBC) để truy cập các database, lớp File và những lớp quan hệ để truy cập hệ thống file, RMI, CORBA, Enterprise Java Beans (EJB) để truy cập các hệ thống kế thừa…

JSP (Java Server Pages) còn được biết đến với một cái tên khác là Java

Scripting Preprocessor – tạm dịch là “Bộ tiền xử lý văn lệnh Java” – là một công nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình khách Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được định trước (pre-defined actions) vào trong nội dung tĩnh của trang Trước khi hiển thị

ra trình duyệt, tập tin JSP phải được biên dịch thành Servlet, dùng bộ biên dịch JSP (JSP compiler) Bộ biên dịch JSP có thể tạo servlet thành mã nguồn Java trước, rồi

biên dịch mã nguồn ra tập tin class dùng bộ biên dịch Java, hoặc có thể trực tiếp tạo

mã byte code cho servlet từ trang JSP

Câu hỏi đặt ra là: Mô hình JSP/Servlet có thực sự tối ưu? nó có đủ khả đáp ứng được yêu cầu của các hệ thống lớn hay không? Em đã tìm hiểu và đưa ra một số những nhược điểm khiến nó không được ứng dụng trong việc xây dựng các hệ thống lớn:

Trang 7

- Kiến trúc của JSP/servlet khá đơn giản, việc gộp các action (các hàm xử lý hành động) là điều rất không nên Bởi khi thiết kế hệ thống, các module của chương trình cần phải được sắp xếp hợp lý, các action được chỉnh sửa mà không ảnh hưởng tới giao diện hiển thị

- Ngoài ra, việc phân chia các thành phần hợp lý dựa theo mẫu thiết kế chuẩn của một hệ thống được người dùng đánh giá rất cao Sau khi hoàn thiện, nếu bản thân người dùng muốn phát triển tiếp ứng dụng của mình, họ cần có một hướng dẫn chi tiết cách sửa các thành phần trong các gói (package) Trong quá trình thiết kế một hệ thống lớn, yêu cầu phải đòi hỏi làm việc theo nhóm, để quá trình phân công công việc hợp

lý, việc phân tách các thành phần của hệ thống là cần thiết Nếu không, quá trình làm việc sẽ thường xuyên bị gián đoạn

Công nghệ Struts đã thành công trong việc tối ưu các khuyết điểm vốn có của JSP/Servlet Tính năng của nó sẽ được đề cập nhiều hơn qua nội dung sẽ trình bày sắp tới

Ở 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ẹn cho 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ềm nói riêng

Với tư cách là một kỹ sư phần mềm tương lai cùng với niềm đam mê công nghệ

Web, đặc biệt là các công nghệ mã nguồn mở, em đã chọn cho mình đề tài “Tìm hiểu

về Struts và ứng dụng xây dựng mô đun tra cứu thông tin cho sinh viên hệ VLVH tại Đại học Vinh” Trong thời gian thực hiện đồ án, nghiên cứu và tìm hiểu công nghệ

em đã đạt được một số kết quả nhất định Đó là cơ sở quan trọng giúp em nắm bắt công nghệ và có thể làm việc tốt sau này

1.2 Mục đích, ý nghĩa của đề tài

Qua việc nghiên cứu đề tài này, chúng ta có thể hiểu Struts framework là gì, tại sao lại sử dụng Struts, khi nào thì sử dụng và Struts có những ứng dụng gì, hỗ trợ như thế nào trong mô hình MVC Đồng thời, có thể áp dụng những kiến thức được bồi dưỡng trong quá trình học tập tại trường vào công việc thực tế Từ đó tích lũy cho bản thân những kinh nghiệm quý báu mà sau này sẽ là nền tảng giúp cho việc lập nghiệp của bản thân

1.3 Tóm tắt nội dung của đồ án

Nội dung của đồ án sẽ gồm những phần sau:

 Tìm hiểu kiến trúc lập trình MVC

Trang 8

 Nghiên cứu, tìm hiểu công nghệ Struts Đây là các công nghệ mã nguồn mở đang được sử dụng nhiều trong lĩnh vực lập trình ứng dụng Web dựa trên ngôn ngữ Java dựa trên mô hình MVC

 Áp dụng công nghệ struts để xây dựng một ứng dụng thực tế

Báo cáo đồ án tốt nghiệp được trình bày trong 4 chương:

 Chương 1: Tổng quan về đề tài

 Chương 2: Tìm hiểu về MVC và Struts Framework

 Chương 3: Áp dụng những kiến thức đã nghiên cứu ở chương 2 để xây dựng một chương trình demo, đó là ứng dụng web cho phép tra cứu thông tin sinh viên dành cho hệ vừa làm vừa học (VLVH) tại Đại học Vinh

 Chương 4: Tiến hành cài đặt và demo kết quả ứng dụng

Phần kết luận và đánh giá : Trong phần này, em xin đưa ra một số kết quả đã thực

hiện được, cũng như những khó khăn hạn chế gặp phải trong quá trình thực hiện đồ án tốt nghiệp Đồng thời đưa ra hướng phát triển của đề tài nói riêng và công nghệ Struts trong tương lai nói chung

Trang 9

Chương 2: TÌM HIỂU STRUTS FRAMEWORK

response) Hay nói cách khác, người sử dụng gửi các yêu cầu và nhận phản hồi trực tiếp qua các trang JSP Mặc dù về khái niệm hết sức đơn giản, kiến trúc này không phù hợp cho việc phát triển các ứng dụng quy mô lớn vì chắc chắn một số lượng lớn các tính năng sẽ bị lặp lại trong các trang JSP (lặp lại mã nguồn) Cũng vậy, kiến trúc truyền thống tạo nên sự ràng buộc không cần thiết giữa phương thức nghiệp vụ và phương thức trình diễn (presentation logic) của ứng dụng Ví dụ, ngoài giao diện HTML, bạn có thể muốn thêm một giao diện WML cho truy nhập wireless Trong trường hợp này, việc sử dụng kiến trúc truyền thống yêu cầu sự lặp lại không cần thiết của phương thức nghiệp vụ trong các trang sử dụng HTML và WML

2.1.1.1 Ưu điểm

 Đây là mô hình đơn giản nhất, thoải mái để phát triển ứng dụng Người lập trình có thể lần lượt xây dựng các trang web dựa theo chức năng đã chỉ rõ

 Kiến trúc này thích hợp với những ứng dụng web có quy mô nhỏ, ít chức năng

và việc định hướng trang là đơn giản

Trang 10

2.1.1.2 Nhược điểm

 Khó tách rời công việc viết mã cho ứng dụng (thường thuộc về vai trò của người phát triển ứng dụng Web) và nhóm xây dựng ứng dụng (thường thuộc về vai trò của người thiết kế) Khi cần thay đổi giao diện người sử dụng (công việc của người thiết kế) thì chính người lập trình gần như lại phải thực hiện toàn bộ (thay đổi mã nguồn chương trình và mã HTML)

 Do các trang JSP đều xử lý đầu vào của chính mình, ứng dụng là một dãy các trang JSP hoạt động kế tiếp tuần tự nhau, kết quả trang này là đầu vào cho trang kia, nên khi thay đổi, hay mở rộng các chức năng của ứng dụng thì rất khó thực hiện hoặc thực hiện rất phức tập và tốn nhiều thời gian Do vây, kiến trúc truyền thống là cứng nhắc, không linh hoạt, không thích hợp với các dự án lớn

2.1.2 Kiến trúc MVC

Hình 2: Kiến trúc MVC

Mô hình MVC, hay cách gọi khác là Model 2, giải quyết nhiều vấn đề của mô hình truyền thống với việc cung cấp một sự phân tách rõ ràng trong ứng dụng Trong kiến trúc MVC, một Servlet trung tâm, được gọi là Controller, tiếp nhận tất cả các yêu cầu cho ứng dụng Sau đó Controller sẽ xử lý yêu cầu và làm việc với Model để chuẩn

bị những dữ liệu cần thiết cho View (thường là JSP) và chuyển tiếp dữ liệu tới trang JSP Sau đó JSP sử dụng các dữ liệu đã được chuẩn bị bởi Controller để trả về cho trình duyệt Trong kiến trúc này, phương thức thực hiện và phương thức trình diễn được phân tách nhau Việc tách mã nguồn nghiệp vụ (business code) và mã nguồn

Trang 11

trình diễn (presentation code) giúp ta có thể sử dụng nhiều giao diện cho ứng dụng, chúng có thể là Web, wireless hay GUI Thêm vào đó, việc phân tách này còn cung cấp việc tái sử dụng lại mã nguồn một cách hoàn hảo

2.2 Các thành phần của MVC (Model – View – Controller)

2.2.1 Thành phần Model

Trong kiến trúc MVC, các model component cung cấp một giao diện với dữ liệu và/hoặc các dịch vụ được sử dụng bởi ứng dụng Theo cách này, các thành phần controller không cần phải chứa mã nguồn để thao tác với dữ liệu của ứng dụng Thay vào đó, chúng giao tiếp với các thành phần model để thực hiện truy cập và thao tác dữ liệu Như vậy, các thành phần model cung cấp phương thức nghiệp vụ (business logic) Các thành phần model có thể ở nhiều dạng từ các Java bean đến các EJB hay các Web service

2.2.2 Thành phần View

Các thành phần View được sử dụng trong kiến trúc MVC để sinh ra các phản hồi cho trình duyệt Như vậy một thành phần view cung cấp những gì mà người dùng nhìn thấy Thường thì các thành phần view là các trang JSP hay HTML đơn giản Tuy nhiên, các thành phần view cũng có thể sử dụng WML hay các công nghệ khác Đây là một ưu điểm thiết kế chính của MVC Bạn có thể sử dụng bất kỳ công nghệ hiển thị nào mà không sợ tác động đến lớp Model của ứng dụng

2.2.3 Thành phần Controller

Ở trung tâm của kiến trúc MVC là các thành phần controller Controller thường

là một Servlet tiếp nhận các request cho ứng dụng và quản lý luồng dữ liệu giữa lớp Model và lớp View Như vậy, nó điều khiển cách mà các lớp Model và View tương tác Controller thường sử dụng các lớp giúp đỡ (helper class) để chuyển điều khiển qua các yêu cầu hay tiến trình xác định

2.3 Các ưu, nhược điểm của mô hình MVC

Sau đây là một số ưu điểm chính của việc sử dụng mô hình MVC:

Tính tin cậy (Reliability): Tầng trình diễn và tầng giao dịch được tách biệt nhau,

do đó có thể cho phép ta thay đổi cách nhìn đối với ứng dụng mà không cần

phải biên dịch lại mã nguồn của thành phần Model hay Controller

Trang 12

Tính sử dụng lại và thích nghi cao (High reuse and adaptability): Mô hình MVC có thể cho phép ta sử dụng nhiều thể loại của View, tất cả đều truy nhập chung một mã nguồn phía máy chủ (server-side code) Nó bao gồm cả các trình duyệt Web (HTTP) đến cả trình duyệt wireless (WAP)

Giá thành phát triển và giá thành vòng đời thấp (Very low development and

life-cycle costs): Mô hình MVC làm cho các nhà lập tŕnh ở mức thấp có thể phát

triển và bảo trì giao diện của người sử dụng

Tính triển khai nhanh (Rapid deployment): Thời gian triển khai có thể được

giảm xuống bởi vì những nhà lập trình điều khiển chỉ tập trung vào việc giải quyết các giao tác, còn những nhà thiết kế giao diện chỉ tập trung vào việc thiết

kế tương tác

Tính bảo trì được (Maintainability): Sự tách biệt giữa các tầng hiển thị và tầng giao dịch cũng làm cho việc bảo trì và sửa đổi các ứng dụng Web dựa trên Struts một cách dễ dàng hơn

Bên cạnh đó, mô hình MVC cũng có những nhược điểm sau:

 Gia tăng sự phức tạp

 Sự kết nối chặt chẽ 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 mã nguồn nào

đó có thể trở nên khó khăn hơn

 Tiề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

có một số framework về Java được nhắc đến Vậy, bản chất framework là gì, và nó có những đặc tính gì ?

Trang 13

Theo cộng đồng Wikepedia, framework là một khái niệm trong phát triển phần mềm dùng để chỉ những “cấu trúc hỗ trợ được định nghĩa” mà trong đó những dự án phần mềm khác có thể được sắp xếp vào đó và phát triển Thông thường, một framework bao gồm những chương trình hỗ trợ, các thư viện lập trình và một ngôn ngữ scripting nằm giữa các phần mềm khác để giúp phát triển và gắn những thành phần khác nhau trong dự án phần mềm lại với nhau.

Một framework có 3 đặc tính sau :

1. Một framework xây dựng sẵn các lớp hoặc các thành phần, mỗi loại đó sẽ cung cấp một mức trừu tượng cho một vài khái niệm riêng biệt

2. Một framework sẽ định nghĩa ra tập hợp các cách thức để các mức trừu tượng

đó cùng nhau giải quyết một vấn đề

3. Các thành phần trong một framework phải có tính sử dụng lại được

2.4.2 Lịch sử hình thành Struts

Struts ban đầu được tạo ra bởi Craig R McClanahan và sau đó được chuyển giao cho dự án Jakarta của Apache Software Foundation (AFS) vào năm 2000 Vào tháng 6 năm 2001, Struts đã phát hành phiên bản 1.0 Sau đó, có rất nhiều người đã tham gia đóng góp cả về mã nguồn và tài liệu cho dự án và Struts ngày càng trở nên hoàn thiện hơn

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 quan tâ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ển thị 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ự án nhanh 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ác nhau 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 cho một dự án lớn, không bị nhập nhằng giữa việc tạo giao diện, xử lý và truy xuất cơ sở dữ liệu

Struts tuy ra đời sau một số framework hoặc các công nghệ khác nhưng nó đã nhanh chóng được các nhà phát triển các ứng dụng trên nền Web chấp nhận và sử dụng rộng rãi Là một framework được xây dựng áp dụng theo mô hình MVC, Struts

tỏ ra rất thích hợp trong các dự án mang tính thương mại, nghiệp vụ cao và phức tạp,

và trên hết, đây là một framework mã nguồn mở Các nhà phát triển có thể tự do phát triển ứng dụng dựa trên Struts mà không phải mất chi phí nào

Trang 14

Struts hiện có hai phiên bản chính, đó là Struts 1 xx và 2.0x Struts 1 xx được cô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

Framework cơ sở cung cấp các tính năng MVC cốt lõi Nền tảng của framework

cơ sở là Controller servlet: ActionServlet Phần còn lại của framework cơ sở bao gồm

các lớp cơ sở mà ứng dụng của bạn sẽ thêm vào và cả các lớp tiện ích Nổi bật nhất

trong các lớp cơ sở là lớp Action và lớp ActionForm Lớp Action được sử dụng bởi ActionServlet để sử lý các request xác định Lớp ActionForm được sử dụng để nắm

bắt dữ liệu từ các HTML form và được sử dụng để chuyển dữ liệu trở lại View để sinh

ra các phản hồi

2.4.3.2 Thư viện thẻ JSP

Struts đưa ra các thư viện thẻ để hỗ trợ việc lập trình View trong JSP Các thư viện thẻ JSP cho phép người lập trình JSP sử dụng các thẻ giống HTML

+ HTML: Sử dụng để tạo ra các HTML form tương tác với Struts API

+ Bean: Sử dụng để làm việc với các đối tượng Java bean trong JSP

+ Logic: Sử dụng để thực hiện các điều kiện logic đơn giản trong JSP

+ Nested: Sử dụng để cho phép các mức lồng nhau tùy ý

Trang 15

2.5 Kiến trúc và tiến trình hoạt động của struts

2.5.1 Kiến trúc của Struts

Hình 3: Kiến trúc của Struts 1

 ActionServlet: đóng vai trò như là một Controller trong mô hình MVC, hay nói cách khác ActionServlet là sự thực thi Controller của Struts đối với mô hình MVC ActionServlet lấy về các yêu cầu từ phía người dùng và ánh xạ chúng đến thành phần <action> trong file struts-config.xml

 ActionBean: định nghĩa một tác vụ có thể được gọi bởi người dùng Nó cũng định nghĩa lớp sẽ sử lý các yêu cầu từ phía người dùng và trang JSP sẽ hiển thị kết quả về cho người dùng

 Lớp Action: chứa toàn bộ những xử lý cho các yêu cầu của người dùng

 Beans: Như một cái kho để chứa dữ liệu về các đối tượng được lấy lên từ cơ sở

dữ liệu

 ActionForm: đi kèm với thẻ <action> trong file struts-config.xml, nó quản lý toàn

bộ các dữ liệu được gửi lên từ phía người dùng và có thể thực hiện xác nhận tính hợp lệ các dữ liệu đó

 Trang JSP: được sử dụng để trả về trang HTML để thể hiện kết quả đã được xử

lý cho người dùng

Trang 16

2.5.2 Chu trình hoạt động của Struts

Hình 4: Chu trình hoạt động của Struts

Chu trình hoạt động của Struts có thể tách thành 5 bước cơ bản sau:

1) Một yêu cầu được tạo ra từ khung nhìn đă được hiển thị trước đó

2) Yêu cầu được tiếp nhận bởi lớp điều khiển, nó hoạt động như một thành phần

Controller, lớp điều khiển tìm kiếm URL đă yêu cầu trong một file XML

(Struts-config.xml) và xác định tên của lớp hành động sẽ thực thi phần hành động cần

5) Yêu cầu được hoàn thành khi lớp điều khiển trả lời bằng cách gửi yêu cầu tới thành phần khung nhìn, được kết nối với khóa trả về, và thành phần khung nhìn sẽ hiển thị kết quả của hành động đó

2.7 Ưu, nhược điểm của Struts

Trang 17

 Tự động chuyển đổi kiểu dữ liệu chuỗi truyền thống trong tham số yêu cầu thành các đối tượng lớp dữ liệu java => tiết kiệm được thời gian và công sức cho các lập trình viên

 Cung cấp các thẻ (tag), các chủ đề (themes) và mẫu (templates) giúp cho việc làm giao diện GUI trở nên dễ dàng, nhanh lẹ và tăng tính tái sử dụng

 Tính mở rộng (Extensibility) cao thông qua việc hỗ trợ các plug-in

Framework là một thư viện, bộ khung để phát triển các phần mềm ứng dụng Tức là nó tạo ra các "vật liệu" ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời gian để tự thiết kế trước khi dùng Do vậy, lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu này rồi thực hiện (tức lập trình) để gắn kết chúng lại với nhau, tạo ra sản phẩm

Framework có 2 thành phần chính là Common Language Runtime (CLR) và NET Framework class library CLR là môi trường được dùng để quản lý sự thi hành các mã nguồn mà ta đã soạn ra và biên dịch trong các ứng dụng Tuy nhiên khi biên dịch mã nguồn, ta lại biên dịch chúng ra thành một ngôn ngữ trung gian gọi là Microsoft Intermediate Language (MSIL)

Trang 18

Chương 3: XÂY DỰNG MÔ ĐUN TRA CỨU THÔNG TIN CHO SINH VIÊN HỆ VLVH TẠI ĐH VINH

3.1 Khảo sát, phân tích hệ thống

3.1.1 Đặc tả bài toán

Hiện nay, việc đào tạo hệ VLVH ở Đại học Vinh được liên kết với gần 50 đơn

vị với hơn 400 lớp thuộc nhiều ngành đào tạo khác nhau Vì thế việc thông tin kịp thời

về lịch học, lịch thi, kết quả học tập, gặp rất nhiều khó khăn Xuất phát từ nhu cầu

ấy, em đã chọn việc xây dựng mô đun tra cứu thông tin cho sinh viên hệ VLVH tại Đại học Vinh để làm bài toán thử nghiệm cho công nghệ struts mà em đã tìm hiểu Mô đun cho phép sinh viên tra cứu những thông tin cần thiết một cách hiệu quả và thiết thực nhất: tra cứu kết quả học tập, xem lịch học, lịch thi, xem và viết thông báo, đặc biệt là cho phép sinh viên đăng và tải tài liệu trực tiếp Đây là một ứng dụng mang nhiều ý nghĩa thực tiễn và hoàn toàn có thể triển khai thành ứng dụng trong thực tế Tuy nhiên,

do thời gian hạn chế và do kinh nghiệm của bản thân còn ít ỏi nên chương trình mới chỉ dừng lại với một số chức năng nhất định Em cũng hi vọng ứng dụng có thể được xây dựng hoàn chỉnh và triển khai được trong thời gian sắp tới

3.1.2 Các chức năng chính

Đăng nhập, đổi mật khẩu: Để có thể sử dụng được các chức năng của mô

đun thì trước tiên sinh viên cần phải đăng nhập bằng mã sinh viên của mình Hệ thống cũng cho phép sinh viên đổi mật khẩu nếu cần

Xem kết quả học tập: Sau khi đăng nhập thì hệ thống tự động chuyển tới

trang hiển thị kết quả học tập của sinh viên đó Bao gồm các thông tin như: Tên học phần, số đơn vị học trình, điểm, học kỳ,…

Xem lịch học: Khi click vào tab menu LỊCH HỌC thì hệ thống sẽ chuyển

sang trang hiển thị lịch học của sinh viên đó Bao gồm các thông tin như: Tên học phần, ngày bắt đầu, thời gian, giáo viên,…

Xem lịch thi: Khi click vào tab menu LỊCH THI thì hệ thống sẽ chuyển

sang trang hiển thị lịch thi của sinh viên đó Bao gồm các thông tin như: Tên học phần, ngày thi,…

Xem, viết thông báo: Khi click vào tab menu THÔNG BÁO thì hệ thống

sẽ chuyển sang trang hiển thị các thông báo chung của trường và các thông báo riêng của lớp đó Bao gồm các thông tin như: Ngày thông báo, nội dung thông báo, người thông báo,… Nếu sinh viên được phân quyền viết

Ngày đăng: 16/09/2021, 16:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Struts : http://vi.wikipedia.org/wiki/Struts Sách, tạp chí
Tiêu đề: Struts
2. Struts : http://struts.apache.org/ Sách, tạp chí
Tiêu đề: Struts
3. Struts Tutorials : http://www.dzone.com/tutorials/java/struts/struts-tutorial/struts-tutorial.html Sách, tạp chí
Tiêu đề: Struts Tutorials
2. Struts : http://vovanhai.wordpress.com/web/struts/ Link
1. Struts Tutorials - Jakarta Struts Tutorial : http://www.roseindia.net/struts/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1: Kiến trúc truyền thống - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 1 Kiến trúc truyền thống (Trang 9)
Mô hình MVC, hay cách gọi khác là Model 2, giải quyết nhiều vấn đề của mô hình truyền thống với việc cung cấp một sự phân tách rõ ràng trong ứng dụng - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
h ình MVC, hay cách gọi khác là Model 2, giải quyết nhiều vấn đề của mô hình truyền thống với việc cung cấp một sự phân tách rõ ràng trong ứng dụng (Trang 10)
Hình 3: Kiến trúc của Struts 1 - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 3 Kiến trúc của Struts 1 (Trang 15)
3) Lớp hành động thực thi hành động của nó trên thành phần mô hình (Model) kết hợp với ứng dụng - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
3 Lớp hành động thực thi hành động của nó trên thành phần mô hình (Model) kết hợp với ứng dụng (Trang 16)
Hình 4: Chu trình hoạt động của Struts - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 4 Chu trình hoạt động của Struts (Trang 16)
Hình 5: Sơ đồ liên kết thực thể - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 5 Sơ đồ liên kết thực thể (Trang 19)
2. Bảng tbl_CBGD - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
2. Bảng tbl_CBGD (Trang 20)
3. Bảng tbl_Sys_ThongBao - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
3. Bảng tbl_Sys_ThongBao (Trang 20)
4. Bảng tbl_sys_ThongBao_Lop - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
4. Bảng tbl_sys_ThongBao_Lop (Trang 21)
7. Bảng tbl_TC_PhieuGiangDay - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
7. Bảng tbl_TC_PhieuGiangDay (Trang 22)
10. Bảng tbl_Lop - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
10. Bảng tbl_Lop (Trang 23)
Hình 6: Trang đăng nhập - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 6 Trang đăng nhập (Trang 23)
Hình 8: Trang lịch học - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 8 Trang lịch học (Trang 24)
Hình 7: Trang kết quả học tập - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 7 Trang kết quả học tập (Trang 24)
Hình 10: Trang thông báo - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 10 Trang thông báo (Trang 25)
Hình 9: Trang lịch thi - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 9 Trang lịch thi (Trang 25)
Hình 12: Trang tài liệu - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 12 Trang tài liệu (Trang 26)
Hình 11: Trang viết thông báo - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 11 Trang viết thông báo (Trang 26)
4.2.1. Khởi tạo và cấu hình struts cho eclipse - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
4.2.1. Khởi tạo và cấu hình struts cho eclipse (Trang 28)
 File struts-config.xml : Đây là file cấu hình của Struts framework. Nó có thể khởi tạo các Bean, hằng số và đặc biệt nó ánh xạ các action từ phía người sử  dụng đến các lớp và phương thức tương ứng cần xử lý và sau đó là điều hướng  hiển thị đến tầng vi - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
ile struts-config.xml : Đây là file cấu hình của Struts framework. Nó có thể khởi tạo các Bean, hằng số và đặc biệt nó ánh xạ các action từ phía người sử dụng đến các lớp và phương thức tương ứng cần xử lý và sau đó là điều hướng hiển thị đến tầng vi (Trang 29)
Hình 13: Hình ảnh trang đăng nhập - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 13 Hình ảnh trang đăng nhập (Trang 32)
4.2.2. Cài đặt ứng dụng - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
4.2.2. Cài đặt ứng dụng (Trang 32)
Hình 14: Hình ảnh trang kết quả học tập - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 14 Hình ảnh trang kết quả học tập (Trang 33)
Hình 15: Hình ảnh trang lịch học - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 15 Hình ảnh trang lịch học (Trang 33)
Hình 16: Hình ảnh trang Lịch thi - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 16 Hình ảnh trang Lịch thi (Trang 34)
Hình 18: Hình ảnh trang viết thông báo - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 18 Hình ảnh trang viết thông báo (Trang 35)
Hình 19: Hình ảnh trang tài liệu - Tỉm hiểu về struts và ứng dụng xây dụng mô đun tra cứu thông tin cho sinh viên hệ vlvh tại đại học vinh
Hình 19 Hình ảnh trang tài liệu (Trang 35)

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