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

Tìm hiểu công nghệ struts1 framework và xây dựng website ẩm thực nghệ an

42 2K 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tìm hiểu công nghệ Struts1 Framework và xây dựng website Ẩm thực Nghệ an
Tác giả Đậu Trần Thành
Người hướng dẫn ThS. Nguyễn Công Nhật
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2012
Thành phố Nghệ An
Định dạng
Số trang 42
Dung lượng 6,02 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 … Ở Việt Nam, phát triển các ứng dụng web là hướng

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

Nghệ An, tháng 12 năm 2012

TRƯỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN

Giáo viên hướng dẫn: ThS Nguyễn Công Nhật

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 …

Ở 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.

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 công nghệ Struts1 Framework và xây dựng website Ẩm thực Nghệ an” 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.

Nội dung cơ bản của đồ án gồm bốn chương:

Chương 1: Tổng quan về ngôn ngữ java và các thành phần

Chương 2: Kiến trúc MVC ( Model-View-Controler ).

Chương 3: Struts1 Framework.

Chương 4: Áp dụng Struts1 Framework demo ứng dụng triển khai thực tế.

Trang 4

Vinh nói chung và các thầy cô trong khoa Công nghệ Thông tin 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 thầy Th.s Nguyễn Công Nhật ngườ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 FPT Đà Nẵng, các anh chị trong

công ty đã 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.

Vinh, tháng 12 năm 2012 Sinh viên thực hiên:

Đậu Trần Thành.

Trang 5

Mục lục

PHẦN NỘI DUNG 6

CHƯƠNG 1: TỔNG QUAN NGÔN NGỮ JAVA VÀ CÁC THÀNH PHẦN 6

1.1 Tổng quan về ngôn ngữ java 6

1.1.1 Lịch sử phát triển của Java 6

1.1.2 Mục đích của Java 6

1.1.3 Đặc điểm của Java 6

1.1.4 Các loại chương trình trong java 7

1.1.5 Các thành phần của Java Environment 7

1.1.6 Các loại ứng dụng java 7

1.2 Giới thiệu môi trường phát triển ứng dụng java Eclipse 8

1.2.1 Giới thiệu Eclipse, download và cài đặt 8

1.2.2 Kiến trúc Eclipse 9

1.2.3 The Platform runtime 9

1.2.5 The workspace 9

1.2.6 The Workbench 9

1.2.7 Team support 9

1.2.8 SWT 9

1.2.9 JFace 10

1.2.10 Help 10

1.3 Giới thiệu J2EE và các thành phần liên quan 11

1.3.1 Apple 11

1.3.2 JavaBean 12

1.3.3 JSP (Java Server Pages) 13

1.3.4 Servlet 15

CHƯƠNG 2 17

KIẾN TRÚC MÔ HÌNH MVC (MODEL _VIEW_CONTROLER) 17

2.1 Thế nào là mô hình MVC 17 2.2 Các thành phần trong MVC 17

Trang 6

2.4 Mối quan hệ giữa View và Controller 18

2.5 Mối quan hệ giữa Model và View 19 2.6 Mối quan hệ giữa Model và Controller 19

2.7 Ưu điểm và nhược điểm của MVC 20

CHƯƠNG 3 21

STRUTS 1 FRAMEWORK 21

3.1 Khái niệm 21 3.2 Cấu trúc của Struts bao gồm 22 3.3 Các thành phần chính của một ứng dụng Struts 23 3.4 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts 23 3.5 Hoạt động của struct1 Framework 24 3.3.1 Kiến trúc tầng controller trong struct1 25

3.3.2 Các thành phần Model (Model Components) 29

3.3.3 Các thành phần View (View Components) 31

3.4 Ưu điểm và Nhược điểm của Struts (so với MVC RequestDispatcher) 31

3.4.1 Ưu điểm 31

3.4.2 Nhược điểmcủa Struts 32

CHƯƠNG 4 33

ÁP DỤNG STRUTS 1 FRAMEWORK VÀ ỨNG DỤNG DEMO TRIỂN KHAI THỰC TẾ 33

4.1 Quá trình thực hiện 34

4.1.1 Các trang hiển thị (View) 34 4.1.2 Action35 4.1.3 ActionForm 35 4.1.4 Model 36 4.1.5 struts-config.xml 36 4.2 Triển Khai Ứng Dụng 36

Trang 7

KẾT LUẬN 38

i Kết quả đạt được 38

ii Hạn chế 38

iii Khắc phục và hướng phát triển đề tài 38

Tài Liệu Tham Khảo 39

Trang 8

CHƯƠNG 1: TỔNG QUAN NGÔN NGỮ JAVA VÀ CÁC THÀNH

PHẦN 1.1 Tổng quan về ngôn ngữ java

1.1.1 Lịch sử phát triển của Java

• Ra đời tại Sun Microsystems bởi James Gosling

• 1991: Version đầu tiên với tên “Oak”

• 1995: Tên chính thức là Java

1.1.2 Mục đích của Java

• Dùng để phát triển ứng dụng cho các thiết bị điện tử “thông minh”

• Tạo các trang web có nội dung động (web applet)

• Hiện nay, Java được sử dụng để phát triển nhiều loại ứng dụng khác nhau: cơ sở dữ liệu, mạng, Internet, viễn thông

1.1.3 Đặc điểm của Java

• Giống C/C++

• Đơn giản

• Object-oriented, hướng đối tượng

• Platform-independent, không phụ thuộc nền

Trang 9

Chương trình dịch trong java

1.1.4 Các loại chương trình trong java

• Java/Sun class libraries

• Java Virtual Machine

• Structure of class files

Trang 10

1.2 Giới thiệu môi trường phát triển ứng dụng java Eclipse

1.2.1 Giới thiệu Eclipse, download và cài đặt

Eclipse là một nền tảng phát triển mã nguồn mở dựa trên Java, được cácnhà phát triển sử dụng để xây dựng những ứng dụng J2EE, sử dụng Eclipsenhà phát triển có thể tích hợp với nhiều công cụ hỗ trợ khác để có được một

bộ công cụ hòan chỉnh mà không cần dùng đến phần mềm riêng nào khác.Eclipse SDK (Java Development Kit) bao gồm 3 phần chính: Platform, JavaDevelopment Toolkit (JDT), Plug-in Development Environment (PDE) VớiJDT, Eclipse được xem như là một môi trường hỗ trợ phát triển Java mạnh

mẽ PDE hỗ trợ việc mở rộng Eclipse, tích hợp các Plug-in vào EclipsePlatform

Eclipse Platform là nền tảng của toàn bộ phần mềm Eclipse, mục đích của

nó là cung cấp những dịch vụ cần thiết cho việc tích hợp những bộ công cụphát triển phần mềm khác dưới dạng Plug-in, bản thân JDT cũng có thểđược coi như là một Plug-in làm cho Eclipse như là một Java IDE(Integrated Development Enviroment)

Dự án Eclipse (Eclipse Project) ban đầu được IBM thành lập vào tháng

11 2001 và được hiệp hội các nhà cung cấp phần mềm hỗ trợ Quỹ Eclipse

đã được thành lập vào tháng 1 năm 2004 như là một tổ chức phi lợi nhuậnđộc lập hoạt động như là người quản lý của cộng đồng Eclipse Nó đượcthành lập nhằm cho phép một cộng đồng minh bạch, mở và trung lập với cácnhà cung cấp phần mềm, phát triển nở rộ quanh Eclipse Hiện nay, cộngđồng Eclipse bao gồm các cá nhân và các tổ chức từ nhiều lĩnh vực của côngnghiệp phần mềm

Download, cài đặt: http://www.eclipse.org/downloads/

Trang 11

1.2.2 Kiến trúc Eclipse

1.2.3 The Platform runtime

Công việc chính của Platform runtime là phát xem plug-in nào đang

có trong thư mục plug-in của Eclipse Mỗi Plug-in đều có một tập tinManifest liệt kê những kết nối mà plug-in cần Pug-in chỉ được tải vàoEclipse mỗi khi thực sự cần thiết để giảm lượng tài nguyên yêu cầu vàthời gian khởi tạo

1.2.5 The workspace

Workspace chịu trách nhiệm quản lý tài nguyên người dùng được tồchức dưới dạng Project Mỗi Project là một thư mục con trong thư mụcWorkspace

Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên,tránh thất thoát tài nguyên người dùng

Workspace đồng thời chịu trách nhiệm thông bào những công cụ cấnthiết cho việc thay đổi tài nguyên

1.2.6 The Workbench

Workbench là giao diện đồ họa người dùng của Eclipse, gồm cóStandard Widget Toolkit (SWT) và JFace Eclipse không hòan toàn bắtbuộc phải sử dụng SWT hay Jface để lập trình giao diện, bạn vẫn có thể

sử dụng AWT hay SWING của Java thông qua việc cài đặt các Plug-ins

1.2.7 Team support

Trang bị cho hệ thống quản trị để quản lý các dự án của người dùng viếttắt là CVS (Concurrent Versions System )

Trang 12

1.2.8 SWT

Standard Widget Toolkit (SWT) cung cấp các Application ProgrammingInterface (giao diện lập trình ứng dụng) viết tắt là API độc lập nền tảng chocác widget và công cụ đồ họa bằng cách cho phép tích hợp chặt chẽ với hệđiều hành bên dưới Giao diện Eclipse Platform sử dụng SWT để trình bàythông tin cho người dùng, cho dù người dùng đang làm việc trên hệ điềuhành Linux, Window hay hệ điều hành nào khác có giao diện đồ họa

1.2.9 JFace

JFace là tookit để xây dựng giao diện người dùng cấp cao, JFace là tầngtrên cùng của SWT, cung cấp các lớp thuộc mô hình MVC để phát triển cácứng dụng đồ họa dễ dàng hơn

Trang 13

1.3 Giới thiệu J2EE và các thành phần liên quan

Là 1 thành phần rất quan trọng và rộng lớn trong lĩnh vực java, J2EEđượ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ực được chú trọng và ứng dụng nhiều nhất của java trong thực tế

Sơ đồ các thành phần trong J2EE

1.3.1 Apple

• Là một chương trình Java chạy trên web browser

• Tất cả các applets phải là lớp con của lớp Applet hoặc JApplet

• Để tạo ra một applet, ta phải import:

java.applet java.awt

Trang 14

destroy( )

Sự khác nhau giữa Applet và Application

• Applications chạy bằng Java interpreter, còn applets chạy trên browser

có hỗ trợ Java, hoặc dùng ‘AppletViewer’ có trong JDK

• Việc thực hiện một applications bắt đầu trong hàm ‘main()’ Cònapplet thì không cần hàm main

• Applications dùng ‘System.out.println()’ để xuất, trong khi applets dùnghàm ‘drawString()’ để hiển thị

Các hạn chế về Security trên Applets

• Không thể đọc hoặc viết các file trên hệ thống file của user

• Không thể trao đổi với một site trên

• Không thể chạy được các chương trình trên hệ thống hiện hành

• Không thể tải bất kỳ chương trình được lưu trữ trên hệ thống của user

1.3.2 JavaBean

JavaBeans là software component model Nó có thể tương tác với cácđối tượng của các software khác và có thể được dùng lại Các softwarecomponents mà có thể dùng lại này được gọi là ‘beans’ Componentsđược dùng trong môi trường phân tán (distributed environments).JavaBeans được thiết kế để dùng khi cần Java thường xây dựng các

Trang 15

software thông qua các JavaBeans Khi mà Java Beans được tạo ra, thìchúng có thể được dùng như một thư viện không phụ thuộc nền

Các qui tắc để tạo ra một Beans

1.3.3 JSP (Java Server Pages)

JSP (viết tắt của tiếng Anh JavaServer 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ộidung 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épngườ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

Cú pháp của JSP cho thêm các thẻ XML mới, gọi là JSP actions - hànhđộng JSP Những "hành động JSP" này được dùng để khởi động chức năngsẵn có, là những chức năng đã được xây dựng trước Cộng thêm vào đó,công nghệ còn cho phép chúng ta tạo ra các thư viện thẻ JSP (JSP taglibraries), là những cái đóng vai trò vào việc mở rộng các thẻ HTML hayXML tiêu chuẩn Thư viện thẻ (Tag libraries) là phương pháp mở rộng khảnăng của một máy chủ web trong khi những mở rộng đó không phụ thuộcvào hệ nền (về cả cấu trúc máy cũng như hệ điều hành được dùng)

Trước khi hiển thị ra trình duyệt, tập tin JSP phải được biên dịchthà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ậptin class dùng bộ biên dịch Java, hoặc có thể trực tiếp tạo mã bytecode cho servlet từ trang JSP

Nó thừa kế tất cả các ưu điểm cũng như các đặc tính của ngôn ngữ Java JSP có thể dùng trên tất cả các platforms

Cách làm việc của JSP

Trang 16

Các bước xử lý của 1 request

Cấu trúc của trang JSP

Các thẻ lệnh HTML

Mã lệnh Java Có 3 thành phần chính:

1 Directives

2 Scripting Elements

Trang 17

Cơ chế hoạt động của JSP

Cơ chế hoạt động của JSP có thể mô tả như sau Các đoạn mã Java được nhúng trong trang web dưới các thẻ (tag) đặc biệt được qui định gần giống như thẻ của ngôn ngữ HTML Khi có yêu cầu gửi tới một trang JSP, webserver sẽ chuyển yêu cầu cho JSP Engine để lấy trang JSP từ hệ thống tập tin Bộ biên dịch JSP (JSP Page Compiler) sẽ chuyển các mã lệnh Java và toàn bộ nội dung trang JSP thành một Servlet Servlet này sẽ được thực thi trong môi trường máy chủ Java để trả lại các thông tin cho webserver và webserver chuyển lại cho web client

1.3.4 Servlet

Ngoài JSP là công nghệ tạo trang web động bằng java chúng ta còn cóServlet Nhưng khi viết bằng JSP thì code java và các tag html trộn lẫn với nhau, vì vậy khi chương trình mở rộng thì chúng ta rất khó quản lý cácđoạn code này, hơn nữa code jsp để bị người khác đọc vì nó nhúng chung với html dẫn đến kém bão mật Ngược lại khi viết bằng Servlet thì khác, mọi vấn đề trên sẽ được giải quyết một cách đễ dàng

Servlet đơn giản chỉ là một lớp java (*.java) chúng ta phải biên dịch thành file class sau đó sẽ chạy bằng file class này, vì thế code sẽ được bãomật hơn so với cách trên

Một Servlet khi khởi tạo thì nói sống mãi trong bộ nhớ của server Luôn lắng nghe và chờ đợi khi người dùng yêu cầu đến nó thì sẽ sẵn dùng chứ không cần khởi tạo một lần nữa Servlet chỉ ngừng lại khi chúng ta Stop hay Restart lại server

Servlet đươc dùng để mở rộng các chức năng của Java-enabled serverTrước servlet, chúng ta có các công nghệ để tạo ra web applications:

Trang 18

• Common Gateway Interface (CGI)

• FastCGI

• ASP

• Server-side Java Script

Chạy trong Java Virtual Machine

Không bắt buộc Web browser phải hỗ trợ Java

Đặc điểm Servlet

Không phụ thuộc nềnLàm việc trên nhiều web servers

La công nghệ đầu tiên của java để tạo ra web ApplicationKhông nằm trong core Java API mà nằm trong hai package

javax.servlet va javax.servlet.http của Java Servlet Development Kit

(JSDK)

Kiến trúc Servels

Vòng đời của 1 Servels

Trang 19

Cấu trúc của 1 Servlet

Là lớp con của lớp HttpServlet Override phương thức doGet và doPostnếu cần Hai phương thức này đều nhận vào hai tham số HttpServletRequest

và HttpServletResponse Hai phương thức này đều ném ra IOException và

ServletException

So sánh Servlet và JSP

Trang 20

CHƯƠNG 2 KIẾN TRÚC MÔ HÌNH MVC (MODEL _VIEW_CONTROLER)

2.1 Thế nào là mô hình MVC

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 ứng dụ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 khác

2.2 Các thành phần trong MVC

Model (Tầng dữ liệu): Đây là thành phần chứa tất cả các nghiệp vụ logic,

phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như cácclass, hàm xử lý

View (Tầng giao diện): Đảm nhận việc hiển thị thông tin, tương tác với

người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images Hiểu

Trang 21

Controller (Tầng điều khiển): Giữ nhiệm vụ nhận điều hướng các yêu

cầu từ người dùng và gọi đúng những phương thức xử lý chúng Chẳng hạnthành phần này sẽ nhận request từ url và form để thao tác trực tiếp vớiModel

2.3 Mối quan hệ giữa các thành phần

2.4 Mối quan hệ giữa View và Controller

Trong MVC truyền thống, các view và controller được kết hợp chặc chẽvới nhau Mỗi view được kết hợp với một controller duy nhất Controller đượcxem như một Strategy (sự quản lý) mà view sử dụng cho đầu vào View cũngchịu trách nhiệm tạo ra các view và controller mới

Có sự logic rằng các view và các controller có quan hệ mạnh mẽ vớinhau,đầu vào và đầu ra của một ứng ụng được liên hệ chặc chẽ với nhau Hầu hết cácnền GUI MVC, view và controller được trộn trong một đối tượng Điều nàyđược gọi là Document View View và controller được kết hợp thành view.Model trở nên được biết như là tài liệu

Passive model luân phiên chiệu trách nhiệm nhiều hơn về controller, vì nóphải thông báo cho các view khi nó có sự cập nhật

Sự hữu ích web hiện đại của MVC luân phiên thậm chí là nhiều hơn cácMVC truyền thống về việc chiệu trách nhiệm của view đối với controller.Controller chiệu trách nhiệm tạo ra và lựa chọn các view và view hướng đếnviệc chiệu trách nhiệm ít hơn đối với các controller của nó

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

HÌNH ẢNH LIÊN QUAN

Sơ đồ các thành phần trong J2EE - Tìm hiểu công nghệ struts1 framework và xây dựng website ẩm thực nghệ an
Sơ đồ c ác thành phần trong J2EE (Trang 13)
Hình trên mô tả tiến trình mà hầu hết các ứng dụng Struts phải tuân theo . - Tìm hiểu công nghệ struts1 framework và xây dựng website ẩm thực nghệ an
Hình tr ên mô tả tiến trình mà hầu hết các ứng dụng Struts phải tuân theo (Trang 24)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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