Tìm hiểu công nghệ struts 2 và xây dựng website quản lý yêu cầu trực tuyến

44 2.7K 4
Tìm hiểu công nghệ struts 2 và xây dựng website quản lý yêu cầu trực tuyến

Đ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

TRờng đại học vinh Khoa công nghệ thông tin === === đồ án tốt nghiệp Đề tài: TèM HIU CễNG NGH STRUTS 2 V XY DNG WEBSITE QUN Lí YấU CU TRC TUYN GV hớng dẫn: ThS. Nguyễn công nhật SV thực hiện: Bùi đức anh Lớp: 49K - CNTT Mã số SV: 0851070309 Đồ án tốt nghiệp GVHD: ThS. Nguyễn Quang Ninh Vinh, 12/2012 =  = SVTH: Dương Thị Trang 2 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến LỜI CẢM ƠN Trước tiên, Em xin gửi lời cảm ơn lòng biết ơn sâu sắc đến ThS. Nguyễn Công Nhật, người đã tận tình chỉ bảo, hướng dẫn em trong quá trình thực hiện đồ án tốt nghiệp. Em xin gửi lời cảm ơn anh Nguyễn Tấn Huy, anh Võ Văn Liêm – người hướng dẫn chỉ tảo em trong suốt thời gian thực tập tốt nghiệp thực hiện đồ án. Em xin gửi lời cảm ơn tới các thầy cô giáo đã giảng dạy em trong suốt những năm học qua, đã cho em nhiều kiến thức quý báu để tôi vững bước trên con đường học tập của mình. Tôi xin gửi lời cảm ơn tới các bạn trong lớp 49K-CNTT đã giúp đỡ tôi trong suốt quá trình học tập tại trường. cuối cùng, con xin bày tỏ lòng biết ơn vô hạn tới bố mẹ những người thân trong gia đình đã luôn bên cạnh, động viên tạo điều kiện cho con trong suốt quá trình thực hiện đồ án cũng như trong suốt quá trình học tập. Vinh, ngày 10 tháng 12 năm 2012 Sinh viên Bùi Đức Anh Bùi Đức Anh 49K-CNTT Khoa CNTT Page 3 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến LỜI MỞ ĐẦU Ngày nay, cùng với sự phát triển của nền kinh tế, ngành Công nghệ thông tin cũng đang phát triển một cách vượt bậc dần đ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 là một công cụ đắc lực dẫn tới thành công trong nhiều lĩnh vực trọng điểm. Để tạo ra được một website lớn phức tạp thỏa mãn tối ưu các nhu cầu ngày càng cao của người sử dụng, các nhà phát triển đã nghiên cứu cho ra đời nhiều Framework. Java cũng đã có cho riêng mình một số Framework như Hibernate, Spring, Struts,… Nhận thấy Struts 2 là một Framework khá mới mẻ của Java, là một kỹ sư Công nghệ thông tin trong tương lai, em quyết định chọn đề tài “Tìm hiểu Công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến” nhằm tìm hiểu, nắm bắt vững áp dụng được các kiến thức của Struts 2 Framework để xây dựng một Website nói chung, Website Quản yêu cầu trực tuyến nói riêng với mong muốn đóng góp được một phần nhỏ làm cho quy trình quản các tiện nghi của một trường Đại học, trước hết là trường Đại học Vinh chúng ta đạt hiệu quả cao. MỤC LỤC ®å ¸n tèt nghiÖp 1 3.2.2. Các chức năng chính 28 3.2.3. Đặc điểm của một yêu cầu 28 3.2.4. Biểu đồ phân cấp chức năng 29 Mức chức năng .30 Bùi Đức Anh 49K-CNTT Khoa CNTT Page 4 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến Mô tả chi tiết các chức năng lá .30 Biểu đồ luồng dữ liệu 31 Mô hình E-R .33 Bảng dữ liệu .34 Biểu đồ quan hệ thực thể: .37 Đăng nhập .37 Đổi mật khẩu 38 Danh sách yêu cầu 39 Tạo mới yêu cầu .39 40 Cập nhật yêu cầu 40 Danh sách tin nhắn 41 Tạo mới tin nhắn .41 Bùi Đức Anh 49K-CNTT Khoa CNTT Page 5 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến NỘI DUNG Chương 1: TỔNG QUAN CÁC KIẾN THỨC CƠ BẢN 1.1. Tổng quan về ngôn ngữ Java 1.1.1. Giới thiệu Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995. Từ đó, nó trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp. Java được xây dựng trên nền tảng của C C++. Do vậy nố sử dụng các cú pháp của C các đặc trưng hướng đối tượng của C++. Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý định thiết kế một ngôn ngữ lập trình để điều khiển các thiết bị điện tử như Tivi, máy giặt, lò nướng,… Mặc dù C C++ có khả năng làm việc này nhưng trình biên dịch lại phụ thuộc vào từng loại CPU. Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên rất đắt.Vì vậy để mỗi loại CPU có một trình biên dịch riêng là rất tốn kém. Do đó nhu cầu thực tế đòi hỏi một ngôn ngữ chạy nhanh, gọn, hiệu quả độc lập thiết bị tức là có thể chạy trên nhiều loại CPU khác nhau, dưới các môi trường khác nhau. “Oak” đã ra đời vào năm 1995 được đổi tên thành Java. Mặc dù mục tiêu ban đầu không phải có Internet nhưng do đặc trưng không phụ thuộc thiết bị nên Java đã trở thành ngôn ngữ lập trình cho Internet. Java là ngôn ngữ vừa biên dịch vừa thông dịch. Đầu tiên mã nguồn được biên dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode. Sau đó được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch. Mục tiêu của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên bất cứ phần cứng cụ thể nào. Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên Internet. Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành. Nó không chỉ dùng để viết các ứng dụng chạy đơn lẻ hay trong mạng mà còn để xây dựng cá trình điều khiểu thiết bị cho điện thoại di động, PDA,… 1.1.2. Các đặc trưng của java Đơn giản Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học quen thuộc với đa số người lập trình. Do vậy Java được loại bỏ các đặc trưng phức tạp của C C++ như thao tác con trỏ, thao tác nạp đè (overload), … Java không sử dụng lệnh “gôt” cũng như file header(.h). Cấu trúc “struct” “union” cũng được loại bỏ khỏi Java. Hướng đối tượng Java được thiết kế xoay quanh mô hình hướng đối tượng. Vì vậy trong Java, tiêu điểm là dữ liệu các phương pháp thao tác lên dữ liệu đó. Dữ liệu các phương pháp mô tả trạng thái các ứng xử của một đối tượng trong Java. Bùi Đức Anh 49K-CNTT Khoa CNTT Page 6 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến Độc lập phần cứng hệ điều hành Đây là khả năng một chương trình được viết tại một máy nhưng có thể chạy được bất kỳ đâu. Chúng được thể hiện ở mức mã nguồn mức nhị phân. Ở mức mã nguồn, người lập trình cần mô tả kiểu cho mỗi biến. Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành phần cứng khác nhau. Java có riêng một thư viện các lớp cơ sở. Vì vậy chương trình Java được viết trên một máy có thể dịch chạy trơn tru trên các loại máy khác nhau mà không cần viết lại. Ở mức nhị phân, một chương trình đã biên dịch có thể chạy trên nền khác nhau mà không cần dịch lại mã nguồn. Tuy vậy cần có phẩn mềm máy ảo Java hoạt động như một trình thông dịch tại máy thực thi. Mạnh mẽ Java yêu cầu chặt chẽ về kiểu dữ liệu phải mô tả rõ ràng khi viết chương trình. Chúng sẽ kiểm tra lúc biên dịch cả trong thời gian thông dịch vì vậy Java loại bỏ các kiểu dữ liệu dễ gây lỗi. Bảo mật Java cung cấp một số lớp để kiểm tra bảo mật. Ở lớp đầu tiên, dữ liệu các phương pháp được đóng gói bên trong lớp. Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp. Java không hỗ trợ con trỏ vì vậy không cho phép truy xuất bộ nhớ trực tiếp. Nó cung cấp kỹ thuật dọn rác trong bộ nhớ. Các đặc trưng này tạo cho Java an toàn có khả năng cơ động cao. Trong lớp thứ hai, trình biên dịch kiểm soát để đảm bảo mã an toàn. Lớp thứ ba được đảm bảo bởi trình thông dịch. Chúng kiểm tra xem bytecode có đảm bảo các quy tắc an toàn trước khi thực thi. Lớp thứ tư kiểm soát việc nạp các lớp lên bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống. Phân tán Java có thể dùng để xây dựng các ứng dụng có thể làm việc trên nhiều phần cứng, hệ điều hành giao diện đồ họa. Java được thiết kế cho các ứng dụng chạy trên mạng. Vì vậy chúng đước sử dụng rộng rãi trên Internet, nơi sử dụng nhiều nền tảng khác nhau. Đa luồng Chương trình Java sử dụng kỹ thuật đa tiến trình (Multithread) để thực thi các công việc đồng thời. Chúng cũng cung cấp giải pháp đồng bộ giữa các tiến trình. Đặc tính hỗ trợ đa tiến trình này cho phép xây dựng các ứng dụng trên mạng chạy uyển chuyển. Động Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường mở. Các chương trình Java bổ sung các thông tin cho các đối tượng tại thời gian thực thi. Điều này cho phép khả năng liên kết động các mã. Bùi Đức Anh 49K-CNTT Khoa CNTT Page 7 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến 1.1.3. Các kiểu chương trình Java Applets Đây là chương trình chạy trên Internet thông qua các trình duyệt hỗ trợ Java như IE hay Netscape. Bạn có thể dùng các công cụ của Java để xây dựng Applet. Applet được nhúng bên trong trang Web hoặc file HTLM. Khi trang Web hiển thị trong trình duyệt, Applet sẽ được nạp thực thi. Ứng dụng thực thi qua dòng lệnh Các chương trình này chạy từ dấu nhắc lệnh không sử dụng giao diện đồ họa. Các thông tin nhập xuất được thể hiện qua dấu nhắc lệnh. Ứng dụng đồ họa Đây là các chương trình Java chạy độc lấp cho phép người dùng tương tác qua giao diện đồ họa. Servlet Java thích hợp để phát triển ứng dụng nhiều lớp. Applet là chương trình đồ họa chạy trên trình duyệt tại máy trạm. Ở các ứng dụng Web, máy trạm gửi yêu cẩu tới máy chủ. Máy chủ xử gửi ngược lại kết quả trở lại máy trạm. Các chương trình Java API chạy trên máy chủ này mở rộng khả năng của các ứng dụng Java API chuẩn. Các ứng dụng trên máy chủ này được gọi là các servlet. Hoặc Applet tại máy chủ. Các xử trên Form của HTML là cách sử dụng đơn giản nhất của Servlet. Chúng còn có thể được dùng để xử dữ liệu, thực thi các transaction thường được thực thi qua máy chủ Web. Ứng dụng cơ sở dữ liệu Các ứng dụng này sử dụng JDBC API để kết nối tới cơ sở dữ liệu. Chúng có thể là Applet hay ứng dụng, nhưng Applet bị giới hạn bởi tính bảo mật 1.1.4. Máy ảo Java (JVM-Java Virtual Machine) Máy ảo Java là trái tim của ngôn ngữ Java, là một trong các phần tử tạo cho Java thành công các chương trình Java viết một lần chạy được ở bất kỳ đâu là nhờ sự giúp đỡ của máy ảo Java. Máy ảo Java là một phần mềm dựa trên cơ sở máy tính ảo. Nó có tập hợp các lệnh logic để xác định các hoạt động của máy tính. Người ta có thể xem nó như một hệ điều hành thu nhỏ. Nó thiết lập các lớp trừu tượng cho phần cứng bên dưới, hệ điều hành, mã đã biên dịch. Trình biên dịch chuyển mã nguồn thành các lệnh của máy ảo mà không phụ thuộc vào phần cứng cụ thể. Trình thông dịch trên mỗi máy sẽ chuyển tập lệnh này thành chương trình thực thi. Máy ảo tạo ra một môi trường bên trong để thực thi các lệnh bằng cách: - Nạp file class. Bùi Đức Anh 49K-CNTT Khoa CNTT Page 8 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến - Quản bộ nhớ. - Dọn “rác”. Việc không nhất quán của phần cứng làm cho máy ảo phải sử dụng ngăn xếp để lưu trữ các thông tin sau: - Các “Frame” chứa các trạng thái của cá phương pháp. - Các toán hạng của mã bytecode. - Các tham số truyền cho phương pháp. - Các biến cục bộ. Khi JVM thực thi mã, một thanh ghi cục bộ có tên “Program Counter” được sử dụng. Thanh ghi này trỏ tới lệnh đang thực hiện. Khi cần thiết, có thể thay đổi nội dung thanh ghi để đổi hướng thực thi của chương trình. Trong trường hợp thông thường thì từng lệnh một nối tiếp nhau sẽ được thực thi. Một khái niệm thông dụng khác trong Java là trình biên dịch “Just In Time-JIT”. Các trình duyệt thông dụng như Netcape hay IE đều có JIT bên trong để tăng tốc thực thi một chương trình Java. Mục đích chính của JIT là chuyển tập lệnh bytecode thành mã máy cụ thể cho từng loại CPU. Các lệnh này sẽ được lưu trữ sử dụng mỗi khi gọi đến. 1.1.5. Giới Thiệu về J2EE J2EE là thuật ngữ viết tắt của Java 2 Platform, Enterprise Edition. Đây là một môi trường phát triển triển khai các ứng dụng được phát triển bởi Sun Microsystems, là cái nền cung cấp các dịch vụ, các hàm giao tiếp (API) các giao thức để triển khai các ứng dụng đa tầng. J2EE là một thành phần quan trọng rộng lớn trong lĩnh vực Java, nó đượ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ựa được chủ trọng ứng dụng nhiều nhất của java trong thực tế. Kiến trúc J2EE tổng quát Bùi Đức Anh 49K-CNTT Khoa CNTT Page 9 Tìm hiểu công nghệ Struts 2 xây dựng Website Quản yêu cầu trực tuyến Trong đó: - EJB (Enterprise java bean) container: quản thực thi các thành phần enterprice bean. - Web container : quản thực thi các thành phần JSP Servlet. - Application Client Container : quản thực thi các thành phần phía client. 1.2. JSP & Servlet 1.2.1. Servlet Trong thời gian đầu, người ta thường sử dụng Common gateway Interface (CGI) để xử trang động. Khi có một yêu cầu cho một trang động, web server sẽ chuyển yêu cầu này đến một script file nào đó khởi động script file này. Nội dung của toàn bộ hay một phần của trang động được tao ra bởi script file. Kỹ thuật này gặp nhiều khó khăn. Việc khởi động một script file cũng tương đương với chạy một process hay một ứng dụng, nó đòi hỏi khá nhiều tài nguyên của web server. Nếu có hàng ngàn yêu cầu cùng một lúc thì web server sẽ không thể nào đáp ứng được. Servlet API đượ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 trình chủ server API. Nó là một API đơn giản hỗ trợ tất cả các Web server thậm chí các ứng dụng máy chủ dùng để kiểm tra quản các công việc trên server (load – balancing). 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 load – balancing sẽ là mỗi xử 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 gửi mail, Java Database Connect (JDBC) để truy cập database, lớp File 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… Servlet gồm các phương thức cơ bản sau : - init() : Phương thức này được gọi khi lần đầu tiên trình chủ Web server nạp mã thực thi của servlet từ tập tin .class vào bộ nhớ bắt đầu cho phép Servlet hoạt động. Ta có thể dùng phương thức này để khởi tạo các biến môi trường giá trị ban đầu cần thiết cho quá trình thực thi Servlet tiếp theo. - service() : Sau khi phương thức init() đã hoàn tất trình chủ Web server sẽ gọi đến phương thức service(). Khi trình chủ nạp servlet vào bộ nhớ, phương thức init() chỉ được gọi duy nhất một lần trong khi phương thức service() có thể được gọi nhiều lần ứng với mỗi yêu cầu servlet phát sinh từ trình duyệt phía máy khách. Bên trong phương thức service() có thể sử dụng đối tượng tham số Bùi Đức Anh 49K-CNTT Khoa CNTT Page 10 . Nguyễn Quang Ninh Vinh, 12/ 20 12 =  = SVTH: Dương Thị Trang 2 Tìm hiểu công nghệ Struts 2 và xây dựng Website Quản lý yêu cầu trực tuyến LỜI CẢM ƠN Trước. sư Công nghệ thông tin trong tương lai, em quyết định chọn đề tài Tìm hiểu Công nghệ Struts 2 và xây dựng Website Quản lý yêu cầu trực tuyến nhằm tìm hiểu,

Ngày đăng: 14/12/2013, 00:19

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan