Chính vì thế chúng em đã chọn nghiên cứu đề tài: “Tìm hiểu công nghệ JSP Thiết kế và thực hiện website bán hàng”. Nhằm làm quen với thương mại điện tử và bắt kịp sự tiến bộ của nước ta cũng như thế giới. Do thời gian hạn chế việc tìm hiểu và xây dựng ứng dụng trên Java (một công nghệ mới) đối với chúng em rất khó khăn. Dù vậy ứng dụng đã triển khai một phần lớn các yêu cầu chính của một website thương mại điện tử cần đáp ứng
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG VÀ HỆ THỐNG THÔNG TIN
MÔN HỌC
LẬP TRÌNH ỨNG DỤNG WINDOWS Tên đề tài: Cài đặt ứng dụng quản lý giáo viên theo hệ thống tín chỉ
Nhóm sinh viên 1.Phan Thị Phượng
Trang 2Ngày giao đề tài: 23/03/2015 Ngày hoàn thành: 3/04/2015
1 Tên đề tài: Tìm hiểu công nghệ JSP Thiết kế và thực hiện website bán hàng
2 Yêu cầu:
- Tìm hiểu chung về công nghệ JSP
- Thiết kế và thực hiện website bán hàng
3 Báo cáo và chương trình:
- Báo cáo và thuyết minh trình bày theo mẫu
- Chương trình ghi vào đĩa CD để nạp
TỔ TRƯỞNG BỘ MÔN GIÁO VIÊN HD NHÓM SV THỰC HIỆN
4 Phần theo dõi quá trình thực hiện đồ án
Ngày kiểm
tra việcTiến độ công GVHDNhận xét của GVHDChứ ký của
Trang 35 Đồng ý cho bảo vệ hay không đồng ý:
………
………
………
………
………
………
………
………
………
Nghệ An, Ngày tháng năm 2015 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………
………
Trang 4………
………
………
………
Vinh, ngày tháng năm 2015 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN CHẤM ………
………
………
………
………
Vinh, Ngày tháng năm 2015 Giáo viên chấm Mục lục Lời nói đầu 6
Chương I Yêu cầu của đề tài 7
Trang 51.Về mặt ứng dụng 7
1.Về mặt kỹ thuật 7
3 Một số yêu cầu khác 8
Chương II Tìm hiểu công nghệ JSP 9
1 Java Sever Page – Jsp 9
1 1Cú pháp cơ bản của JSP 9
1.2 Các đối tượng của JSP 11
1.3 Các hành động của JSP 14
1.4 JDBC và ODBC(java Database Connecvity và Open Database Connecvity) 16
Chương III Ứng dụng thiết kế website bán quần áo 19
3.1, Đánh giá yêu cầu 19
3.2, Một số hình ảnh về website 19
Lời nói đầu
Trang 6Một trong các hướng phát triển hàng đầu của công nghệ thông tin hiện nay là các công nghệ liên quan đến internet Trong hướng này thì quan trọng hàng đầu lại là các hệ thống thương mại điện tử thực hiện trên internet Trong đó chuyên mục quảng cáo gópphần không nhỏ cho sự thành công của thương mại điện tử.
Tất cả các nhà sản xuất đều muốn sản phẩm của mình sản xuất ra được càng nhiều khác hàng biết đến và được bán ra với doanh thu cao nhất có thể Khi nền kinh tế thị trường phát triển, các nhà sản xuất phải cạnh tranh nhau thì việc quảng cáo càng chiếmphầm quan trọng trong gia đoạn phân phối sản phẩm
Chính vì thế chúng em đã chọn nghiên cứu đề tài: “Tìm hiểu công nghệ JSP Thiết
kế và thực hiện website bán hàng” Nhằm làm quen với thương mại điện tử và bắt
kịp sự tiến bộ của nước ta cũng như thế giới Do thời gian hạn chế việc tìm hiểu và xâydựng ứng dụng trên Java (một công nghệ mới) đối với chúng em rất khó khăn Dù vậyứng dụng đã triển khai một phần lớn các yêu cầu chính của một website thương mạiđiện tử cần đáp ứng
Trong quá trình làm đề tài, chúng em xin chân thành cảm ơn cô giáo Võ Thị Kim Hoa và thầy giáo Lê Thanh Tươi đã tận tình giúp đỡ, chỉ bảo chúng em để có thể
hoàn thành đề tài này Do thời gian, kinh nghiệm và kỹ năng còn hạn chế, chúng em rất mong nhận được những sự đóng góp của các thầy cô cùng các bạn để có thể hoàn thiện và phát triển đề tài
Chúng em xin chân thành cảm ơn!
Chương I Yêu cầu của đề tài
1 Về mặt ứng dụng
Trang 7Xây dựng một hệ thống quảng lý các dịch vụ bán hàng trên mạng, trong đó hệ thốngcho phép các dịch vụ đăng ký một không gian để bán những mặt hàng mình có trênmạng Mỗi dịch vụ sẽ có account riêng trong hệ thống, họ có thể cập nhật các mặthàng, thay đổi thông tin dịch vụ và quản lý những đơn hàng của khách hàng muathông qua hệ thống Tuy nhiên dịch vụ hay mặt hàng của dịch vụ chỉ thật sự hoạt độngkhi đã thanh toán những chi phí cần thiết cho hệ thống Đối với những khách hàng vào
hệ thống để mua hàng, hệ thống phải hỗ trợ cho khách hàng tìm kiếm, chọn và đặthàng một cách dễ dàng Khi khách hàng đặt mua sản phầm, hệ thống sẽ chuyển đơnđặt hàng tới dịch vụ bán hàng Việc giao tiền và nhận hàng của người mua và ngườibán, hệ thống không trực tiếp tham gia vào việc bán hàng Hệ thống đóng vai trò nhưmột siêu thị ảo, môi giới giữa khách hàng và dịch vụ
+ Khách hàng có thể theo dõi những sản phẩm sắp được nhập về cũng như những
- Về phía người quản lý
+ Người quản lý có thể theo dõi thành viên các đơn hàng của khách hàng tham giamua hàng của công ty mình, và nắm bắt các thông của khách hàng để liên lạc khi cầnthiết
+ Người quản lý có thể thêm sản phầm, xóa hay sửa sản phẩm, thêm người quản lýngười sử dụng thông qua chương trình đã được xây dựng
2 Về mặt kỹ thuật
Bài toán đòi hỏi hệ thống phải đáp ứng những yêu cầu kỹ thuật sau
- Ứng dụng triển khai trên môi trường jsp
- Hỗ trợ nhiều hệ điều hành (cho phía client)
- Hỗ trợ nhiều trình duyệt
Trang 8- Hỗ trợ nhiều người dùng.
- Số lượng người tham gia đăng ký mua là không giới hạn
- Số lượng sản phẩm, người tham gia thêm vào không giới hạn
Trang 91.Java Sever Page – Jsp
JSP(viết tắt của JavaServer Pages) là một trong những ngôn ngữ lập trình và biết đếnvới cái tên khác là JavaScripting Preprocessor là một ngữ lập cho phép các nhà pháttriển tạo nội dung HTML và XML, hay một số định dạng khác của trang web.Phát hành vào năm 1999 bởi Sun Microsystems, JSP giống như PHP, nhưng nó sửdụng ngôn ngữ lập trình Java
Để triển khai và chạy JavaServer Pages, một máy chủ web tương thích với mộtcontainer servlet, chẳng hạn như Apache Tomcat hay Jetty, là bắt buộc.Kiến trúc , JSP có thể được xem như là một khái niệm trừu tượng cấp cao của Javaservlets JSP được dịch sang servlet trong thời gian chạy ; Servlet mỗi JSP được lưutrữ và tái sử dụng cho đến khi JSP ban đầu được sửa đổi JSP có thể được sử dụng độclập hoặc là thành phần quan điểm của một thiết kế mô hình -view-controller phía máychủ , thông thường với JavaBeans là mô hình và Java servlets (hoặc một khuôn khổnhư Apache Struts ) như bộ điều khiển Này là một loại hình kiến trúc 2 JSP cho phép
mã Java và một số hành động được xác định trước được xen kẽ với nội dung đánh dấuweb tĩnh , với trang kết quả được biên dịch và thực thi trên máy chủ để cung cấp mộttài liệu Các trang biên soạn , cũng như bất kỳ thư viện Java phụ thuộc , sử dụng Javabytecode chứ không phải là một định dạng phần mềm bản địa Giống như bất kỳchương trình Java khác, họ phải được thực hiện trong một máy ảo Java (JVM ), tíchhợp với hệ điều hành chủ của máy chủ để cung cấp một môi trường nền tảng trung lậptrừu tượng.JSP thường được sử dụng để cung cấp các tài liệu HTML và XML , nhưngthông qua việc sử dụng OutputStream , họ có thể cung cấp các loại dữ liệu là tốt.Container Web tạo ra JSP đối tượng tiềm ẩn như pageContext , ServletContext , phiêngiao dịch, yêu cầu và đáp ứng
1 1 Cú pháp cơ bản của JSP
1.1.1 Sử dụng thẻ bọc mã <% %>
Ưu điểm của trang Jsp là khả năng nhúng mã Java gữa các thẻ định dạng HTML
Mã Java được đặt trong cặp dấu <% %> Bên trong mã Java nếu muốn kết xuất dữ liệuHTML ta gọi phương thức println() của đối tượng our Đối tượng our là đối tượng mặcđịnh được trình chủ Web Sever cung cấp đê ghi kết xuất gửi về máy khách Thẻ HTMl
và mã Java có thể trộn lẫn vào nhau
Trang 101.1.3 Chèn chú tích vào mã trang JSP
Cũng như Java ,Jsp cho phép dùng cú pháp // để chú thích một dòng mã lệnh trongkhi cú pháp /* */ được áp dụng cho nhiều dòng Các dòng lệnh sẽ được bỏ qua khitrình chủ diễn dịch trang JSP
Trang 11Jsp cung cấp thêm cho ta cú pháp chú thích <% %> Tất cả các khối lện Java vàHTML nằm gữa hai dấu chú thích này sẽ được bỏ qua không quan tâm đến.
Dấu chú thích này rất hiệu quả Nó gúp ta tạm thời cô lập hoặc che bỏ tác dụng củamột đoạn mã Java nào đó đang bị lỗi trong trang JSP Ta chỉ tạm thời làm mất tácdụng của chúng chứ không xóa bỏ
1.1.4 Khai báo phương thức và biến hằng <%!%>
Một cú pháp nữa mà JSP cung cấp là cú pháp <%!%> Cú pháp này cho phép tađịnh ngĩa một hoặc nhiều phương thức và biến Phương thức và biến sau đó có thểđược trệu hồi bất cứ nơi đâu trong trang JSP
1.2 Các đối tượng của JSP
Trong JSP chúng ta có thể truy cập tới một số đối tượng của JSP mà không cần khaibáo Trình dịch JSP sẽ nhận dạng những đối tượng này và dịch sang trang Servlet
1.2.1 Đối tượng request
Đối tượng request là đại diện cho đối tượng Javax.servilet.http.HttpServletReqest.Giao diện HttpServlet được định nghĩa như một đối tượng truy cập đến thông tinheader của giao thức HTTP được gửi về trình khách Đối tượng reqest thường đượctruyền như đối số cho phương thức service()
Ngoài ra vì đối tượng reqest đạo diện cho đối tượngJavax.servilet.http.HttpServletReqest nên có thể sử dụng các phương thức củaJavax.servilet.http.HttpServletReqest trên reqest như getSession(), getCookies(),getRemouteUser()…
Trang 121.2.2 Đối tượng Response
Một đối tượng khác của JSP là đối tượng response Đối tượng response cho phépphản hồi thông tin xử lý từ trình chủ trở về trình duyệt Hầu hết ứng dụng thôngthường của đối tượng response là dùng để xuất HTML ra trình duyệt Đối tượngresponse thường gọi phương thức getWriter() để thực hiện kết xuất
Các phương thức mà đối tượng response thường sử dụng được liệt kê như sau:
- response.sendRedirect(java.lang.String.location): gửi đối tượng response một lầnnữa đến một trang JSP được chỉ định trong đối số của phương thức
- response.setContenType(java.lang.String.type): Định dạng nội dung xuất là kiểutype – đối số của phương thức
1.2.3 Đối tượng session
Đối tượng session tham chiếu đến đối tượng javax.servlet.http.HttpSession Đốitượng session dùng để lư các đối tượng khác nhau từ những yêu cầu của client Chúngđưa ra hầu hết trạng thái đầy đủ của HTTP
Đối tượng session được khởi tạo bằng cách gọi phương thức
pageContext.getSession() để tạo ra trang servlet Cú pháp như sau:
session = page.Context.getSession()
Khi cần một biené nào đó có giá trị toàn cục từ khi mở cho đến khi kết thúc trìnhduyệt, ta chọn đối tượng session Đối tượng session sẽ tạo biến cục bộ cho phép lưumột giá trị nào đó từ trang JSP này đến trang JSP khác trong suốt phiên làm việc củachúng ta
Để đối tượng session có thể lưu giữ những biến của chương trình ta cần phải khaibáo như sau:
session.setAttribute(java.lang.String name, java.lang.Object value)
Trong đó name là tên biến, value là giá trị của biến
Khi cần truy xuất một biến nào đó của đối tượng session ta cần phải sử dụngphương thức getAttribute() như sau: name chính là tên của biến mà ta cần truy xuất.session.getAttribute(java.lang.String.name)
1.2.4 Đối tượng Application
Đối tượng application tham chiếu đến javax.servlet.ServletContext cho phép lưu giữcấu hình toàn cục của Servlet và JSP Cách đối tượng application khởi tạo như sau:
Trang 13Trong đó pageContext là một đối tượng JspFactory.
Đối tượng application có phạm vi hoạt động ở cấp ứng dụng, nghĩa là có thể giữ giátrị của tất cả các trang JSP ở những session khách nhau cho tới khi JSp engine bị đónglại
Tương tự như session, ta có thể gọi phương thức application.setAtribute() để lấy vềgiá trị lưu giữ trong application
Phương thức application.setAttribute() được dùng để đặt giá trị cho biến cần chứatrong application
1.2.5 Đối tượng Out
Đối tượng out dùng để ghi kết xuất gửi về trình duyệt Đối tượng out hình thành từlớp java.io.Writer
Ví dụ: out.print(“Hello world”);
Dùng để ghi câu lệnh “Hello world!” lên trình duyệt của máy khách
1.2.6 Đối tượng Config
Đối tượng config tượng trưng cho lớp ServletConfig, nó được định nghĩa là đốitượng tạo bởi servlet chứa các thông tin cấu hình của servlet Với thông tin cấu hìnhnày servlet sẽ truy cập đối tượng ServletContext Phương thức khởi dựng như sau:config = pageContext.getservletconfig();
pageContext là một đối tượng JspFactory
Trong nhiều trường hợp ta không cần phải sử dụng đối tượng config Truy cập đếnServletContext thông qua đối tượng application cũng đạt được kết quả tương tự
1.2.7 Đối tượng Exception
Đối tượng Exception chỉ tồn tại trong trang xử lý lỗi Nó dùng để tham chiếu đếnnguyên nhân gây ra lỗi mà trang xử lý lỗi có liên quan
Lỗi có thể xuất hiện trong quá trình hoạt động của trang JSP ở hai giai đoạn: giaiđoạn thứ nhất là phát sinh ở bước khởi tạo Ở bước này trang JSP nhận yêu cầu từ trìnhkhách và chuẩn bị thực thi, tuy nhiên trước khi thực thi trang JSP cần được dịch ra
mã class của java và quá trình dịch có thể sinh lỗi Lỗi ở bước này gọi là lỗi thời điểmdịch Giai đoạn thứ hai, trang JSP có thể phát sinh lỗi trong quá trình phản hồi các yêucầu xử lý Lỗi này được gọi là lỗi thời điểm yêu cầu
Trang 14Kiểu lỗi JSP thứ nhất có thể xuất hiện thi trang JSP lần đầu tiên được triệu gọi.Trang JSP sẽ đi qua quá trình biên dịch từ tập tin nguồn jsp thành mã java java sau đóđược biên dịch thành đối tượng servlet ở mã byte-code là tập tin class Lỗi ở giai đoạnnày thường do quá trình biên dịch thất bại hoặc do lỗi cú pháp khi thông dịch từ JSPsang mã nguồn Java Lỗi này thường được báo với trạng thái mã lỗi là 500 hoặc trìnhchủ web có thể thông báo những mã lỗi biên dịch của riêng Java Lỗi tại thời điểmdịch thường được quản lý bởi bộ thông dịch JSP.
Kiểu lỗi thứ hai của trang JSP liên quan đến quá trình xử lý các yêu cầu Những lỗinày còn được xem là lỗi thực thi Chúng có thể xuất hiện bên trong nội dung trang JSPhoặc xuất phát từ lời gọi phương thức nào đó của một đối tượng Thường đối với kiểulỗi này ngoại lệ sẽ được phát sinh Các ngoại lệ có thể bị đón bắt và xử lý bởi các đoạn
mã JSP thích hợp Tuy nhiên đối với những ngoại lệ phát sinh nhưng không đượcngười ta viết trang JSP đón bắt xử lý thích hợp thì ngoại lệ và lỗi sẽ được gửi đến bộ
xử lý lỗi của trình biên dịch JSP Bản thân trình biên dịch JSP sẽ sinh ra trang thôngbáo mô tả cụ thể lỗi trả về cho trình khách Ta có thể hoàn toàn đón bắt và thay thếnhững trang thông báo lỗi này sử dụng đối tượng exception
Để tạo ra trang thông báo lỗi ta cần khai báo như sau:
//Chỉ thị trang JSP hiện hành là trang xử lý lỗi
<%@ page isErorrPage = “true” %>
//hiển thị trang nội dung thông báo lỗi phát sinh
Error:<%= exception.getMessage() %> has been reported
mô tả như sau:
<jsp:param name = “paramName” value= “paraValue” />
Trang 15Value: thuộc tính này trình bày giá trị của tên được tham chiếu.
<jsp:param> Những thuộc tính này cung cấp các giá trị cho thông số yêu cầu dùngcho việc chuyển hướng
Cú pháp của hành động <jsp:forward> được mô tả như sau:
Trang 161.3.4 Hành động <jsp:plugin>
Hành động <jsp:plugin> cho phép JSP tạo trang HTML chứa đụng tính hợp lệ củacấu trúc trình duyệt máykhách, ví dụ như đối tượng Object hay đối tượng nhúng.Hành động <jsp:plugin> tạo một thẻ <object> hay <embed> đưa ra dòng xuất củađối tượng response
Cú pháp cảu hành động <jsp:plugin> như sau:
<jsp:plugin type= “pluginType” code = “classFile” codebase= “relativeURLpath”>
Code: thuộc tính này cho biết tên của lớp (class) sẽ được nhúng
Codebase: thuộc tính này là tham chiếu cơ sở hay đường dẫn liên hệ đến tập tinplugin.class
1.4 JDBC và ODBC(java Database Connecvity và Open Database Connecvity)
1.4.1 JDBC.
JDBC(java Database Connecvity ) là giao diện của Java dùng để thực hiện câu lệnhSQL JDBC cung cấp tập hợp các lớp và các giao diện cho phép phát triển ứng dụngjava và ứng dụng web liên quan đến truy xuất cơ sở dữ liệu Tương tác căn bản nhấtcủa JDBC được liệt kê như sau:
Mở một kết nối với cơ sở dữ liệu(open connection)
Thực thi các câu lênh SQL (Execute SQL)
Xử lý dữ liệu (Process results)
Đóng kết nối (close connection)
Đoạn mã sau đây sẽ diễn giải từng bước cách thực hiện kết nối cơ sở dữ liệu bằngJDBC:
// Bước 1 : Khai báo biến.