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

XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI

79 497 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 79
Dung lượng 2,53 MB

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

Nội dung

JSP là một Server Script được kết hợp với các mã HTML.Tiền thân của JSP là Servlet, Servlet thực chất là các lớp Java được thiết kế để phục vụ việc tạo ra các trang Web có nội dung động.

Trang 1

MỤC LỤC

MỤC LỤC 0

LỜI NÓI ĐẦU 2

DANH SÁCH HÌNH VẼ VÀ BẢNG BIỂU 4

DANH SÁCH HÌNH VẼ 4

DANH SÁCH BẢNG BIỂU 5

CHƯƠNG 1: JAVA VÀ JSP (JAVA SERVER PAGE) 6

1.1 TỔNG QUAN VỀ JAVA 6

1.2 CƠ BẢN VỀ JAVA 6

1.2.1 Cấu trúc của một chương trình Java chuẩn 6

1.2.2 Các lệnh cơ bản trong Java 7

1.2.2.1 Lệnh if và if…else 7

1.2.2.2 Lệnh switch…case 7

1.2.2.3 Lệnh for 8

1.2.2.4 Lệnh while 9

1.2.2.5 Lệnh do…while 9

1.2.3 Lớp trong Java 9

1.2.4 Kế thừa trong Java 10

1.3 CƠ BẢN VỀ JAVA SERVER PAGE (JSP) 11

1.3.1 Cấu trúc cơ bản của JSP 11

1.3.2 Biên dịch trang JSP 11

1.3.3 Kịch bản (script) 12

1.3.4 Cấu trúc lệnh của JSP 13

CHƯƠNG 2: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE 14

2.1 TỔNG QUAN VỀ ORACLE 14

2.2 CÁC CHỨC NĂNG CƠ BẢN CỦA ORACLE 14

2.3 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 14

2.3.1 Ba ưu điểm của kiến trúc công nghệ Clienr/Server so với kiến trúc công nghệ máy lớn 14

2.3.2 Ưu điểm của thủ tục lưu trữ trong với một khối lệnh PL/SQL 15

2.3.3 Chức năng của NET8 15

2.4 CẤU TRÚC CỦA ORACLE 16

2.5 PL/SQL 16

2.5.1 Cấu trúc của PL/SQL 16

2.5.2 Con trỏ (Cursor) 17

2.6 SQL*PLUS 18

2.6.1 Các cách kết thúc một lệnh SQL trong SQL*PLUS 18

2.6.2 Thêm một hàng mới vào bộ đệm của SQL*Plus 19

2.6.2 Biến liên kết REFCURSOR và cách sử dụng 19

2.7 KẾT NỐI ORACLE VỚI JSP 20

CHƯƠNG 3:AJAX VÀ CSS 22

3.1 AJAX 22

3.1.1 Gới thiệu về AJAX 22

3.1.2 HTTP Requests 23

3.1.3 Đối tượng XMLHttpRequest 23

3.1.3.1 Thuộc tính onreadystatechange 23

3.1.3.2 Thuộc tính readyState 24

3.1.3.3 Thuộc tính responseText 24

3.1.3.4 Các trình duyệt hỗ trợ 25

3.1.4 Gửi yêu cầu tới Server 26

3.1.5 Script phía Server 28

3.1.6 Kết nối với cơ sở dữ liệu 29

3.1.6.1 Giải thích ví dụ 29

3.1.6.2 Mã JavaScript 30

3.1.6.3 Trang JSP phía Server 31

Trang 2

3.2.1 Giới thiệu về CSS 33

3.2.2 Tạo và chèn các định nghĩa CSS 33

3.2.2.1 Định nghĩa và khai báo CSS ngoại 33

3.2.2.1 Định nghĩa và sử dụng CSS nội 34

3.2.2.1 Khai báo kiểu CSS trực tiếp (inline) 34

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN RAO VẶT TRỰC TUYẾN 35

4.1 GIỚI THIỆU 35

4.2 PHÂN TÍCH HỆ THỐNG 35

4.2.1 Khảo sát hệ thống ban đầu 35

4.2.2 Các chức năng của website 35

4.2.3 Biểu đồ phân cấp chức năng 36

4.2.4 Biểu đồ luồng dữ liệu 36

4.2.4.1 Biểu đồ luồng dữ liệu mức đỉnh 36

4.2.4.2 Biểu đồ luồng dữ liệu mức dưới đỉnh 37

4.2.4.2.1 Chức năng “thành viên” 37

4.2.4.2.2 Chức năng “đăng bài” 38

4.2.4.2.3 Chức năng “Hiển thị bài viết” 38

4.2.4.2.3 Chức năng “Tổng hợp gởi E-mail báo cáo” 39

4.2.5 Mô hình quan hệ 39

4.2.5 Thiết kết cơ sở dữ liệu 40

4.2.5 Lược đồ quan hệ giữa các bảng 43

4.3 XÂY DỰNG ỨNG DỤNG 45

4.3.1 Các thư viện cần thiết cho ứng dụng 45

4.3.2 Xây dựng các lớp ứng dụng xử lý dữ liệu cho ứng dụng 45

4.3.2.1 Lớp ConnectDB 45

4.3.2.2 Lớp SmtpGmail 47

4.3.2.2 Các lớp khác 48

4.3.3 Xây dựng các trang nội dung JSP 48

4.3.3.1 Sử dụng JavaScript và áp dụng AJAX vào website 49

4.3.3.2 Sử dụng Cascading Style Sheet (CSS) 50

4.3.4 Thiết kế các trang JSP 51

4.3.4.1 Modul đăng ký và quản lý thành viên 51

4.3.4.2 Modul đăng bài 64

4.3.4.3 Modul gửi báo cáo tổng kết đến tất cả các thành viên 71

KẾT LUẬN 77

TÀI LIỆU THAM KHẢO 78

Trang 3

LỜI NÓI ĐẦU

Web là công nghệ trên Internet cho phép hiển thị thông tin một cách sinh động, gần gũi với con người hơn trên một trang thông tin gọi là trang Web Trang Web được trình bày trên các bộ trình duyệt Web (Browser) trên các máy Client Trang Web chính là các file dạng Text được cấu trúc hoá theo ngôn ngữ HTML

Hiện nay và tương lai thì Internet rất phổ biến và ngày càng có nhiều người dùng Internet được áp dụng vào tất cả các lĩnh vực trong cuộc sống Nhưng nổi bật nhất là lĩnh vực giải trí đa phương tiện và thương mại điện tử

Vì vậy em đã quyết định xây dựng đồ án là một ứng dụng “Cổng thông tin điện tử trực tuyến cho Công ty Truyền thông và Giải trí Hoàng Trần” Đồ án sẽ tập chung và giới thiệu một cách tổng quan nhất để xây dựng ứng dụng này Trong đồ án cũng chỉ đưa ra những thư viện và chức năng tổng quát và cốt lõi nhất

Hiện nay có rất nhiều các website có chức năng và tính năng tương

tự.Các Website này hoạt động rất hiệu quả và đem lại nguồn thu rất lớn cho các công ty và cá nhân

Website mà đã được xây dựng là thành quả của em khi tiến hành thực tập (làm việc) tại công ty Truyền thông và Giải trí Hoàng Trần ở Hà Nội Website

Khi thực hiện website này em cũng có sử dụng các công cụ để thiết kế và viết mã của website Các công cụ này gồm: Netbean5.5, JBuilder X, Macromedia Dreamweaver 8, Photoshop CS2,…

Ngoài ra em cũng có sử dụng một số thư viện có sẵn để phục vụ các chức năng như là upload, gửi mail,…

Trong tương lai em và công ty sẽ tiếp tục phát triển và nâng cấp các chức năng có sẵn cũng như là xây dựng mới để cho website hoạt động hiệu quả và phong phú hơn

Khi thực hiện đồ án này em đang thực tập (làm việc) tại công ty Truyền Thông và Giải Trí Hoàng Trần ở Hà Nội Nên em đã được sự giúp đỡ rất nhiều từ

Trang 4

các thầy cô trong khoa, các đồng nghiệp ở công ty Truyền thông và Giải trí Hoàng Trần ở Hà Nội

Đặc biệt là Thầy giáo Phùng Trung Nghĩa ở bộ môn Điện tử - Viễn thông

đã giúp đỡ và định hướng em trong toàn bộ thời gian thực tập cũng như là xây dựng đồ án Ngoài ra còn có anh Hoàng Đình Quy, phó giám đốc công ty Truyền thông và Giải trí Hoàng trần đã tận tình hướng dẫn kỹ thuật cho em khi em xây dựng website “Cổng thông tin điện tử mua bán rao vặt cho công ty Truyền thông

Trang 5

DANH SÁCH HÌNH VẼ VÀ BẢNG BIỂU DANH SÁCH HÌNH VẼ

Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng

“Tổng hợp và gửi Email báo cáo” 41

Trang 6

4.12 Giao diện của ứng dụng 50

4.3 Bảng dữ liệu quản lý quốc gia 43

4.5 Bảng dữ liệu quản lý bài viết qua tổng đài 1900555508 43

4.6 Bảng dữ liệu quản lý bài viết 44

4.7 Bảng dữ liệu quản lý bài viết qua tổng đài 1900555508 45

Trang 7

bị điện tử dân dụng, các thiết bị điện tử điện lạnh, …

Nhưng ngay lập tức người ta đã ta thấy được sức mạnh của nó và đã phát triển nó để có thể làm được nhiều thứ khác như ngày nay Ngày nay Java cũng vẫn là ứng cử viên lớn cho cho việc phát triển các ứng dụng dành cho các thiết bị

có phần cứng hạn chế đặc biệt là các ứng dụng cho các thiết bị di động Không những thế Java còn được sử dụng để xây dựng các ứng dụng mạng và Internet như là các hệ thống Client-Server hay Website, …

1.2 CƠ BẢN VỀ JAVA

Java là ngôn ngữ lập trình hướng đối tượng Nó được thiết kế thừa kế các

ưu điểm của các ngôn ngữ được phát triển trước nó như là: Pascal, C\C++, …

Ưu điểm vượt trội của Java so với C++ là nó là một ngôn ngữ nhỏ gọn các thư viện của được thiết kế thành các gói (pagket) Nếu cần sử dụng gói nào thì chỉ việc nhập khẩu (import) nó Java là ngôn ngữ đơn thừa kế nên tránh được một

số hậu quả chết người do nhầm lẫn, không kiểm soát được của người lập trình

Tiếp theo sẽ là các kiến thức cơ bản về Java

1.2.1 Cấu trúc của một chương trình Java chuẩn

Để mô phỏng cấu trúc của một chương trình Java chuẩn cũng giống như với bao ngôn ngữ lập trình khác đó là chương trình Hello World Và đây là chương trình Hello World kinh điển

//File name HelloWorld.java

class HelloWorld{

public static void main(String[] args){

System.out.println(“Hello World”);

} }

Trang 8

Hãy ghi file trên với tên HelloWorld.java và sử dụng trình JDK để biên dịch và chạy chương trình trên Kết quả là chương trình sẽ in ra màn hình dòng chữ:

Hello World

1.2.2 Các lệnh cơ bản trong Java

Về cơ bản cấu trúc các lệnh của Java giống với C++ Dưới đây là chi tiết cấu trúc và các các sử dụng của các lệnh trong Java

1.2.2.1 Lệnh if và if…else

Lệnh if là lệnh rẽ nhánh với điều kiện đã cho Cấu trúc như sau:

if(điều kiện rẽ nhánh){

//các câu lệnh xử lý dữ liệu }

Trang 9

… default:

Ví dụ:

for(int i=0; i<10; i++){

System.out.println(i);

}

Trang 10

1.2.2.4 Lệnh while

Đây là lệnh lặp không biết trước số lần lặp Lệnh lặp khi điều kiện đúng

và thoát khỏi lệnh khi điều kiện sai Cấu trúc lệnh như sau:

while(điều kiện lặp){

//Các câu lệnh xử lý dữ liệu }

do{

//Các câu lệnh xử lý dữ liệu }while(điều kiện lặp)

Câu lệnh sẽ lặp khi điều kiện lặp còn đúng

class Text1 {

//Các thuộc tính và phương thức của đối tượng

}

Trang 11

1.2.4 Kế thừa trong Java

Java là ngôn ngữ đơn kế thừa Để khai báo kế thừa trong Java chúng ta sử dụng từ khóa extends Cấu trúc cơ bản của một lớp kế thừa như sau:

mô tả sự kế thừa của ví dụ trên như hình 1.1

Hình 1.1 Kế thừa trong Java

Trang 12

1.3 CƠ BẢN VỀ JAVA SERVER PAGE (JSP)

Java Server Page (JSP) là một công nghệ của Java nhằm phục vụ cho việc thiết kê các trang Web có nội dung động hoạt động theo mô hình Client-Server trên Internet JSP là một Server Script được kết hợp với các mã HTML.Tiền thân của JSP là Servlet, Servlet thực chất là các lớp Java được thiết kế để phục vụ việc tạo ra các trang Web có nội dung động Nhưng mà nó có một nhược điểm là rất khó cho việc tạo giao diện người dùng theo ý muốn cho trang Web Do vậy mà JSP đã ra đời nhằm khắc phục các hạn chế này của Servlet Nhưng chúng ta cần chú ý rằng trước khi đưa ra kết quả cuối cùng để hiển thị thành một trang như mong đợi thì các trang JSP được biên dịch sang các trang Servlet rồi mới chuyển thành các file class rồi thực thi các file class

1.3.1 Cấu trúc cơ bản của JSP

Vì JSP là một Server Script nên nó được kết hợp sử dụng cùng với các mã HTML và file của nó được ghi với phần mở rộng là jsp Dưới đây là cấu trúc cơ bản

Trang 13

và trả về kết quả cho người sử dụng Quá trình đó được mô hình hóa như hình 1.2 dưới đây

Hình 1.2 Quy trình biên dịch trang JSP

Trang 14

1.3.4 Cấu trúc lệnh của JSP

Cấu trúc của các lệnh trong JSP hoàn toàn giống với cấu trúc lệnh trong Java JSP có tất cả các lệnh cơ bản của Java Chúng ta cũng có thể sử dụng lớp trong JSP bằng cách sử dụng các đối tượng của lớp

Trang 15

Oracle là hệ quản trị rất đang năng Nó vừa là hệ quản trị cơ sở dữ liệu quan hệ đồng thời nó cũng có thể được áp dụng vào các cơ sở dữ liệu phân tán

Đặc biệt là tính tương thích của nó với Java có thế nói là rất tuyệt vời Chính vì thế mà em quyết định sử dụng Oracle trong ứng dụng Website mà em đã thực hiện

2.2 CÁC CHỨC NĂNG CƠ BẢN CỦA ORACLE

 Lưu trữ dữ liệu

 Tạo ra và duy trì cấu trúc dữ liệu

 Cho phép nhiều người dùng truy xuất đồng thời

 Hỗ trợ tính bảo mật và riêng tư

 Cho phép lấy ra và xử lý các dữ liệu lưu trữ

 Cho phép nhập và nạp dữ liệu

 Cung cấp cơ chế chỉ mục (index) hệu quả để lấy nhanh các dữ liệu lựa chọn

 Cung cấp tính nhất quán giữa các bản ghi khác nhau

 Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu (backup) và phục hồi (recovery)

2.3 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER

2.3.1 Ba ưu điểm của kiến trúc công nghệ Clienr/Server so với kiến trúc công nghệ máy lớn

Cấu trúc Clienr/Server đưa ra một số ưu điểm so với các kiến trúc cũ:

 Nó hỗ trợ việc sử dụng nhiều chủng loại máy client khác nhau Trong môi trường ngày nay, người sử dụng có thể dùng Windows NT, Windows XP,

Trang 16

một máy Mac, hay một trạm UNIX, tất cả đều có thể nối với cùng một Server

 Trách nhiệm tính toán được phân bổ một cách hợp lý giữa client và server Máy client có trách nhiệm điều khiển giao diện người dùng- hiển thị các thông tin, hợp lệ hóa đầu vào và cung cấp sự phản hồi (feedback) hợp lý- trong khi máy server được dùng như một server cơ sở dữ liệu

 Nó độc lập với thủ tục mạng, hệ điều hành ở máy server và hệ điều hành ở máy client Sự độc lập này cho ta sự linh động lớn trong việc lựa chọn các thành phần phần cứng và phần mềm của một hệ thống mới hay khi thực hiện một ứng dụng client/server trên một cơ sở phần cứng đã tồn tại

2.3.2 Ưu điểm của thủ tục lưu trữ trong với một khối lệnh PL/SQL

 Gọi một thủ tục lưu trữ trong từ một ứng dụng client giảm đáng kể mật độ lưu thông mạng Thay vì ứng dụng gởi một khối chương trình PL/SQL từ client, thì chỉ cần một lệnh gọi đơn đến thủ tục hay hàm với một danh sách tham số tùy ý

 Các thủ tục lưu trữ trong cung cấp một cơ chế bảo mật hiệu quả và tiện lợi Một trong những đặc trưng của thủ tục lưu trữ trong với PL/SQL là nó luôn thực hiện với đặc quyền (privilege) của chủ nhân thủ tục (procedure) Diều này ngăn các user không không có quyền đọc mã thủ tục truy xuất các đối tượng đặc quyền Đặc tính này thường dùng để giảm lượng giám sát cấp phát quền mà DBA phải làm

 Cả hai dạng text đã được biên dịch của thủ tục lưu trữ trong đều nằm trong

cơ sở dữ liệu Do dạng biên dịch của thủ tục có sẵn và sẵn sàng thực hiện, nhu cầu phân tích cú pháp và biên dịch PL/SQL lúc thực thi (runtime) được giảm nhẹ

2.3.3 Chức năng của NET8

Net8 là một phần mềm kết nối cơ sở dữ liệu dùng để cung cấp các thông tin cơ sở dữ liệu xác thực, tối ưu trên mọi thủ tục mạng thông dụng Net8 được thiết kế để cung cấp tính trong suốt của server cho bất kỳ nút nào bên trong một ứng dụng mạng và sử dụng các thành phần nằm trên cả hai phía client và server của một ứng dụng

Trang 17

Ngoài việc cung cấp sự kết nối giữa máy client và server trong môi trường client/server, server cũng sử dụng Net8 để giao dịch các chuyển tác phân tán (distributed transaction), các phép gọi thủ tục từ xa và sao lưu bảng (replication) với các server khác Các server tham chiếu đến các server khác bằng cách sử dụng các liên kết cơ sở dữ liệu (database link) để định nghĩa tên của các cơ sở dữ liệu từ xa Các liên kết cơ sở dữ liệu đơn giản hóa quá trình phân tán bằng cách cung cấp sự truy xuất trong suốt các đối tượng từ xa như các bảng và thủ tục, cho phép một ứng dụng tham chiếu chúng như thể chúng nằm ở cơ sở dữ liệu cục bộ của ứng dụng

2.4 CẤU TRÚC CỦA ORACLE

Cấu trúc của Oracle bao gồm phần cứng và phần mềm Phần cứng là một máy tính để cài đặt Oracle lên đó

Phần mềm là sức mạnh của Oracle Trong hệ thống của Oracle đặc biết được thiết kế gồm có các tập tin Redo Log Các tập tin này sẽ được sử dụng để phục hồi lại hệ thống khi hệ thống gặp sự cố

Cấu thành của một thể hiện của Oracle như sau: Mỗi lúc một cơ sở dữ liệu được tạo ra, một system global area (SGA) được định vị và các quá trình chạy nền (background) của Orale được khởi động Sự kết hợp giữa các quá trình background và các bộ nhớ đệm gọi là một thể hiện của Oracle

 PL/SQL giao tiếp tự nhiên với các đối tượng cơ sở dữ liệu khác

 PL/SQL dễ đọc và có nhiều đặc trưng modul hóa code và quản lý lỗi

2.5.1 Cấu trúc của PL/SQL

Bất kỳ một khối PL/SQL nào cũng có ba thành phần Những thành phần này là: thành phần khai bào biến, phần thực thi và trình xử lý exception

Trang 18

 Phần khai báo biến chứa phần định danh tất cả các cấu truc biến sẽ được

sử dụng trong khối code Một biến có thể là một kiều dữ liệu bất kỳ có sẵn trong Oracle, cũng như một số kiểu đặc biệt của PL/SQL

exception

 Thành phần cuối cùng của khối lệnh PL/SQL là trình xử lý exception Phần mã này định nghĩa tất cả các lỗi có thể xảy ra trong khối và chỉ định chúng lên được xử lý như thế nào Trình xử lý exception là một tùy chọn trong PL/SQL

Trong Oracle có định nghĩ có bốn loại khối mã lệnh là:

 Procedure- một chuỗi các lệnh nhận và/hoặc trả về không hay nhiều biến

 Function- một chuỗi các lệnh nhận không hoặc là nhiều biến trả về một giá trị

 Packge- một tập các thủ tục và các hàm có hai phần, một danh sách đặc tả các hàm và các thủ tục có sẵn cùng các thông số của nó, và một phần thân chứa mã thực sự của các thủ tục và các hàm

 Trigger- một chuỗi các lệnh PL/SQL gắn với một bảng cơ sở dữ liệu mà được thực hiện khi một sự kiện (select, update, insert, delete) xảy ra PL/SQL có sử dụng một số vòng lặp như sau:

2.5.2 Con trỏ (Cursor)

Trong PL/SQL có hai loại con trỏ là con trỏ ngầm và con trỏ tường minh

 Con trỏ ngầm là một địa chỉ không đặt tên của khối lệnh SQL được xử lý bởi Oracle và/hoặc cơ chế thực thi PL/SQL Mọi lệnh SQL đều thực hiện trong một con trỏ ngầm, bao gồm các lệnh update, insert, delete và các lệnh select không thực hiện trong một con trỏ tường minh Một số thuộc tính của con trỏ ngầm:

Trang 19

o %notfound chỉ định không tìm ra hàng nào Giá trị thẻ trả về là

o %rowcountchỉ định số hàng đã được xử lý bởi con trỏ Trả về một giá trị số

o %found chỉ định có tìm được hàng nào không Giá trị trả về là TRUE hay FALSE, ngược lại với %notfound

o %isopen chỉ định con trỏ đề cập đến có mở và sẵn sàng sử dụng

 Con trỏ tường minh là con trỏ được đặt tên bởi người lập trình Nó chính

cursor_name IS Khi một lệnh select được đặt trong một con trỏ tường minh, người lập trình có toàn quyền điều khiển trên sự thực hiện lệnh

DECLARE CURSOR employee_cursor IS SELECT * FROM EMPLOYEE;

2.6 SQL*PLUS

SQL*PLUS là một tiện ích của Oracle nhằm phục vụ cho việc thao với cơ

sở dữ liệu Oracle Như là thực thi các câu truy vấn SQL hay là dành cho lập trình các khối lệnh PL/SQL

2.6.1 Các cách kết thúc một lệnh SQL trong SQL*PLUS

Chúng ta có thể kết thúc một lệnh SQL theo một trong ba cách sau:

 Với một dấu chấm phẩy (;)

 Với một dấu slash (/) nằm một mình trên một hàng

 Với một hành trống

Chấm phẩy ở cuối hàng cuối cùng của lệnh và nhấn Enter SQL*Plus sẽ xử lý lệnh và đưa nó vào bộ đệm của SQL (SQL buffer) Nếu chúng ta vô ý nhấn Enter trước khi gõ dấu chấm phẩy, SQL*Plus sẽ nhắc chúng ta bằng một hàng có đánh

số Gõ dấu chấm phẩy và nhấn Enter lần nữa để chạy lệnh

Một dấu slash (/) nằm một mình trên một dòng cũng báo cho SQL SQL*Plus biết chúng ta muốn chạy lệnh Khi nhấn Enter ở hàng cuối cùng SQL*Plus sẽ

Trang 20

nhắc chúng ta bằng một hàng tiếp theo có đánh số, nhấn slash (/) và nhấn Enter một lần nữa, SQL*Plus sẽ thực hiện lệnh đồng thời đưa nó vào SQL buffer

Một hàng trống báo cho SQL*Plus biết rằng chúng ta đã chấm dứt đưa lệnh vào, nhưng chưa muốn chạy nó Khi nhấn Enter ở hàng cuối cùng, SQL*Plus sẽ nhắc chúng ta bằng một hàng tiếp theo có đánh số Nhấn Enter một lần nữa, SQL*Plus sẽ hiện trở lại dấu nhắc lệnh Lệnh bạn vừa gõ vào không được thực hiện mà chỉ đưa vào SQL buffer Nếu lúc này bạn lại đưa một lệnh khác, SQL*Plus sẽ ghi đè lên lệnh vừa rồi

2.6.2 Thêm một hàng mới vào bộ đệm của SQL*Plus

một hàng trước hàng 1, nhập vào số không (“0”) và theo sau là chuỗi text SQL*Plus chèn hàng vào đầu buffer và hàng này trở thành hàng 1

SQL>0 SELECT EMPNO

Giả sử bạn muốn thêm một hàng thứ 4 vào lệnh SQL bạn đã sử dụng ở ví dụ

nhấn Enter SQL*Plus nhắc bạn hàng mới:

Nhấn Enter lần nữa để chỉ định rằng bạn không nhập vào thêm hàng nào nữa, và

2.6.2 Biến liên kết REFCURSOR và cách sử dụng

các kết quả của một lệnh SELECT chứa trong một khối PL/SQL

con trỏ PL/SQL trong các thủ tục lưu trữ trong Điều này cho phép bạn lưu các

Trang 21

SQL>VARIABLE dept_sel REFCURSOR

Tiếp theo là nhập vào khối lệnh PL/SQL sử dụng biến liên kết trong một lệnh OPEN… FOR SELECT Lệnh này mở một biến con trỏ và thực hiện chuỗi truy vấn

2.7 KẾT NỐI ORACLE VỚI JSP

Có hai cách để Java và JSP có thể kết nối được với Oracle đó là thông qua ODBC hoặc là JDBC Ở đây em xin trình bày cách kết nối qua JDBC Để kết nối được với Oracle thì chúng ta phải có thư viện kết nối JDBC Thư viện này có

Sau đây là một ví dụ với Java:

stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

while(rs.next()){

System.out.println(rs.getString(1));

Trang 22

rs.close();

stmt.close();

conn.close();

}catch(SQLException e){}

Trang 23

CHƯƠNG 3:AJAX VÀ CSS 3.1 AJAX

3.1.1 Gới thiệu về AJAX

AJAX là cụm từ viết tắt của Asynchronous JavaScript anh XML AJAX không là một ngôn ngữ lập trình mới Nhưng nó là một công nghệ cho việc tạo các ứng dụng Web tốt hơn, nhanh hơn và thân thiện hơn

Với AJAX, mã JavaScript của chúng ta có thể truyền thông trực tiếp với server,

sử dụng đối tượng JavaScript XMLHttpRequest JavaScript có thể chuyển đổi giữ liệu với server mà không cần tải lại trang

AJAX sử dụng phương thức truyền (HTTP requests) dữ liệu không đồng bộ giữa trình duyệt và web server Hình 3.1 là mô hình của công nghệ này

Hình 3.1Mô hình hoạt động của AJAX

AJAX được dựa trên các chuẩn về web hiện nay gồm:

Trang 24

3.1.2 HTTP Requests

Trong việc viết mã JavaScript truyền thống, nếu bạn muốn lấy bất cư thông tin gì từ cơ sở dữ liệu hoặc một file trên server, hoặc gửi thông tin người sử dụng tới server, bạn sẽ phải tạo lên một form HTML và POST hay GET dữ liệu lên server Người dùng sẽ nhấn vào nút “Submit” để gửi/nhận thông tin Chờ cho server phản hồi rồi một trang mới sẽ được tải với các kết quả

Bởi vì server trả lại một trang mới vào mỗi thời điểm mà người dùng submit dữ liệu do vậy mà các ứng dụng web sẽ chạy chậm và không thân thiện đối với người sử dụng

Với AJAX, JavaScript có thể giao tiếp trực tiếp với server, thông qua đối tượng JavaScript XMLHttpRequest

Với HTTP request, một trang web có thể tạo một yêu cầu gửi và trả lời từ server

mà không cần tải lại trang

Với đối tượng XMLHttpRequest người phát triển web có thể cập nhật trang với

dữ liệu từ server sau khi trang đã được tải

Đối tượng XMLHttpRequest được hỗ trợ trong Internet Explorer 5.0 trở lên, Safari 1.2, Mozilla 1.0/Firefox, Opera 8 trở lên, và Netscape 7

3.1.3 Đối tượng XMLHttpRequest

Trước khi gửi dữ liệu tới server, chúng ta sẽ xem sét ba thuộc tính rất quan trọng của đối tượng XMLHttpResquest

xmlHttp.onreadystatechange=function()

{

// We are going to write some code here

}

Trang 25

3.1.3.2 Thuộc tính readyState

Thuộc tính readyState nắm giữ trạng thái phản hồi (response) từ server Tại mỗi thời điểm readyState thay đổi, hàm onreadystatechange sẽ được thực thi Các giá trị của thuộc tính readyState có thể có:

Trạng thái Mô tả

Bảng 3.1 Thuộc tính readyState

húng ta thêm một lệnh if vào hàm onreadystatechange để kiểm tra xem yêu cầu

đã hoàn thành hay chưa

}

Trang 26

3.1.3.4 Các trình duyệt hỗ trợ

Nguyên tắc hoạt động của AJAX là đối tượng XMLHttpRequest

Các trình duyệt khác nhau sử dụng các phương thức khác nhau để tạo đối tượng XMLHttpRequest

Internet Explorer sử dụng ActiveXObject, trong khi các trình duyệt khác

sử dụng đối tượng JavaScript tích hợp sẵn được gọi là XMLHttpRequest

Để tạo và sử dụng đối tượng này cho các trình duyệt khác nhau, chúng ta sử dụng một lệnh try… catch

Dưới đây là một ví dụ cụ thể về điều này:

Trang 27

Name: <input type="text" name="username" />

Time: <input type="text" name="time" />

</form>

</body>

</html>

XMLHttpRequest Rồi cố gắng tạo đối tượng với lệnh xmlHttp = new XMLHttpRequest() Cái này dùng cho trình duyệt Firefox, Opera và Safari

ActiveXObject(“Msxml2.XMLHTTP”) cho Internet Explorer 6 trở lên, nếu

ActiveXObject("Microsoft.XMLHTTP")cho Internet Explorer 5.5 trở lên

3.1.4 Gửi yêu cầu tới Server

Để gửi một yêu cầu tới server, chúng ta sử dụng hai phương thức là open() và send()

của script phía server Đối số thứ ba chỉ ra rằng yêu cầu sẽ được xử lý không

Ví dụ:

xmlHttp.open("GET","time.jsp",true);

xmlHttp.send(null);

Trang 28

Bây giờ chúng ta phải khai báo các hàm AJAX để thực thi Chúng ta sẽ cho phép hàm chạy “đằng sau” khi người dùng gõ một số thứ ở trường username:

Trang 29

3.1.5 Script phía Server

Bây giờ chúng ta sẽ tạo một đoạn mã hiển thị thời gian hiện thời của hệ thống phía server bằng JSP

Chúng ta sẽ gửi trở về thời gian hiện thời Mã của trang JSP time.jsp như sau:

<%

out.write(new Date());

%>

Trang 30

3.1.6 Kết nối với cơ sở dữ liệu

Dưới đây em sẽ đưa ra một ví dụ dùng AJAX để thao tác với dữ liệu trong

cơ sở dữ liệu Hình 3.2 là hình ảnh của ví dụ này

Hình 3.2 Kết nối với Cơ sở dữ liệu

<option value="ALFKI">Alfreds Futterkiste

<option value="NORTS ">North/South

<option value="WOLZA">Wolski Zajazd

Chúng ta chỉ có thể thấy rằng chỉ có một form HTML đơn với một hộp drop

Trang 31

Đoạn ngay bên dưới đó là một thẻ div có tên là “txtHint” Thẻ div được

sử dụng để hiển thị dữ liệu được trả về từ web server

}

}

function GetXmlHttpObject()

Trang 32

}

return xmlHttp;

}

3.1.6.3 Trang JSP phía Server

Trang JSP phía server được gọi bằng JavaScript, trang đó được đặt tên là

Trang 33

ResultSet rs = null;

String driver="jdbc:oracle:thin:@10.0.0.47:1529:ora"; String userdb="marche";

String passdb="gamemarket"

try{

DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

conn = DriverManager.getConnection(driver, userdb, passdb);

Trang 34

3.2 CSS (CASCADING STYLE SHEET)

3.2.2 Tạo và chèn các định nghĩa CSS

Tài liệu HTML cho phép chúng ta tham chiếu đến các định nghĩa CSS ngoại (external) nằm trong một file riêng biệt hoặc tham chiếu đến các định nghĩa CSS nội (internal) đặt trực tiếp trong file tài liệu HTML Ngoài ra bạn cũng có thể sử dụng định nghĩa CSS trực tiếp ngay tại nơi định dạng của văn bản (inline style)

3.2.2.1 Định nghĩa và khai báo CSS ngoại

kiểu CSS ngoại như sau:

top: 14px;

}

a{color:#036;text-decoration:none;font-family:arial;font-size:13px; font-weight:bold;}

Trang 35

<div class="dangnhap"></div>

3.2.2.1 Định nghĩa và sử dụng CSS nội

Bạn có thể định nghĩa trực tiếp CSS trong tài liệu HTML mà không cần

3.2.2.1 Khai báo kiểu CSS trực tiếp (inline)

Thay vì định nghĩa kiểu CSS như hai cách trên, chúng ta có thể khai báo trực tiếp (inline) Ví dụ:

<samp style="text-decoration:none; font:Verdana; size:14px; font-weight:bolder; color:#FFFFFF; margin-left:20px">Đăng ký thành viên</samp>

font-Cách khai báo này truy không tổng quát nhưng có thể áp dụng cho những định dạng đặc trưng cho phép chồng lên phần định dạng CSS đã khai báo trước

đó

Trang 36

CHƯƠNG 4:

XÂY DỰNG ỨNG DỤNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN RAO VẶT TRỰC TUYẾN 4.1 GIỚI THIỆU

Trong quá trình học tập tại khoa và đi thực tập em đã học được rất nhiếu kiến thức Đặc biệt là khi đi thực tập em đã học hỏi được các kiến thức trong thực tế

về việc phát triển web Cho nên em đã quyết định xây dựng ứng dụng web nhằm thực hiện nhiệm vụ quảng cáo, rao vặt, nua bán, … cho công ty TNHH Truyền thông và Giải trí Hoàng Trần Website này có tên miền là www.daoquanhthitruong.com

Đây là một trang quảng cáo trực tuyến trên mạng Nó sẽ là nơi đăng các tin mua bán, rao vặt về tất cả các lĩnh vực trong cuộc sống

4.2 PHÂN TÍCH HỆ THỐNG

4.2.1 Khảo sát hệ thống ban đầu

Công ty truyền thông và giải trí Hoàng Trần chuyên hoạt động trong lĩnh vực giải trí truyền thông đa phương tiện Công ty có kết nối Internet và có hệ thống cơ sở máy chủ cơ sở dữ liệu Oracle riêng Để phục vụ mục đích kinh doanh thương mại điện tử công ty đã quyết định xây dựng website www.daoquanhthitruong.com để phục vụ mục đích quảng cáo, rao vặt trực tuyến

4.2.2 Các chức năng của website

Website được xây dựng với mục đích quảng cáo và rao vặt nên có cấu trúc khá đơn giản Gồm có các chức năng sau:

 Đăng ký thành viên Chức năng này thực hiện nhiệm vụ đăng ký thành viên và gửi E-mail xác thực tới E-mail mà người dùng đã đăng ký Và gửi kèm theo một mã, link để kích hoạt tài khoản thì tài khoản của người dùng mới được kích hoạt

 Chức năng đăng bài Chức năng này cho phép người dùng đăng các bài quảng cáo, rao vặt của mình Các bài đăng sẽ được hiển thị trực tiếp lên website Để sử dụng được chức năng này bắt buộc bạn phải đăng nhập vào

hệ thống

Trang 37

 Chức năng đăng quảng cáo bằng tin nhắn SMS qua tổng đài 8385

 Chức năng đăng quảng cáo qua tổng đài 1900555508

 Chức năng bào cáo Chức năng này có nhiệm vụ báo cáo với người sử dụng xem người đó đã đăng bao nhiêu tin, và cũng có bao nhiêu tin, bài phù hợp với người đó

 Chức năng báo cáo các bài mới nhất trong một khoảng thời gian nhất định Chức năng này thực hiện việc tổng hợp xem trong một khoảng thời gian nhất định có bao nhiêu bài mới đăng rồi gửi E-mail tới tất cả các thành viên

4.2.3 Biểu đồ phân cấp chức năng

Chức năng của ứng dụng được xây dựng như hình 4.1 dưới đây:

Hình 4.1 Biểu đồi phân cấp chức năng

4.2.4 Biểu đồ luồng dữ liệu

4.2.4.1 Biểu đồ luồng dữ liệu mức đỉnh

Biểu đồ luồng dữ liệu mức đỉnh của hệ thống có:

 Hai tác nhân ngoài là: người dùng và ban quản trị website

 Bốn chức năng là: thành viên, đăng bài viết, hiển thị bài viết, tổng hợp và gửi E-mail báo cáo

Trang 38

Hình 4.2 Biểu đồ luồng dữ liệu mức đỉnh

4.2.4.2 Biểu đồ luồng dữ liệu mức dưới đỉnh

Trang 39

4.2.4.2.2 Chức năng “đăng bài”

Hình 4.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “đăng bài”

4.2.4.2.3 Chức năng “Hi ển thị bài viết ”

Hình 4.5 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “Hiển thị

Ngày đăng: 03/08/2016, 09:02

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Kế thừa trong Java - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 1.1 Kế thừa trong Java (Trang 11)
Hình 1.2 Quy trình biên dịch trang JSP - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 1.2 Quy trình biên dịch trang JSP (Trang 13)
Hình 3.1Mô hình hoạt động của AJAX - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 3.1 Mô hình hoạt động của AJAX (Trang 23)
Bảng 3.1 Thuộc tính readyState - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Bảng 3.1 Thuộc tính readyState (Trang 25)
Hình 3.2 Kết nối với Cơ sở dữ liệu  3.1.6.1. Giải thích ví dụ - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 3.2 Kết nối với Cơ sở dữ liệu 3.1.6.1. Giải thích ví dụ (Trang 30)
Hình 4.1 Biểu đồi phân cấp chức năng - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.1 Biểu đồi phân cấp chức năng (Trang 37)
Hình 4.2 Biểu đồ luồng dữ liệu mức đỉnh  4.2.4.2. Biểu đồ luồng dữ liệu mức dưới đỉnh - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.2 Biểu đồ luồng dữ liệu mức đỉnh 4.2.4.2. Biểu đồ luồng dữ liệu mức dưới đỉnh (Trang 38)
Hình 4.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “đăng bài” - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “đăng bài” (Trang 39)
Hình 4.5 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “Hi ển thị ” - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.5 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “Hi ển thị ” (Trang 39)
Hình 4.7 Mô hình quan hệ thành viên - bài viết - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.7 Mô hình quan hệ thành viên - bài viết (Trang 40)
Bảng ADVERTIES để lưu thông tin quảng cáo bằng tin nhắn SMS qua tổng đài 8385. - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
ng ADVERTIES để lưu thông tin quảng cáo bằng tin nhắn SMS qua tổng đài 8385 (Trang 44)
Hình 4.11 Lược đồ quan hệ dữ liệu - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.11 Lược đồ quan hệ dữ liệu (Trang 45)
Hình 4.13 Quản lý thông tin thành viên - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.13 Quản lý thông tin thành viên (Trang 60)
Hình 4.14 Đăng bài - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.14 Đăng bài (Trang 65)
Hình 4.15 Kết quả gửi Email - XÂY DỰNG CỔNG THÔNG TIN ĐIỆN TỬ MUA BÁN, RAO VẶT TRỰC TUYẾN CHO CÔNG TY TRUYỀN THÔNG VÀ GIẢI TRÍ HÒANG TRẦN – HÀ NỘI
Hình 4.15 Kết quả gửi Email (Trang 77)

TỪ KHÓA LIÊN QUAN

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