You are on page 1of 12

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN


BỘ MÔN CÔNG NGHỆ PHẦN MỀM
------------o0o-----------

BÀI TẬP THỰC HÀNH


CÔNG NGHỆ J2EE

Số tín chỉ: 3TC


Hệ đào tạo: Đại học
Ngành: Công nghệ phần mềm
Khoa: Công nghệ thông tin

Thái Nguyên, Năm 2023


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
------------o0o-----------

BÀI TẬP THỰC HÀNH


CÔNG NGHỆ J2EE

BỘ MÔN PHÊ DUYỆT

Nguyễn Hồng Tân

Thái Nguyên, Năm 2023

Thái Nguyên, Năm 2023


BÀI THỰC HÀNH 01

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 Form HTML như sau:

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

BÀI THỰC HÀNH 02

Bài 1: Làm lại các ví dụ phần Filter, Session, Cookie.

Bài 2: Xây dựng file login.html có giao diện như sau:

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

Lưu cookies xóa cookies


Đọc và kiểm tra cookies

BÀI THỰC HÀNH 03


Trang 4/12
Bài 1 Page Directive

Tạo trang import.jsp như sau

<html>
<body>
<%@ page import="java.util.Date" %>
Today is: <%= new Date() %>
</body>

</html>

Tạo trang contentType.jsp như sau:

<html>
<body>
<%@ page contentType=application/msword %>
Today is: <%= new java.util.Date() %>
</body>

</html>

Tạo trang ifError.jsp như sau:

<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 %>

Bài 2: jsp:inlude action

Tạo file index.jsp như sau:


<html>
<head>
<title>JSP Include example</title>
</head>
<body>
<b>index.jsp Page</b><br>
<jsp:include page="Page2.jsp" />
</body>

</html>
Tạo file Page2.jsp như sau
<b>Page2.jsp</b><br>

Nội dung của trang 2 sẽ nằm


trong trang index

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 THỰC HÀNH 04

-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

-Thay thế trang LoginSession.jsp bằng Servlet LoginSession.java


Bài 3 Sử dụng JSP Standard Tag Library (JSTL) Core Tags
-Xây dựng lớp java Bean Student gồm có các thuộc tính:
private String firstName;
private String lastName;
private boolean goldCustomer;
- Xây dựng Servlet Khởi tạo List data
List<Student> data = new ArrayList<>();

data.add(new Student("Rmesh", "Fadatare", false));


data.add(new Student("Jhn", "Cna", false));
data.add(new Student("Tmy", "Cuise", false));
data.add(new Student("Tny", "Star", false));
data.add(new Student("Prash", "Jadav", true));
truyền tham biến qua request và forward đến View.jsp
Sử dụng Core Tags kết hợp với bảng trong HTML xây dựng View.jsp in ra list ds
Student như sau:

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>

<mapping class="abc.Customer" />

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

You might also like