Professional Documents
Culture Documents
Bai Tap Thuc Hanh J2EE
Bai Tap Thuc Hanh J2EE
Bài 1:
Xây dựng chương trình Servlet helloServlet.java sử dụng đối tượng PrintWrite trả về
nội dung HTML theo 3 cỡ chữ khác nhau h1, h2, h3 với nội dung “Hello Servlet”
Khai báo và cấu hình trên file web.xml với servletpath là : hello
Bài 2:
Xây dựng chương trình Servlet initParaExample.java thực hiện lấy tham số khởi tạo
cho chương trình với 3 tham số: dbname, user, pass được truyền từ file web.xml
Bài 3:
Xây dựng chương trình Servlet AddNum.java thực hiện nhận tham số từ Home.html
và thực hiện tính tổng từ 2 số nhận được từ Home và forward đến ServletView.java và
truyền hai thuộc tính sum và avr, Servlet ServletView sử dụng ServletView sử dụng
PrintWrite in ra kết quả tổng và trung bình từ hai số trên.
Trang 2/12
Bài 4: Xây dựng file login.html có giao diện như sau:
Xây dựng và cấu hình Filter LoginFilter với url pattern là: /* với chức năng nhận dữ
liệu login từ Login.html sử dụng hàm boolean Authentication(user,pass) của class
userDAO với giá trị trả về true, false là tùy ý hoặc được lấy từ cơ sở dữ liệu.
TH1: nếu đăng nhập thành công LoginFilter sẽ cho qua với chain.doFilter(request,
response) và hiển thị trang đăng nhập thành công với thông tin tương ứng của User
TH2 nếu không đăng nhập thành công LoginFilter sẽ chuyển hướng đến lại trang
đăng nhập và kèm theo thông báo lỗi
Trang 3/12
Xây dựng và cấu hình Filter LoginFilter với url pattern là: /* với chức năng nhận dữ
liệu login từ Login.html sử dụng hàm boolean Authentication(user,pass) của class
userDAO với giá trị trả về true, false là tùy ý hoặc được lấy từ cơ sở dữ liệu.
TH1: nếu đăng nhập thành công LoginFilter sẽ cho qua với chain.doFilter(request,
response) và hiển thị trang đăng nhập thành công với thông tin tương ứng của User
TH2 nếu không đăng nhập thành công LoginFilter sẽ chuyển hướng đến lại trang
đăng nhập và kèm theo thông báo lỗi
Bài 3: Xây dựng ứng dụng LoginLogout sử dụng cookies, forward trong
Servlet:indext.html. login.thml, LoginServlet.java, LogOutServlet.java, ProfileServlet.java
<html>
<body>
<%@ page import="java.util.Date" %>
Today is: <%= new Date() %>
</body>
</html>
<html>
<body>
<%@ page contentType=application/msword %>
Today is: <%= new java.util.Date() %>
</body>
</html>
<html>
<body>
<%@ page errorPage="myerrorpage.jsp" %>
<%= 100/0 %>
</body>
</html>
Tạo trang myerrorpage.jsp như sau
<html>
<body>
Trang 5/12
<%@ page isErrorPage="true" %>
Sorry an exception occured!<br/>
The exception is: <%= exception %>
</html>
Tạo file Page2.jsp như sau
<b>Page2.jsp</b><br>
Trang 6/12
Bài 3 jsp:forward
action. Tạo file
index.jsp như sau:
<html>
<head>
<title>JSP forward action tag example</title>
</head>
<body>
<p align="center">My main JSP page</p>
<jsp:forward page="display.jsp" />
</body>
</html>
-Bài 1: Thực Hành các khái niệm trong JSP: Expression, Scriptlet (<% java code %>)
, Declaration( khai báo phương thức và sử dụng phương thức trong jsp <%! %>)
Ví dụ 1: <html>
<head>
<title>JSP expression tag example</title>
</head>
<body>
<%
int a=10; int b=20; int c=30;
%>
<%= a+b+c %>
</body>
</html>
Ví dụ 2: Truyền giá trị giữa 2 trang JSP
Trang 7/12
Tạo trang index.jsp như sau:
<html>
<head>
<title> JSP expression tag example3 </title>
</head>
<body>
<% application.setAttribute("MyName", "abcdef"); %>
<a href="display.jsp">Click here for display</a>
</body>
</html>
Tạo trang display.jsp như sau:
<html>
<head>
<title>Display Page</title>
</head>
<body>
<%="This is a String" %><br>
<%= application.getAttribute("MyName") %>
</body>
</html>
Bài 2: Sử dụng các Đối tượng ẩn (Implicit) trong JSP
Sử dụng trong forward, redirect
Sử dụng đối tượng Session trong jsp
Xây dựng HTML Form LoginSession.html như sau:
Trang 8/12
Xây dựng LoginSession.jsp nhận thông tin UseName, PassWord từ LoginSession.html,
kiểm tra nếu PassWord=”admin” thì thực hiện lưu UseName, PassWord vào Session và
Redirect đến trang Home.jsp, trang Home.jsp lấy thông tin từ Session và in ra tin UseName,
PassWord.
Nếu nếu PassWord≠”admin” in ra thông tin User Name và Pass Word không hợp lệ tại trang
LoginSession.jsp
Trang 9/12
BÀI THỰC HÀNH 05
Bài 1:
-Tạo cơ sở dữ liệu MySQL cho bài toán quản lý khách hàng có tên qlkh gồm 1 bảng
Customer gồm có các thuộc tính id, name, address
-Tạo file cấu hình hibernate.cfg.xml theo như mẫu trên
<hibernate-configuration>
<session-factory>
<property
name="hibernate.connection.driver_class">com.mysql.jdbc.Driver
</property>
<property
name="hibernate.connection.url">jdbc:mysql://localhost:3306/hi
bernate-demo?useSSL=false</property>
<property
name="hibernate.connection.username">root</property>
<property
name="hibernate.connection.password">admin</property>
<property
name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</p
roperty>
<property
name="hibernate.hibernate.current_session_context_class">threa
d</property>
<property
name="hibernate.current_session_context_class">
org.hibernate.context.internal.ThreadLocalSessionContext
</property>
Trang 10/12
</session-factory>
</hibernate-configuration>
-Xây dựng lớp java Bean Customer gồm các thuộc tính: id, name, address
-Xây dựng file Customer.hbm tương tự như sau: để mapping Customer
<hibernate-mapping>
<class catalog="qlbh" name="beans.Nhanvien" optimistic-
lock="none" table="nhanvien">
<id name="manv" type="string">
<column length="4" name="manv"/>
<generator class="assigned"/>
</id>
<property name="hoten" type="string">
<column length="45" name="hoten"/>
</property>
<property name="diachi" type="string">
<column length="45" name="diachi"/>
</property>
<property name="sodienthoai" type="string">
<column length="45" name="sodienthoai"/>
</property>
<property name="ngayvl" type="date">
<column length="10" name="ngayvl"/>
</property>
</class>
</hibernate-mapping>
-Xây dựng lớp CustomerDAO thực hiện khởi tạo SessionFactory, và các phương thức
thêm, sửa, xóa trên đối tượng Customer như sau:
public void save(Customer customer)
public void updateName(int id, String name)
public void delete(int id)
public void searchByName(String name)
Trang 11/12