SOF301 – Lập trình Java 4 Assignment1 Module/môn: Lập trình Java 4 Số hiệu assignment: 1/1 % điểm: 60% Người điều phối của FPT Polytechnic: Ngày ban hành: Bài assignment này đòi hỏi si
Trang 1SOF301 – Lập trình Java 4 Assignment
1
Module/môn: Lập trình Java 4 Số hiệu assignment: 1/1 % điểm: 60%
Người điều phối của FPT Polytechnic: Ngày ban hành:
Bài assignment này đòi hỏi sinh viên phải dùng khoảng 35h làm để hoàn thành
Tương ứng với mục tiêu môn học:
Gian lận là hình thức lấy bài làm của người khác và sử dụng như là mình làm ra Hình thức đó
bao gồm những hành động như: copy thông tin trực tiếp từ trang web hay sách mà không ghi rõ
nguồn tham khảo trong tài liệu; gửi bài assignment làm chung như là thành quả cá nhân; copy bài
assignment của các sinh viên khác cùng khóa hay khác khóa; ăn trộm hay mua bài assignment
của ai đó và gửi lên như là sản phẩm mình làm ra Những sinh viên bị nghi ngờ gian lận sẽ bị điều tra và nếu phát hiện là có gian lận thì sẽ phải chịu các mức phạt theo quy định của Nhà trường
Mọi tài nguyên copy hay điều chế từ bất cứ nguồn nào (VD: Internet, sách) phải được đặt
trong cặp dấu nháy kép và in nghiêng, với thông tin tham khảo đầy đủ về nguồn tài liệu
Bài làm của bạn sẽ được đưa vào phần mềm kiểm tra gian lận Mọi hình thức cố tình đánh
lừa hệ thống phát hiện gian lận sẽ bị coi là Vi phạm quy định thi cử
Quy định nộp bài assignment
• Một bản mềm kết quả bài làm assignment của bạn phải được upload trước nửa đêm (giờ
địa phương) vào ngày hạn nộp Quá hạn nộp hệ thống sẽ khóa lại và sinh viên không còn
quyền nộp bài.
• Phiên bản upload lên cuối cùng sẽ được chấm điểm Sinh viên có quyền upload đè file
nhiều lần trước khi hết hạn nộp
• Tất cả những file tài liệu văn bản phải để ở dạng file gốc chứ không file dạng file được
xuất ra từ định dạng khác (ví dụ pdf được xuất từ doc) Không được gửi tài liệu văn bản
dưới dạng ảnh chụp
• Đối với bài assignment này bạn cũng phải đưa các bằng chứng hay sản phẩm khác vào
trong file nén dạng zip
• Kích thước file cần tuân thủ theo giới hạn trên hệ thống nộp bài (thông thường là <50M)
• Hãy đảm bảo các file được upload lên không bị nhiễm virus (điều này có thể dẫn đến file
bị hệ thống xóa mất) và không đặt mật khẩu mở file Nếu vi phạm những điều này, bài
coi như chưa được nộp
Trang 2SOF301 – Lập trình Java 4 Assignment
2
• Hãy chú ý xem thông báo sau khi upload để chắc chắn bài của bạn đã được nộp lên hệ
thống chưa
• Bạn không phải gửi lại file đề bài của assignment (file này)
Quy định đánh giá bài assignment
1 Sinh viên không có bài assignment trên hệ thống sẽ bị 0 điểm bài assignment
2 Sau hạn nộp bài một tuần, sinh viên nộp muộn có quyền nộp đơn kiến nghị xin được chấp nhận gia hạn nộp Hội đồng Nhà trường sẽ xét duyệt từng trường hợp Nếu kiến nghị
không được chấp nhận, bài giữ nguyên điểm 0 Nếu quá một tuần không có kiến nghị thì
bài cũng sinh viên không nộp mặc nhiên nhận điểm 0
3 Ngay cả trường hợp bài của sinh viên bị phát hiện gian lận sau khi có điểm, sinh viên sẽ
không được công nhận bài đó và chịu mức kỷ luật như quy định của Nhà trường
========================
Assignment
Lập trình JAVA – Thiết kế bán hàng
Mục tiêu cụ thể Sau bài assignment này , sinh viên cần đặt được:
- Thành thạo thiết kế web theo mô hình MVC 2, trong đó
- MS SQL server 2008 hoặc MySQL
Tài nguyên Thư mục tài nguyên đi kèm
ĐẶT VẤN ĐỀ
Hiện nay các mô hình kinh doanh qua hệ thống e-commerce ngày càng đa dạng Từ thực
tế đó, ứng dụng web tự động hóa quá trình quản lý và bán hàng trực tuyến được thiết kế
để phù hợp với mọi cửa hàng nhỏ và vừa ra đời Một cửa hàng bán sản phẩm điện thoại
hoàn toàn có thể thay thế bằng một website mà ở đó mọi người có thể mua bất cứ sản
phẩm điện thoại yêu thích ngay cả khi ngồi ở nhà hoặc nơi làm việc
YÊ U CẦU
Ứng dụng cần đáp ứng được những chức năng cơ bản sau:
- Chức năng giỏ hàng:
o Khách hàng ghé thăm website có thể tìm kiếm mặt hàng mình thích
o Khách hàng có thể thêm, xóa, cập nhật những mặt hàng họ muốn mua
Trang 3SOF301 – Lập trình Java 4 Assignment
3
- Chức năng quản lý thành viên
o Người quản lý có thể thêm một thành viên, sửa thông tin của thành viên, xóa một
- Thêm xóa sửa người dùng
- Thêm xóa sửa sản phẩm
- Thêm xóa sửa sản phẩm trong giỏ hàng
Y3 Những yêu cầu về hình thức sản phẩm
- Tạo template và layout đồng nhất cho ứng dụng
Y4 Những yêu cầu về truy vấn dữ liệu
- Sử dụng framework Hibernate
Y5 Những yêu cầu về báo cáo
- Đưa ra bản thiết kế CSDL, và giải thích cách thiết kế
- Giải thích cách thiết kế giao diện Web Form
MÔ TẢ SẢN PHẨM PHẢI NỘP
1 T hư mục BaoCao chứa file BaoCao.doc
2 Thư mục Source chứa toàn bộ ứng dụng
3 Thư mục Database chứa file database.sql chứa mã script tạo CSDL hoặc file mdf và ldf
Trang 4SOF301 – Lập trình Java 4 Assignment
yêu cầu nộp bài)
- Không nộp đủ các sản phẩm được mô tả trong mục
Sản phẩm phải nộp
- Ứng dụng không chạy
Trang 5SOF301 – Lập trình Java 4 Assignment
Bài 1 cài đặt Java EE với Eclipse và Tomcat Server
- Sau khi cài đặt JDK chúng ta khai báo một số biến môi trường như sau:
Hình 1: Khai báo biến môi trường
Trang 6SOF301 – Lập trình Java 4 Assignment
Hình 2 : Thêm biến môi trường
Hình 3: Khai báo biến môi trường JDK
Trang 7SOF301 – Lập trình Java 4 Assignment
JAVA_HOME : C:\Program Files\Java\jdk1.6.0_26 đường dẫn tới thư mục JDK vừa cài đặt ở bước trước
PATH : C:\Program Files\Java\jdk1.6.0_26\bin
CLASSPATH: C:\Program Files\Java\jdk1.6.0_26
- Đối với Tomcat sau khi download gói zip từ website của apache về ta giải nén trên một thư mục trên máy tính Ta khai báo một số biến môi trường sau:
Hình 4: Khai báo biến môi trường cho Tomcat
Hình 5: Khai báo biến môi trường cho Tomcat
CATALINA_HOME và CATALIA_BASE : tới thư mục chứa file server tomcat vừa giải nén
- Thêm server vào eclipse:
Trang 8SOF301 – Lập trình Java 4 Assignment
Hình 6: Thêm server Tomcat vào Eclipse
Hình 7: Thêm server Tomcat vào Eclipse
Trang 9SOF301 – Lập trình Java 4 Assignment
Hình 8: Thêm server Tomcat vào Eclipse
Trang 10SOF301 – Lập trình Java 4 Assignment
Hình 9: khởi động server Tomcat trên Eclipse
Hình 10: Server Tomcat khi khởi động thành công
Trang 11SOF301 – Lập trình Java 4 Assignment
Bài 2 Hướng dẫn cài đặt Java EE với Netbean và Glassfish server
2.1 Các phần mềm yêu cầu:
- JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.htm
- Netbean: http://netbeans.org/
- Glassfish server: http://glassfish.java.net/public/downloadsindex.html#top
2.2 Tiến hành các bước cài đặt JDK và khai báo biến môi trường như được hướng dẫn ở phần 1
- Đối với Netbean, trong gói cài đặt đã đi kèm Server Glassfish như hình bên dưới
Hình 11: Glassfish đi kèm khi cài đặt Netbean
- Trong trường hợp không có server Glassfish đi cùng, ta có thể thêm server bằng cách download từ Website sau đó thực hiện theo hướng dẫn trong hình
Trang 12SOF301 – Lập trình Java 4 Assignment Hình 12: Thêm Server mới
Hình 14: Chọn thư mục khi download server về
Trang 13SOF301 – Lập trình Java 4 Assignment Hình 15: Start server trên Netbean
Trang 14SOF301 – Lập trình Java 4 Assignment
Hình 16: Màn hình khi Server start thành công
Bài 3 Cấu hình file web.xml
Tạo file web.xml trong thư mục WEB-INF
Cấu hình web.xml để thực hiện những công việc sau:
xmlns:web="http://java.sun.com/xml/ns/javaee/web-http://java.sun.com/xml/ e/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
Trang 15Ứng dụng danh bạ điện thoại:
Viết một InputForm servlet để tạo một HTML form nhập để tra cứu danh bạ điện thoại
Viết một SearchAccount servlet để tra cứu thông tin danh bạ
Bài 1: Viết servlet InputForm
1 import javax.servlet.*; import javax.servlet.http.*;
2 import java.io.IOException;
3 public class InputForm extends HttpServlet {
4 static final private String CONTENT_TYPE = "text/html";
5 //Initialize global variables
6 public void init() throws ServletException {
1 //Process the HTTP Get request
2 public void doGet ( HttpServletRequest request,
9 out.println(" <form action=“searchaccount” method='post'> ");
10 out.println("Nhap ten thue bao: <INPUT
NAME=“ttbao"> <br>");
11 out.println("Nhap so dien thoai: <INPUT
NAME=“sodthoai”>< br>");
12 out.println("Nhap dia chi : <INPUT NAME=“diachi”> <br>");
13 out.println(" <input type='submit' name='Submit' value='Bat dau tra'> ");
14 out.println(" </form> "); out.println("</body></html>");
15 }
Trang 16<html>
<head><title>InputForm</title></head>
<body> <h1>Trang Web demo viec tra danh ba dien thoai.</h1>
<form action=searchaccount method='post'>
Nhap ten thue bao : <input name='ttbao’ ><br>
Nhap so dien thoai : <input name='sodthoai’ ><br>
Nhap dia chi : <input name='diachi’ ><br>
<input type='submit' name='Submit' value='Bat dau tra'>
</form>
</body></html>
Bài 2: Viết servlet SearchAccount
1 import javax.servlet.*; import javax.servlet.http.*;
2 import java.io.*; import java.util.*; import java.sql.*;
3 public class SearchAccount extends HttpServlet {
4 static final private String CONTENT_TYPE = "text/html";
5.
6 // Process the HTTP Post request
7 public void doPost ( HttpServletRequest request,
Trang 171 //Process the HTTP Post request
8 out.println("<table border=1 cellPadding=1 cellSpacing=1>");
15 String conStr = "jdbc:odbc:DanhBaDT";
Trang 19SOF301 – Ngôn ngữ lập trình Java 3 Lab 3
Trang 20SOF301 – Ngôn ngữ lập trình Java 3 Lab 3
Bài 2 Truyền giá trị giữa 2 trang JSP
T ạo trang index.jsp như sau:
Trang 21SOF301 – Ngôn ngữ lập trình Java 3 Lab 3
Trang 22SOF301 – Ngôn ngữ lập trình Java 3 Lab 3
Trang 23SOF301 – Ngôn ngữ lập trình Java 3 Lab 3
Yêu cầu nộp bài
Cuối giờ thực hành, sinh viên tạo thư mục theo tên <Tên đăng nhập SV>_Lab3, chứa tất cả sản phẩm
c ủa những bài lab trên, nén lại thành file zip và upload lên mục nộp bài tương ứng trên LMS
Đánh giá bài lab
Trang 24SOF301 – Ngôn ngữ lập trình Java 3 Lab 4
Trang 25SOF301 – Ngôn ngữ lập trình Java 3 Lab 4
2
Bài 1 Page Directive
Tạo trang import.jsp như sau
1 <html>
2 <body>
3
4 <%@ page import="java.util.Date" %>
5 Today is: <%= new Date() %>
6 Sorry an exception occured!<br/>
7 The exception is: <%= exception %>
Trang 26SOF301 – Ngôn ngữ lập trình Java 3 Lab 4
3
8
9 </body>
</html>
Bài 2: jsp:inlude action
Tạo file index.jsp như sau:
<i> This is the content of Page2.jsp page</i>
Nội dung của trang 2 sẽ nằm trong trang index
Bài 3 jsp:forward action
T ạo file index.jsp như sau:
Trang 27SOF301 – Ngôn ngữ lập trình Java 3 Lab 4
Output: Mặc dù chạy file index.jsp nhưng nội dung hiển thị lại là file display.jsp
Yêu cầu nộp bài
Cu ối giờ thực hành, sinh viên tạo thư mục theo tên <Tên đăng nhập SV>_Lab1, chứa tất cả sản phẩm
của những bài lab trên, nén lại thành file zip và upload lên mục nộp bài tương ứng trên LMS
Đánh giá bài lab
Trang 28SOF301 – Ngôn ngữ lập trình Java 3 Lab 5
1
Bài th ực hành số 5
Mục tiêu
Hiểu cách sử dụng các thành phần cơ bản trong ngôn ngữ JSP
Simple Custom Tag
Attibute Custom Tag
Understanding flow of custom tag in jsp
Trang 29SOF301 – Ngôn ngữ lập trình Java 3 Lab 5
8 public int doStartTag() throws JspException {
9 JspWriter out=pageContext.getOut();//returns the instance of JspWriter
10 try{
11 out.print(Calendar.getInstance().getTime());//printing date and time using JspWriter
12 }catch(Exception e){System.out.println(e);}
13 return SKIP_BODY;//will not evaluate the body content of the tag
10 <short-name>simple</short-name>
11 <uri>http://tomcat.apache.org/example-taglib</uri>
12
13 <tag>
14 <name>today</name>
15 <tag-class>com.javatpoint.sonoo.MyTagHandler</tag-class>
16 </tag>
</taglib>
Bài 3 Tạo JSP file
File: index.jsp
1 <%@ taglib uri="WEB-INF/mytags.tld" prefix="m" %>
Current Date and Time is: <m:today/>
Trang 30SOF301 – Ngôn ngữ lập trình Java 3 Lab 5
3
Output
Yêu c ầu nộp bài
Cuối giờ thực hành, sinh viên tạo thư mục theo tên <Tên đăng nhập SV>_Lab5, chứa tất cả sản phẩm
của những bài lab trên, nén lại thành file zip và upload lên mục nộp bài tương ứng trên LMS
Đánh giá bài lab
Trang 31SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
1
Bài th ực hành số 6
Mục tiêu
Hiểu cách sử dụng các thành phần cơ bản trong ngôn ngữ Hibernate
- Cài đặt JBoss Tool
- Cấu hình Hibernate
Trang 32SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
2
Bài 1 Cài đặt JBoss Tool cho Eclipse
Để cài đặt "JBoss Tools" từ "Eclipse Markplace " trên Eclipse chọn:
Trên "Eclipse Marketplace " tìm kiếm theo từ khóa JBoss, Và cài đặt "JBoss Tools" ứng
với phiên bản Eclipse của bạn, ở đây tôi đang sử dụng Eclipse phiên bản 4.3.2 (Kepler)
Trang 33SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
3
Trong "JBoss Tools" có rất nhiều công cụ, hãy check chọn các công cụ mà bạn cần đến
Ví dụ ở đây tôi chọn "Hibernate Tools"
Trang 34SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
Trang 35SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
5
Tạo mới một connection tới Database simplehr:
Trong hướng dẫn này tôi sẽ kết nối tới loại Database Oracle Bạn có thể kết nối tới một
Database khác, cách làm hoàn toàn tương tự
Trang 36SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
6
Nhấn nút khai báo driver cho loại Database bạn vừa chọn
Trang 37SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
7
Nhấn nút "Add JAR/Zip"
Trang 38SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
8
Nhập các thông tin để kết nối tới database.Sau đó nhấn "Test Connection" để đảm bảo
rằng việc kết nối tới database là thành công
Trang 39SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
9
Bạn có thể nhìn thấy cấu trúc Database của bạn trên "Data Source Explorer"
Trang 40SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
10
Bài 3 Cấu hình Hibernate
"Hibernate Tools" cho phép tạo ra file cấu hình Hibernate hoàn toàn trực quan Và bây
giờ chúng ta sẽ tạo file "hibernate.cfg.xml" bằng công cụ này
Trên Eclipse vào "Window/Open Perspective/Other "
Trang 41SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
11
Nhấn nút "Create new " để tạo mới file cấu hình Hibernate
Gõ vào tên file "hibernate.cfg.xml" , và đặt nó vào "src" của Project
Trang 42SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
12
Bạn có thể gõ vào các thông tin kết nối tới database hoặc lấy lại thông tin kết nối mà bạn
đã khai báo trước đó Nhấn vào "Get values from Connection"
Trang 43SOF301 – Ngôn ngữ lập trình Java 4 Lab 6
13
Chọn Connection "Oracle (Simplehr)", cái mà bạn đã tạo ra trước đây Nhấn OK để tiếp
tục
Tiếp theo chọn class "dialect" tương ứng với loại Database của bạn Với Oracle sẽ là
Oracle10g, chú ý class dialect "Oracle10g" được dùng chung cho cả 2 phiên bản 10 và 11
của Oracle