Đồ Án Công nghệ Struts, Hibernate và Spring trong xây dựng ứng dụng Web Tuyển dụng

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Mai Kul, 15/12/13.

  1. Mai Kul

    Mai Kul New Member

    Bài viết:
    1,299
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP


    Nội dung của đồ án này bao gồm những công việc sau:
    ü Tìm hiểu về xu hướng phát triển ứng dụng Web trong giai đoạn hiện nay, thế hệ Web 2.0 và kỹ thuật AJAX.
    ü Nghiên cứu, tìm hiểu công nghệ Struts, Hibernate và Spring. Đây là các công nghệ mã nguồn mở nổi tiếng nhất trong lĩnh vực lập trình ứng dụng Web dựa trên ngôn ngữ Java sử dụng theo mô hình MVC.
    ü Áp dụng các công nghệ Struts, Hibernate, Spring và Ajax để xây dựng chương trình ứng dụng tuyển dụng trực tuyến.
    Với những nội dung của đồ án được trình bày như trên, báo cáo đồ án tốt nghiệp được chia thành 3 chương. Nội dung của mỗi chương được trình bày như sau:
    ü Chương 1: Giới thiệu chung về xu hướng phát triển các ứng dụng Web trong những năm gần đây. Trong đó, bao gồm việc tìm hiểu về công nghệ Web 2.0, kỹ thuật lập trình Ajax, kiến trúc J2EE trong Java và sơ lược một số Framework mã nguồn mở nổi tiếng trong xây dựng ứng dụng Web dựa trên ngôn ngữ Java.
    ü Chương 2: Tập trung đi sâu tìm hiểu các công nghệ Struts, Hibernate và Spring với việc kế thừa các ưu điểm của mô hình lập trình Web điển hình: mô hình MVC. Đồng thời phân tích, đánh giá các điểm mạnh và điểm yếu của từng framework trong quá trình tích hợp xây dựng ứng dụng Web.
    ü Chương 3: Dựa vào những kiến thức đã nghiên cứu từ chương 1 và chương 2. Ở chương 3, tác giả áp dụng chúng để xây dựng một bài toán demo, đó là bài toán tuyển dụng. Đây là một bài toán mang nhiều ý nghĩa thực tế và hoàn toàn có thể triển khai thành ứng dụng trong xã hội. Tuy nhiên, do thời gian hạn chế và do kinh nghiệm của người thiết kế còn thiếu nhiều nên bài toán mới chỉ dừng lại với một số module nhất định. Tác giả 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.
    Phần kết luận và đánh giá : Trong phần này, tác giả đưa ra một số kết quả đã thực hiện được trong quá trình thực hiện đồ án tốt nghiệp. Đồng thời đưa ra một số đánh giá về chương trình cũng như một số giải pháp và hướng phát triển của các công nghệ Struts, Hibernate và Spring trong tương lai.


    ABSTRACT OF THESIS

    The content of this thesis includes the following parts :
    ü Research on the trend of Web application development nowadays, web 2.0 generation as well as AJAX technique.
    ü Studying and doing research Struts, Hibernate and Spring technology. They are the best open source code technology in field of Web application programing based on Java language and using MVC model.
    ü Using Struts, Hibernate, Spring and Ajax technology to build a online application programe.
    As the content was stated in the above paragraph, graduation thesis divide into 3 chapters. The content of each chapter was disposed in the following detail :
    ü Chapter 1: General introduction about trend of web application development in some recent years. This chapter focus on studying web 2.0 technology, Ajax programing technique, J2EE architecture in Java as well as some the best open source code Frameworks in web application based on Java language.
    ü Chapter 2: This chapter goes into the details of Struts, Hibernate and Spring technology by inheriting advantages of typical Web programing model: MVC model. At the same time, this part analyses and evaluates strengths and weaknesses of each framework in Web application, construction and integration process.
    ü Chapter 3: Base on recherches from two chapters above, the author, in this chapter, applies theses knowledges to design a demo. This is a recruitment demo (program) which is significant in pratice and capable of applying in the society. However, because of lack of time and experiences, the program limits at some modules. The author hopes that this program will be fullfilled and applied in the near future.
    Conclusion and assess: In this part, the author gives some results achieved in completing graduation thesis. Also, the author evalutates and gives some solutions and orientation to develop Struts, Hibernate and Spring technology in the future.




    LỜI NÓI ĐẦ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
    Ở 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 “Công nghệ Struts, Hibernate và Spring trong xây dựng ứng dụng Web Tuyển dụng”. Trong thời gian thực hiện đồ án, nghiên cứu, 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.

    Để có thể hoàn thành đồ án, đó là nhờ công lao to lớn của các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô trong khoa Công nghệ Thông tin, bộ môn công nghệ phần mềm nói riêng. Em xin gửi tới các thầy cô lời cám ơn chân thành nhất.
    Em xin cám ơn cô Bùi Thị Hòa – Giảng viên chính bộ môn Công nghệ phần mềm, khoa Công nghệ Thông tin, trường Đại học Bách Khoa Hà Nội đã nhiệt tình giúp đỡ, hướng dẫn, chỉ bảo tận tình trong suốt thời gian em làm đồ án tốt nghiệp.
    Em cũng xin gửi lời cám ơn đến Công ty Triax Việt Nam, các anh chị trong công ty: Anh Shishikura, chị Khánh Ngọc, anh Việt, anh Công đã tạo mọi điều kiện, giúp đỡ và góp ý để em có thể hoàn thành tốt đồ án.
    Cuối cùng, em xin gửi lời cám ơn chân thành tới gia đình, bạn bè đã động viên, chăm sóc, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và thực hiện tốt đồ án tốt nghiệp.
    Hà Nội, tháng 5 năm 2008
    Sinh viên: Nguyễn Tuấn Minh




    MỤC LỤC
    CHƯƠNG I : TỔNG QUAN VỀ CÔNG NGHỆ WEB JAVA TRONG NHỮNG NĂM GẦN ĐÂY 12
    I.1. Công nghệ Web 2.0 . 12
    I.2. Công nghệ AJAX . 14
    I.3. Kiến trúc J2EE trong xây dựng ứng dụng Web . 16
    I.3.1. Kiến trúc J2EE . 16
    I.3.1.1. Java Servlet 19
    I.3.1.2. JSP (Java Server Page) 19
    CHƯƠNG II : STRUTS , HIBERNATE, SPRING TRONG LẬP TRÌNH ỨNG DỤNG WEB . 22
    II.1. Một số khái niệm trong lập trình ứng dụng Web . 22
    II.1.1. Framework là gì ? 22
    II.1.2. Hai mô hình kiến trúc trong ứng dụng Web . 22
    II.1.2.1. Mô hình 1 22
    II.1.2.1.1. Đặc điểm . 22
    II.1.2.1.2. Ưu điểm . 23
    II.1.2.1.3. Nhược điểm . 23
    II.1.2.2 Mô hình 2 . 23
    II.1.2.2.1. Đặc điểm . 23
    II.1.2.2.2. Ưu điểm . 24
    II.1.3. Mô hình Model – View – Controller (MVC) 24
    II.1.3.1. Đặc điểm . 24
    II.1.3.2. Model 25
    II.1.3.3. View 25
    II.1.3.4. Controller 25
    II.1.3.5. Cơ chế tương tác giữa 3 thành phần trong ứng dụng 25
    II.1.3.6. Ưu điểm của mô hình MVC 26
    II.2. Struts framework . 27
    II.2.1. Lịch sử hình thành . 27
    II.2.2. Tổng quan về kiến trúc hệ thống . 27
    II.2.3. Các thành phần trong Struts 29
    II.2.3.1. Actions 29
    II.2.3.2. Interceptors . 30
    II.2.3.3. Value Stack / OGNL . 31
    II.2.3.4. Result Types 32
    II.2.3.5. Results / View technologies . 33
    II.2.4. Thư viện thẻ trong Struts 33
    II.2.4.1. Thư viện thẻ trong version 2.xx . 33
    II.2.5. Cấu hình trong Struts 34
    II.2.5.1. Cấu hình trong version 2.xx 34
    II.2.6. Ưu nhược điểm của Struts trong xây dựng ứng dụng Web 36
    II.3. Hibernate framework . 37
    II.3.1. Lịch sử hình thành . 37
    II.3.2. Một số khái niệm . 38
    II.3.2.1. Các khái niệm liên quan đến object / relational persistence . 38
    II.3.2.2. Persistence layer . 39
    II.3.2.3. ORM (Object/Relational Mapping) . 40
    II.3.3. Kiến trúc hệ thống . 40
    II.3.4. Cấu hình trong Hibernate 41
    II.3.5. Ưu nhược điểm của Hibernate trong lập trình ứng dụng Web 44
    II.4. Spring framework 45
    II.4.1. Lịch sử hình thành . 45
    II.4.2. Các thành phần trong Spring . 47
    II.4.4. Cấu hình Spring . 48
    II.4.5. Ưu điểm của Spring . 50
    CHƯƠNG III : XÂY DỰNG ỨNG DỤNG TUYỂN DỤNG . 52
    III.1. Giới thiệu bài toán tuyển dụng 52
    III.1.1. Mục đích 52
    III.1.2. Mục tiêu của hệ thống . 52
    III.2. Phân tích bài toán tuyển dụng . 53
    III.2.1. Những yêu cầu về chức năng 53
    III.2.1.1. Đối tượng người dùng và các chức năng 53
    III.2.1.2. Biểu đồ các Use Case 54
    III.2.1.2.1. Actor: Admin (Người quản trị) . 54
    III.2.1.2.2. Actor: Company (Nhà tuyển dụng) . 59
    III.2.1.2.3. Actor: Advertiser (Nhà quảng cáo) . 61
    III.2.1.2.4. Actor: Candidate (Ứng viên) . 62
    III.2.2. Lựa chọn giải pháp công nghệ 65
    III.2.2.1. Bảng chi tiết các chức năng . 65
    III.2.2.2. Một số biểu đồ diễn tiến các chức năng : 67
    III.3. Thiết kế và cài đặt chương trình . 73
    III.3.1. Thiết kế dữ liệu 73
    III.3.1.1. Mô hình quan hệ thực thể 73
    III.3.1.2. Thiết kế cơ sở dữ liệu . 74
    III.3.1.2.1. Bảng Account 74
    III.3.1.2.2. Bảng Role 74
    III.3.1.2.3. Bảng AccountRole 74
    III.3.1.2.4. Bảng Function . 74
    III.3.1.2.5. Bảng RoleFunction 75
    III.3.1.2.6. Bảng Advertiser . 75
    III.3.1.2.7. Bảng Adver_Content 75
    III.3.1.2.8. Bảng Job_Type 76
    III.3.1.2.9. Bảng Company 76
    III.3.1.2.10. Bảng Province 77
    III.3.1.2.11. Bảng Category . 77
    III.3.1.2.12. Bảng News 78
    III.3.1.2.13. Bảng Rec_Notice . 78
    III.3.1.2.14. Bảng Occupation . 79
    III.3.1.2.15. Bảng Candidate . 79
    III.3.1.2.16. Bảng Degree 80
    III.3.1.2.17. Bảng Candidate_Degree . 81
    III.3.1.2.18. Bảng Friend . 81
    III.3.1.2.19. Bảng Blog 81
    III.3.1.2.20. Bảng Blog_Comment 82
    III.3.1.2.21. Bảng Work_Type . 82
    III.3.2. Thiết kế module . 82
    III.3.2.1. Thiết lập môi trường lập trình . 84
    III.3.2.2. Mô hình thiết kế module . 84
    III.3.2.3. Thiết kế tầng Model . 85
    III.3.2.4. Thiết kế tầng View . 88
    III.3.2.5. Thiết kế tầng Controller . 88
    III.3.2.6. Các file cấu hình hệ thống . 89
    III.3.3. Thiết kế giao diện Web 89
    III.3.3.1. Thiết kế giao diện Admin . 89
    III.3.3.2. Thiết kế giao diện người dùng . 92
    KẾT LUẬN VÀ ĐÁNH GIÁ 93
    TÀI LIỆU THAM KHẢO . 94
     

    Các file đính kèm:

Đang tải...