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

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

93 280 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 93
Dung lượng 3,16 MB

Nội dung

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Mục đích nội dung ĐATN  Tìm hiểu cơng nghệ Struts, Hibernate SpringXây dựng Demo ứng dụng tuyển dụng Các nhiệm vụ cụ thể Đồ án tốt nghiệp  Thực tập công ty TriaxVN để tìm hiểu cơng nghệ Struts, Hibernate Spring  Tìm hiểu nghiệp vụ phân tích tốn tuyển dụngXây dựng cài đặt chương trình ứng dụng Demo Lời cam đoan sinh viên: Tôi – Nguyễn Tuấn Minh – cam kết ĐATN cơng trình nghiên cứu thân tơi hướng dẫn Ths Bùi Thị Hòa Các kết nêu ĐATN trung thực, chép tồn văn cơng trình khác Hà Nội, ngày 20 tháng năm 2008 Tác giả ĐATN Nguyễn Tuấn Minh Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ : Hà Nội, ngày 20 tháng năm 2008 Giáo viên hướng dẫn Ths Bùi Thị Hòa TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nội dung đồ án bao gồm công việc sau:  Tìm hiểu xu hướng phát triển ứng dụng Web giai đoạn nay, hệ Web 2.0 kỹ thuật AJAX  Nghiên cứu, tìm hiểu công nghệ Struts, Hibernate Spring Đây công nghệ mã nguồn mở tiếng lĩnh vực lập trình ứng dụng Web dựa ngơn ngữ Java sử dụng theo mơ hình MVC  Áp dụng công nghệ Struts, Hibernate, Spring Ajax để xây dựng chương trình ứng dụng tuyển dụng trực tuyến Với nội dung đồ án trình bày trên, báo cáo đồ án tốt nghiệp chia thành chương Nội dung chương trình bày sau:  Chương 1: Giới thiệu chung xu hướng phát triển ứng dụng Web năm gần Trong đó, bao gồm việc tìm hiểu cơng nghệ Web 2.0, kỹ thuật lập trình Ajax, kiến trúc J2EE Java sơ lược số Framework mã nguồn mở tiếng xây dựng ứng dụng Web dựa ngôn ngữ Java  Chương 2: Tập trung sâu tìm hiểu cơng nghệ Struts, Hibernate Spring với việc kế thừa ưu điểm 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á điểm mạnh điểm yếu framework q trình tích hợp xây dựng ứng dụng Web  Chương 3: Dựa vào kiến thức nghiên cứu từ chương chương Ở chương 3, tác giả áp dụng chúng để xây dựng tốn demo, tốn tuyển dụng Đây toán mang nhiều ý nghĩa thực tế hồn tồn triển khai thành ứng dụng xã hội Tuy nhiên, thời gian hạn chế kinh nghiệm người thiết kế thiếu nhiều nên tốn dừng lại với số module định Tác giả hi vọng ứng dụng xây dựng hồn chỉnh triển khai thời gian tới Phần kết luận đánh giá : Trong phần này, tác giả đưa số kết thực trình thực đồ án tốt nghiệp Đồng thời đưa số đánh giá chương trình số giải pháp hướng phát triển công nghệ Struts, Hibernate Spring 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 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 phát triển vũ bão vào mặt đời sống, kinh tế, xã hội người Đóng góp vào phát triển đó, vai trò Web ngày trở nên quan trọng công cụ đắc lực dẫn tới thành công nhiều lĩnh vực trọng điểm Với bùng nổ truyền thơng Web phương thức lan truyền thơng tin nhanh chóng, hiệu kinh tế Rất nhiều tập đoàn sản xuất phần mềm lớn IBM, Microsoft, Sun MicroSystem … tham gia vào lĩnh vực xây dựng phát triển ứng dụng Web Tuy nhiên, ứng dụng Web phát triển nhanh mạnh mẽ không kể đến cộng đồng, cộng đồng mã nguồn mở Sự đóng góp họ vơ lớn lao với mục đích cao phát triển cơng nghệ phục vụ cộng đồng Rất nhiều dự án lớn đời từ cộng đồng mã nguồn mở, kể đến số framework tiếng : Struts, Hibernate, Spring, JSF … Ở Việt Nam, phát triển ứng dụng Web hướng đầy tiềm hứa hẹn cho tất yêu thích cơng nghệ thơng tin nói chung kỹ sư phần mềm nói riêng Với tư cách kỹ sư phần mềm tương lai với niềm đam mê công nghệ Web, đặc biệt công nghệ mã nguồn mở, em chọn cho đề tài “Công nghệ Struts, Hibernate Spring xây dựng ứng dụng Web Tuyển dụng” Trong thời gian thực đồ án, nghiên cứu, tìm hiểu cơng nghệ em đạt số kết định Đó sơ quan trọng giúp em nắm bắt công nghệ làm việc tốt sau Để hồn thành đồ án, nhờ cơng lao to lớn thầy cô giáo trường Đại học Bách Khoa Hà Nội nói chung thầy khoa Công nghệ Thông tin, môn công nghệ phần mềm nói riêng Em xin gửi tới thầy cô lời cám ơn chân thành Em xin cám ơn Bùi Thị Hòa – Giảng viên 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, bảo tận tình suốt thời gian em làm đồ án tốt nghiệp Em xin gửi lời cám ơn đến Công ty Triax Việt Nam, anh chị công ty: Anh Shishikura, chị Khánh Ngọc, anh Việt, anh Công… tạo điều kiện, giúp đỡ góp ý để em 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 giúp đỡ trình học tập, nghiên cứu thực tốt đồ án tốt nghiệp Hà Nội, tháng 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 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 lập trình ứng dụng Web .22 II.1.1 Framework ? .22 II.1.2 Hai mô hình kiến trúc ứng dụng Web 22 II.1.2.1 Mơ hình 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 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 thành phần ứng dụng .25 II.1.3.6 Ưu điểm mơ hình MVC 26 II.2 Struts framework 26 II.2.1 Lịch sử hình thành 26 II.2.2 Tổng quan kiến trúc hệ thống .27 II.2.3 Các thành phần Struts .28 II.2.3.1 Actions 28 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 32 II.2.4 Thư viện thẻ Struts 33 II.2.4.1 Thư viện thẻ version 2.xx 33 II.2.5 Cấu hình Struts .34 II.2.5.1 Cấu hình version 2.xx .34 II.2.6 Ưu nhược điểm Struts xây dựng ứng dụng Web 35 II.3 Hibernate framework .36 II.3.1 Lịch sử hình thành 36 II.3.2 Một số khái niệm 37 II.3.2.1 Các khái niệm liên quan đến object / relational persistence 37 II.3.2.2 Persistence layer .38 II.3.2.3 ORM (Object/Relational Mapping) 39 II.3.3 Kiến trúc hệ thống 40 II.3.4 Cấu hình Hibernate 41 II.3.5 Ưu nhược điểm Hibernate lập trình ứng dụng Web .43 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 Spring 46 II.4.4 Cấu hình Spring 48 II.4.5 Ưu điểm Spring 49 CHƯƠNG III : XÂY DỰNG ỨNG DỤNG TUYỂN DỤNG 52 III.1 Giới thiệu toán tuyển dụng .52 III.1.1 Mục đích 52 III.1.2 Mục tiêu hệ thống .52 III.2 Phân tích toán tuyển dụng 53 III.2.1 Những yêu cầu chức 53 III.2.1.1 Đối tượng người dùng chức .53 III.2.1.2 Biểu đồ 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 chức .65 III.3.1 Thiết kế liệu .73 III.3.1.1 Mơ hình quan hệ thực thể 73 III.3.1.2 Thiết kế sở liệu 73 III.3.1.2.1 Bảng Account 73 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 77 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 80 III.3.1.2.18 Bảng Friend 80 III.3.1.2.19 Bảng Blog .81 III.3.1.2.20 Bảng Blog_Comment .81 III.3.1.2.21 Bảng Work_Type 81 III.3.2 Thiết kế module 82 III.3.2.1 Thiết lập mơi trường lập trình 83 III.3.2.2 Mơ hình thiết kế module 84 III.3.2.3 Thiết kế tầng Model 84 III.3.2.4 Thiết kế tầng View 87 III.3.2.5 Thiết kế tầng Controller 87 III.3.2.6 Các file cấu hình hệ thống 88 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 90 KẾT LUẬN ĐÁNH GIÁ .92 TÀI LIỆU THAM KHẢO 93 MỤC LỤC HÌNH VẼ Hình I.1 Mơ hình “cổ điển” ứng dụng Web .15 Hình I.2 Mơ hình sử dụng AJAX ứng dụng Web 16 Hình I.3 Ứng dụng đa tầng J2EE 18 Hình I.4 Mơ hình ứng dụng Browser/Server 19 Hình 1.5 Cơ chế hoạt động JSP 20 Hình II.1 Mơ hình kiến trúc ứng dụng Web 23 Hình II.2 Mơ hình kiến trúc ứng dụng Web 24 Hình II.3 Mơ hình MVC kiến trúc ứng dụng Web 25 Hình II.4 Cơ chế tương tác thành phần mơ hình MVC 26 Hình II.5 Vòng đời request ứng dụng Struts2 28 Hình II.6 Persistence layer kiến trúc phân tầng .39 Hình II.7 Kiến trúc hệ thống Hibernate 40 Hình II.8 Các module Spring 47 Hình III.1 Các nhóm sử dụng hệ thống 53 Hình III.2 Sơ đồ phân rã chức 54 Hình III.3 Use Case Admin quản lý Advertiser .55 Hình III.4 Use Case Admin quản lý Advertisment 56 Hình III.5 Use Case Admin quản lý Candidate .57 Hình III.6 Use Case Admin quản lý Company 58 Hình III.7 Use Case Admin quản lý News 59 Hình III.8 Use Case Company quản lý Profile 60 Hình III.9 Use Case Company quản lý tin tức 60 Hình III.10 Use Case Company quản lý thơng tin tuyển dụng 61 Hình III.11 Use Case Advertiser quản lý quảng cáo .62 Hình III.12 Use Case Candidate quản lý Profile .62 Hình III.13 Use Case Candidate quản lý Friends 63 Hình III.14 Use Case Candidate quản lý Blog 64 Hình III.15 Sơ đồ diễn tiến chức LogIn 67 Hình III.16 Sơ đồ diễn tiến chức LogOut .67 Hình III.17 Sơ đồ diễn tiến chức Add News 68 Hình III.18 Sơ đồ diễn tiến chức Edit News 68 Hình III.19 Sơ đồ diễn tiến chức Delete News .69 Hình III.20 Sơ đồ diễn tiến chức Edit Profile 69 Hình III.21 Sơ đồ diễn tiến chức Add User .70 Hình III.22 Sơ đồ diễn tiến chức Edit User 70 Hình III.23 Sơ đồ diễn tiến chức Delete User 71 Hình III.24 Sơ đồ diễn tiến chức Company Search Candidate .71 Hình III.25 Sơ đồ diễn tiến chức Company bookmarks Candidate .72 Hình III.26 Sơ đồ diễn tiến chức Blog Individual 72 Hình III.28 Các gói module 82 Hình III.29 Module admin .83 Hình III.30 Module User 83 Hình III.31 Mơ hình thiết kế Module theo Struts 84 Hình III.32 Mơ hình thiết kế tầng Controller 88 Hình III.33 Màn hình Login 89 Hình III.34 Màn hình giao diện .89 Hình III.35 Màn hình hiển thị danh sách 90 Hình III.36 Màn hình thêm mới, cập nhật 90 Hình III.37 Màn hình giao diện trang chủ .91 DANH MỤC BẢNG Bảng 1: Danh sách chức 66 Bảng 2: Bảng Account .74 Bảng 3: Bảng Role 74 Bảng 4: Bảng AccountRole .74 Bảng 5: Bảng Function 75 Bảng 6: Bảng RoleFunction 75 Bảng 7: Bảng Advertiser 75 Bảng 8: Bảng Adver_Content 76 Bảng 9: Bảng Job_Type 76 Bảng 10: Bảng Company 77 Bảng 11: Bảng Province 77 Bảng 12: Bảng Category 77 Bảng 13: Bảng News .78 Bảng 14: Bảng Rec_Notice .79 Bảng 15: Bảng Occupation 79 Bảng 16: Bảng Candidate 80 Bảng 17: Bảng Degree .80 Bảng 18: Bảng Candidate_Degree 80 Bảng 19: Bảng Friend 81 Bảng 20: Bảng Blog 81 Bảng 21: Bảng Blog_Comment .81 Bảng 22: Bảng Work_Type .82 UPD_DTTM DATETIME Ngày cập nhật Bảng 14: Bảng Rec_Notice III.3.1.2.14 Bảng Occupation Tên trường Kiều DL Độ dài INT 11 Mã nghề nghiệp OCCUPATION_CODE VARCHAR 10 Mã viết tắt NAME VARCHAR 255 Tên nghề nghiệp DESCRIPTION VARCHAR 1000 Mô tả nghề nghiệp PẢRENT_ID INT 11 Mã danh mục cha REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật OCCUPATION_ID PK FK О Ý nghĩa Bảng 15: Bảng Occupation III.3.1.2.15 Bảng Candidate Tên trường CANDIDATE_ID OCCUPATION_ID FULLNAME SEX BIRTHDAY PK FK О О Kiều DL Độ dài INT 11 Mã ứng viên INT 11 Mã nghề nghiệp VARCHAR 100 Tên đầy đủ ứng viên TINYINT Giới tính: - Nam; - Nữ DATE Ý nghĩa Ngày sinh MOBILE VARCHAR 12 Số điện thoại di động PHONE VARCHAR 15 Số điện thoại cố định NATIVE_COUNTRY VARCHAR 200 Quê quán ứng viên CONTACT_ADDRESS VẢRCHAR 300 Địa liên hệ EMAIL VARCHAR 100 Email ứng viên WEBSITE VARCHAR 255 Website ứng viên BLOG_URL VARCHAR 255 Địa Blog ứng viên FOREIGN_LEVEL VARCHAR 500 Trình độ ngoại ngữ WORK_HISTORY TEXT Các công ty trước làm việc PROJECT_HISTORY TEXT Các dự án lớn tham gia SPEC_SKILL VARCHAR 1000 Kỹ chun mơn HOBBY VARCHAR 1000 Sở thích cá nhân SELF_EXPRESSIVE TEXT Tự bạch thân WORK_EXPECT TEXT Công việc mong muốn tương lai AMBITION TEXT Tham vọng, hoài bão SALARY_REQUIREMENT VARCHAR 500 Yêu cầu mức lương WORK_REQUIREMENT VARCHAR 1000 Yêu cầu công việc IMG1 VARCHAR 255 Ảnh cá nhân IMG2 VARCHAR 255 Ảnh cá nhân IMG3 VARCHAR 255 Ảnh cá nhân IS_PUBLISH TINYINT Có cơng khai thơng tin CV không ? REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Bảng 16: Bảng Candidate III.3.1.2.16 Bảng Degree Tên trường Kiều DL Độ dài INT 11 Mã cấp NAME VARCHAR 100 Tên cấp DESCRIPTION VARCHAR 1000 Mô tả cấp REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật DEGREE_ID PK FK О Ý nghĩa Bảng 17: Bảng Degree III.3.1.2.17 Bảng Candidate_Degree Tên trường PK FK Kiều DL Độ dài Ý nghĩa DEGREE_ID О О INT 11 Mã cấp CANDIDATE_ID О О INT 11 Mã ứng viên NAME VARCHAR 100 Tên chuyên ngành cấp DESCRIPTION VARCHAR 1000 Mô tả chuyên ngành cấp REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Bảng 18: Bảng Candidate_Degree III.3.1.2.18 Bảng Friend Tên trường FRIEND_ID PK О FK Kiều DL Độ dài INT 11 Ý nghĩa Mã ID bạn bè CANDIDATE_ID О INT 11 Mã ứng viên FRIEND_OF_CANDIDATE_ID INT 11 Mã bạn ứng viên REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Bảng 19: Bảng Friend III.3.1.2.19 Bảng Blog Tên trường Kiều DL Độ dài INT 11 Mã Blog INT 11 Mã ứng viên TITLE VARCHAR 255 Tiêu đề Blog IMAGE VARCHAR 255 Ảnh Blog BLOG_ID PK FK О CANDIDATE_ID О CONTENT TEXT Ý nghĩa Nội dung Blog IS_DISPLAY TINYINT Trạng thái có hiển thị hay khơng ? BLOG_DATE DATETIME REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Ngày viết Blog Bảng 20: Bảng Blog III.3.1.2.20 Bảng Blog_Comment Tên trường PK BLOG_COMMENT_ID FK Kiều DL Độ dài INT 11 Mã Blog Comment INT 11 Mã Blog INT 1000 VARCHAR 100 О BLOG_ID О CANDIDATE_COMMENT_ID COMMENT_NAME CONTENT TEXT Ý nghĩa Mã ứng viên viết comment Tên người viết comment Nội dung viết comment REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Bảng 21: Bảng Blog_Comment III.3.1.2.21 Bảng Work_Type Tên trường PK FK Kiều DL Độ dài Ý nghĩa WORK_TYPE_ID О INT 11 Mã loại hình cơng việc NAME INT 11 Tên loại hình cơng việc DESCRIPTION INT 1000 REG_USER INT 11 ID người đăng ký UPD_USER INT 11 ID người cập nhật REG_DTTM DATETIME Ngày đăng ký UPD_DTTM DATETIME Ngày cập nhật Mơ tả loại hình cơng việc Bảng 22: Bảng Work_Type III.3.2 Thiết kế module Mỗi trang Web thiết kế xây dựng từ module riêng biệt Các module thiết kế dựa framework Struts Hibernate, sau chúng tích hợp lại với để tạo nên chức riêng trang Hệ thống tuyển dụng chia làm module chính, module quản trị module người sử dụng Sơ đồ gói module sau: Gói module : Hình III.28 Các gói module Module Admin : Hình III.29 Module admin Module User : Hình III.30 Module User III.3.2.1 Thiết lập mơi trường lập trình Mơi trường lập trình thiết lập cho hệ thống sau: - Windows XP, Windows Server 2003 - Web Server : Tomcat 6.0.14 phiên - Java JDK 1.6 - J2EE 1.4 - IDE Eclipse 3.3 (hoặc MyEclipse 6.0) - MySQL 5.0.45 - Framework Library : Struts 2.0.11, Hibernate 3.1, Spring 2.5 - UML Design : JUDE Comunity 5.2.1 III.3.2.2 Mơ hình thiết kế module Để thiết kế module, sử dụng mơ hình MVC mơ tả : Hình III.31 Mơ hình thiết kế Module theo Struts Trong đó:  Tầng View : Đây thành phần hiển thị phía người dùng, giúp người dùng tương tác với hệ thống, thể cho chức module chương trình Đây phần lập trình JSP, CSS, Javascript, Ajax, TagLib …  Tầng Controller : Đây phần nghiệp vụ xử lý hệ thống Có thể nói, “trái tim” hệ thống Controller tiếp nhận yêu cầu từ phía người dùng, lựa chọn điều hướng action, kết hợp với tầng Model xử lý yêu cầu hiển thị kết tầng View tới người sử dụng  Tầng Model : Đó lớp mơ hình hóa sở liệu Thơng thường JavaBean ánh xạ từ bảng sở liệu mơ hình hóa với quan hệ hướng đối tượng Các lớp tạo với hỗ trợ công cụ Hibernate III.3.2.3 Thiết kế tầng Model Tầng Model bao gồm ba thành phần chính:  Các lớp Java (JavaBean): ánh xạ từ bảng sở liệu Đây lớp Java, chứa thuộc tính tương ứng với cột bảng phương thức setter getter  Các file xml định nghĩa ánh xạ (*.hbm.xml): Đó file xml mô tả việc ánh xạ từ bảng sở liệu thành đối tượng Java, mơ tả rõ chuyển đổi tên trường bảng thành tên thuộc tính đối tượng chuyển đổi kiểu liệu tương ứng  File cấu hình ánh xạ sở liệu (hibernate.cfg.xml): Đây file chứa thông tin để kết nối tới sở liệu, bao gồm: tên sở liệu, tên username, password truy nhập, tên file định nghĩa ánh xạ thơng tin cấu hình khác Dưới ví dụ mơ tả thành phần (ở lấy ví dụ với bảng account bảng chứa thông tin truy nhập người dùng): Lớp JavaBean(Account.java): package vn.rec.domain; import java.util.Date; import java.util.HashSet; import java.util.Set; public class Account implements java.io.Serializable { // Fields private private private private Integer accountId; String loginName; String loginPassword; Byte status; // Constructors /** default constructor */ public Account() { } /** minimal constructor */ public Account(Integer accountId, String loginName, String loginPassword, Byte status) { this.accountId = accountId; this.loginName = loginName; this.loginPassword = loginPassword; this.status = status; } // Property accessors public Integer getAccountId() { return this.accountId; } public void setAccountId(Integer accountId) { this.accountId = accountId; } public String getLoginName() { return this.loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getLoginPassword() { return this.loginPassword; } public void setLoginPassword(String loginPassword) { this.loginPassword = loginPassword; } public Byte getStatus() { return this.status; } public void setStatus(Byte status) { this.status = status; } } File xml định nghĩa ánh xạ(Account.hbm.xml): File cấu hình(hibernate.cfg.xml): Hibernate Tools > root jdbc:mysql://localhost:3306/recruitment? useUnicode=true&characterEncoding=UTF-8 org.hibernate.dialect.MySQLDialect MySQL DB update 123456 com.mysql.jdbc.Driver true org.hibernate.transaction.JDBCTransactionFactory III.3.2.4 Thiết kế tầng View Tầng view bao gồm file CSS, JavaScript, file template JSP, Velocity FreeMarker… làm nhiệm vụ giao tiếp người dùng với hệ thống Đó thành phần giúp người dùng nhập liệu, gửi yêu cầu tới hệ thống lấy liệu xử lý tầng Controller để trả phía người dùng Các file JSP có sử dụng thư viện thẻ (TagLig) Struts2 JSTL để hỗ trợ xử lý hiển thị liệu III.3.2.5 Thiết kế tầng Controller Tầng Controller thiết kế bao gồm ba thành phần sau :  Các lớp DAO (Data Access Object) : Đây lớp truy xuất liệu từ sở liệu thực dựa đối tượng JavaBean ánh xạ quan hệ (là tầng gần Database nhất) Việc truy xuất liệu bao gồm thao tác CRUD (Create,Retrive,Update,Delete) số thao tác nghiệp vụ khác Các lớp thực thi với hỗ trợ ngôn ngữ HQL quản lý transaction Spring framework  Các lớp Service : Đây tầng nằm tầng DAO Các lớp tầng chủ yếu có nhiệm vụ thực chức nghiệp vụ hệ thống trực tiếp gọi lớp xử lý thao tác với sở liệu tầng DAO  Các lớp Action : Đây tầng tầng nghiệp vụ, nằm tầng Service trực tiếp gọi phương thức lớp tầng Service để xử lý yêu cầu từ phía người dùng Có thể mơ tả cách bố trí thực thi tầng hình vẽ : Action Layer Service Layer DAO Layer Database Server Hình III.32 Mơ hình thiết kế tầng Controller Nguyên tắc thực thi : Các lớp thuộc tầng truy xuất đến lớp Ví dụ, Các lớp thuộc tầng Action truy xuất đến lớp thuộc tầng Service lớp thuộc tầng Service truy xuất đến lớp thuộc tầng DAO Khơng có thứ tự truy xuất ngược lại từ lên III.3.2.6 Các file cấu hình hệ thống Các file cần thiết cấu hình hệ thống bao gồm :  File web.xml : Đây file cấu hình chung hệ thống, bao gồm thông tin việc sử dụng gói thư viện, định nghĩa khởi tạo file cấu hình khác, định dạng unicode, định nghĩa lọc bảo mật, dọn rác …  File struts.xml : Đây file cấu hình Struts framework Nó khởi tạo Bean, số đặc biệt ánh xạ action từ phía người sử dụng đến lớp phương thức tương ứng cần xử lý sau điều hướng hiển thị đến tầng view  File applicationContext.xml : Đây file cấu hình Spring framework Nó định nghĩa loại kết nối giao tiếp với sở liệu Ngồi ra, chứa thơng tin Bean hệ thống bao gồm bean DAO, Service phục vụ cho trình xử lý nghiệp vụ từ phía action  File tiles.xml : Đây file cấu hình hỗ trợ cho việc sử dụng layout tầng view Việc sử dụng layout giúp chia trang Web thành thành phần nhỏ sử dụng lại thành phần chung Điều giúp giảm thiểu lượng code giúp cho việc lập trình trở nên ngắn gọn, đơn giản dễ bảo trì III.3.3 Thiết kế giao diện Web Đây giai đoạn thiết kế prototype cho trang Web Nội dung công việc bao gồm xác định giao diện dạng bố cục, chức năng, trường hợp sử dụng liên kết trang tổng thể Web site III.3.3.1 Thiết kế giao diện Admin  Giao diện hình Login Hình III.33 Màn hình Login  Giao diện Hình III.34 Màn hình giao diện  Giao diện hiển hiển thị danh sách HEADER Menu Function Management No Name Add … … … … Cancel … … … … First Prev … Next Last Total : 100 FOOTER Hình III.35 Màn hình hiển thị danh sách  Giao diện thêm mới, cập nhật (Popup Windows) Hình III.36 Màn hình thêm mới, cập nhật III.3.3.2 Thiết kế giao diện người dùng Giao diện trang chủ : Hình III.37 Màn hình giao diện trang chủ KẾT LUẬN ĐÁNH GIÁ  Kết đạt Đồ án đạt kết sau:  Tìm hiểu cơng nghệ Struts, Hibernate Spring, kết hợp với Ajax tạo thành tảng lập trình ứng dụng WebXây dựng ứng dụng tuyển dụng với chức dựa công nghệ  Đánh giá  Về mặt nghiên cứu công nghệ, sau hoàn thành đồ án tác giả nắm bắt đặc điểm, vai trò chúng xây dựng ứng dụng Web, biết cách sử dụng tích hợp ba framework ứng dụng cụ thể Tuy nhiên, thời gian tìm hiểu có hạn nên nhiều tính kỹ thuật xử lý tác giả chưa nắm bắt  Về xây dựng toán tuyển dụng, ứng dụng đạt số kết định Do thời gian hạn hẹp kiến thức người thiết kế nhiều hạn chế nên chương trình số module chưa hồn thiện số module xây dựng chưa tối ưu Hy vọng, thời gian tới, hệ thống xây dựng hoàn thiện tối ưu để đưa vào sử dụng  Hướng phát triển:  Hiện nay, công nghệ Struts, Hibernate Spring phát triển mạnh mẽ sử dụng tương đối rộng rãi ứng dụng Web, đặc biệt ứng dụng có quy mô lớn, phức tạp Đây công nghệ mã nguồn mở dựa ngôn ngữ Java Với phát triển mạnh mẽ công nghệ tri thức, có nhiều cơng nghệ Web đời cạnh tranh với công nghệ Tuy nhiên, Struts, Hibernate Spring nhiều người yêu thích sử dụng rộng rãi nhiều ứng dụng khác  Đồ án tập trung nghiên cứu công nghệ Struts, Hibernate Spring áp dụng xây dựng toán tuyển dụng trực tuyến Đây toán hay mở rộng phát triển tương lai Với việc hoàn thiện chức mơ tả phân tích đồ án, ứng dụng triển khai thực tế đáp ứng nhiều nhu cầu cần thiết người sử dụng TÀI LIỆU THAM KHẢO  Các tài liệu tham khảo :  Struts in Action (Ted N Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt)  Struts Survival Guide (Srikanth Shenoy)  Struts: The Complete Reference (James Holmes )  Jakarta Struts for Dummies (Mike Robinson, Ellen Finkelstein)  Professional Jakarta Struts (James Goodwill, Richard Hightower)  Apress - Beginning Apache Struts (Arnold Doray)  Apress - Pro Apache Struts with Ajax (John Carnell, Rob Harrop, Kunal Mittal)  Manning – Webwork in Action (Patrick Lightbody, Jason Carreira)  Starting Struts (Ian Roughley)  Apress – Expert Spring MVC and Web Flows (Seth Ladd, Keith Donald)  Spring Reference (Document of www.springframework.org)  Manning - Spring in Action 2007 (Craig Walls, Ryan Breidenbach)  Spring Live (Matt Raible)  Agile Java Development (Anil Hemrajani)  Hibernate reference (Document of www.hibernate.org)  Manning - Java persistence with Hibernate (Christian Bauer, Gavin King)  Manning - Hibernate in Action (Christian Bauer, Gavin King) with Spring,  Các trang Web tham khảo :  http://www.struts.apache.org  http://www.springframework.org  http://www.hibernate.org  http://www.roseindia.net  http://www.java.sun.com/j2ee  http://www.javavietnam.org  http://www.java-source.net/open-source  http://www.wikipedia.org  http://www.blogjava.net  nhiều trang diễn đàn blog khác Hibernate and Eclipse ... HIBERNATE, SPRING TRONG LẬP TRÌNH ỨNG DỤNG WEB II.1 Một số khái niệm lập trình ứng dụng Web II.1.1 Framework ? Ngày nay, trình xây dựng ứng dụng Web, có nhiều khung làm việc (framework) xây dựng. .. tiếng lĩnh vực lập trình ứng dụng Web dựa ngơn ngữ Java sử dụng theo mơ hình MVC  Áp dụng cơng nghệ Struts, Hibernate, Spring Ajax để xây dựng chương trình ứng dụng tuyển dụng trực tuyến Với nội... trở thành phổ dụng cho tất ứng dụng Web I.3 Kiến trúc J2EE xây dựng ứng dụng Web I.3.1 Kiến trúc J2EE J2EE khung ứng dụng Web hoạt động hiệu mà công ty giới IBM, Oracle, Sun áp dụng hiệu dự án

Ngày đăng: 25/03/2018, 21:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w