1
JSP
Tổng quan về JSP
❖ JSP là viết tắt của Java Server Pages là một công nghệ
để phát triển các trang web động. JSP cho phép chèn
java code vào các trang HTML.
❖ JSP là một kiểu Java servlet được thiết kế để tạo ra
giao diện người dùng cho một ứng dụng Java web.
❖ Sử dụng JSP có thể thu thập dữ liệu đầu vào từ người
dùng thông qua các Form của trang web, trình bày các
bản ghi từ một cơ sở dữ liệu hoặc một nguồn khác, và
tạo các trang web động.
2
JSP
❖ Quá trình xử lý một trang JSP
3
JSP
❖ Quá trình xử lý một trang JSP
4
Cú pháp bắt đầu trang JSP
<%@ page language="java"
contentType="text/html;charset=UTF
-8" pageEncoding="UTF-8"%>
5
JSP Scriptlet
❖ Thẻ scriptlet được sử dụng để thực thi mã nguồn
java trong JSP.
❖ Cú pháp:
<% đoạn mã Java %>
6
JSP Scripets
❖ Ví dụ:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP cơ bản</title>
</head>
<body>
<%out.print("welcome to jsp");%>
</body>
</html>
7
JSP Expression
❖ Thẻ expression: Trả về kết quả, thường để in các giá
trị của biến hoặc phương thức
❖ Cú pháp:
<%= statement %>
8
JSP Expression
❖ Ví dụ:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP cơ bản</title>
</head>
<body>
<p>
Ba cộng hai = <%=3+2%>
<p>
</body>
</html>
9
JSP Scripets
❖ Ví dụ
10
<body>
<p>
Ba cộng hai = <%= 3+2 %>
<p>
</body>
Trang JSP
Ba cộng hai = 5 Trang HTML
JSP declaration
❖ Thẻ declaration: được dùng để khai báo biến hoặc
phương thức
❖ Cú pháp:
<%! đoạn mã Java %>
▪ Biến: <% đoạn mã Java %> or <%! đoạn mã Java %>
▪ Phương thức: <%! đoạn mã Java %>
11
JSP declaration
❖ Ví dụ 1:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP cơ bản</title>
</head>
<body>
<%! int data=50; %>
<%= "Value of the variable is:"+data %>
</body>
</html>
12
JSP declaration
❖ Ví dụ 2:
<html>
<head>
<meta charset="UTF-8">
<title>JSP cơ bản</title>
</head>
<body>
<%!int tinhTong(int a, int b)
{
return a+b;
}%>
<%! int a=5,b=6; %>
<%= "Tổng hai số là:"+tinhTong(a,b) %>
</body>
</html>
13
Ghi chú trong JSP Files
❖ Bên trong mã JSP (giữ <% đến %>):
// comment
/* comment */
❖ Bên ngoài mã JSP (trong html)
<!-- comment -->
14
Import thư viện
❖ Phần lớn các lớp Java trong các thư viện riêng biệt.
Phải được nhập để được sử dụng trong JSP.
▪ Cú pháp:
<%@ page import=“list of Java classes” %>
▪ Ví dụ:
<%@ page import=“java.util.Date, java.io.*”%>
15
Import thư viện
❖ Ví dụ:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.lang.Math" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!int data=5; %>
<%="Căn bậc hai của "+data+" là: "+Math.sqrt(data)
</body>
</html>
16
Gọi lớp trong JSP
17
TestClass.
Java
test_callclass.jsp
Thẻ form
❖ Cú pháp
<form action =“url của nơi xử lý yêu cầu”>
method=“get hoặc post”>
</form>
18
Phương thức gửi dữ liệu
URL nơi xử lý yêu cầu
So sánh phương thức GET và POST
19
Get Post
Phương thức mặc định Phải chỉ trong Form
Thêm dữ liệu form vào cuối
URL
Dữ liệu form không hiển thị
Nhanh
Tham số giới hạn ở gần 4k dữ
liệu
Không có giới hạn cố định
cho độ dài của dữ liệu form
được thông qua
Cho phép đánh dấu trang Ngăn đánh dấu trang
Các thành phần đơn giản của một Form
❖ Thẻ input
▪ Ví dụ:
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<lable for="idSoLuong">Số lượng</lable>
<input type=“text” id="idSoLuong" name=“soLuong”/>
<br><br>
<input type="submit" id="idSubMit" value="Đặt hàng"/>
</body>
</html>
20
Các thành phần đơn giản của một Form
❖ Thẻ input
21
Dữ liệu cần thiết để gửi
đến máy chủ xử lý
Thực hiện gửi dữ liệu
Ví dụ đơn giản về Form
22
❖ Tạo trang dathang.jsp sử dụng phương thức get.
Ví dụ đơn giản về Form
❖ Dữ liệu được gửi đi:
http://localhost:8080/Baitap_JSP/datHang.jsp?soLuong=100&hoVaTen
=Trịnh+Thị+Lý&email=minhly200206%40gmail.com
23
Xử lý dữ liệu phía Server
❖ request: là đối tượng có sẵn trong JSP
▪ Đối tượng Java được tạo từ chuỗi yêu cầu.
▪ Chứa dữ liệu yêu cầu và các phương pháp để dễ dàng truy cập dữ liệu.
▪ Được truy cập bằng mã JSP.
24
Dữ liệu từ form
Dữ liệu khác
Phương pháp truy cập dữ liệu Code trong JSP
Phương thức lấy dữ liệu được gửi
String request.getParameter(String)
Ví dụ:
String s_soLuong=request.getParameter(“soLuong”);
Lấy ra giá trị mà người dùng đã nhập
25
Trả về dữ liệu đã gửi Tên của tham số đã gửi
Tạo trang JSP phản hồi (respone)
26
❖ xulydathang.jsp.
Tạo trang JSP phản hồi (respone)
27
❖ Kết quả
Ví dụ
❖ Tạo trang login.jsp sử dụng phương thức post
28
Ví dụ
❖ Tạo trang xulydangnhap.jsp
29
Ép kiểu
❖ getParameter() =>String => Cần ép kiểu về kiểu dữ
liệu cần dùng.
❖ Parsing Numeric Input
▪ int Integer.parseInt(String)
▪ double Double.parseDouble(String)
❖ Ví dụ
int a = Integer.parseInt(“5”);
=>a = 5
double diemTB = Double.parseDouble(“8.5”);
=>diemTB = 8.5;
30
Ví dụ
31
❖ Tạo trang phản hồi xulydathang.jsp: ép kiểu.
Kết quả
32
Xử lý lỗi
❖ Ví dụ: Nhập vào số lượng là 100c
33
Số lượng nhập vào
dạng text
Xử lý lỗi
❖ Trang lỗi
34
Xử lý lỗi
35
❖ Xử lý lỗi tại trang phản hồi xulydathang.jsp.

Chương 2_Bài tập và ví dụ về JSP Servlet.pdf

  • 1.
  • 2.
    Tổng quan vềJSP ❖ JSP là viết tắt của Java Server Pages là một công nghệ để phát triển các trang web động. JSP cho phép chèn java code vào các trang HTML. ❖ JSP là một kiểu Java servlet được thiết kế để tạo ra giao diện người dùng cho một ứng dụng Java web. ❖ Sử dụng JSP có thể thu thập dữ liệu đầu vào từ người dùng thông qua các Form của trang web, trình bày các bản ghi từ một cơ sở dữ liệu hoặc một nguồn khác, và tạo các trang web động. 2
  • 3.
    JSP ❖ Quá trìnhxử lý một trang JSP 3
  • 4.
    JSP ❖ Quá trìnhxử lý một trang JSP 4
  • 5.
    Cú pháp bắtđầu trang JSP <%@ page language="java" contentType="text/html;charset=UTF -8" pageEncoding="UTF-8"%> 5
  • 6.
    JSP Scriptlet ❖ Thẻscriptlet được sử dụng để thực thi mã nguồn java trong JSP. ❖ Cú pháp: <% đoạn mã Java %> 6
  • 7.
    JSP Scripets ❖ Vídụ: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP cơ bản</title> </head> <body> <%out.print("welcome to jsp");%> </body> </html> 7
  • 8.
    JSP Expression ❖ Thẻexpression: Trả về kết quả, thường để in các giá trị của biến hoặc phương thức ❖ Cú pháp: <%= statement %> 8
  • 9.
    JSP Expression ❖ Vídụ: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP cơ bản</title> </head> <body> <p> Ba cộng hai = <%=3+2%> <p> </body> </html> 9
  • 10.
    JSP Scripets ❖ Vídụ 10 <body> <p> Ba cộng hai = <%= 3+2 %> <p> </body> Trang JSP Ba cộng hai = 5 Trang HTML
  • 11.
    JSP declaration ❖ Thẻdeclaration: được dùng để khai báo biến hoặc phương thức ❖ Cú pháp: <%! đoạn mã Java %> ▪ Biến: <% đoạn mã Java %> or <%! đoạn mã Java %> ▪ Phương thức: <%! đoạn mã Java %> 11
  • 12.
    JSP declaration ❖ Vídụ 1: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP cơ bản</title> </head> <body> <%! int data=50; %> <%= "Value of the variable is:"+data %> </body> </html> 12
  • 13.
    JSP declaration ❖ Vídụ 2: <html> <head> <meta charset="UTF-8"> <title>JSP cơ bản</title> </head> <body> <%!int tinhTong(int a, int b) { return a+b; }%> <%! int a=5,b=6; %> <%= "Tổng hai số là:"+tinhTong(a,b) %> </body> </html> 13
  • 14.
    Ghi chú trongJSP Files ❖ Bên trong mã JSP (giữ <% đến %>): // comment /* comment */ ❖ Bên ngoài mã JSP (trong html) <!-- comment --> 14
  • 15.
    Import thư viện ❖Phần lớn các lớp Java trong các thư viện riêng biệt. Phải được nhập để được sử dụng trong JSP. ▪ Cú pháp: <%@ page import=“list of Java classes” %> ▪ Ví dụ: <%@ page import=“java.util.Date, java.io.*”%> 15
  • 16.
    Import thư viện ❖Ví dụ: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.lang.Math" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <%!int data=5; %> <%="Căn bậc hai của "+data+" là: "+Math.sqrt(data) </body> </html> 16
  • 17.
    Gọi lớp trongJSP 17 TestClass. Java test_callclass.jsp
  • 18.
    Thẻ form ❖ Cúpháp <form action =“url của nơi xử lý yêu cầu”> method=“get hoặc post”> </form> 18 Phương thức gửi dữ liệu URL nơi xử lý yêu cầu
  • 19.
    So sánh phươngthức GET và POST 19 Get Post Phương thức mặc định Phải chỉ trong Form Thêm dữ liệu form vào cuối URL Dữ liệu form không hiển thị Nhanh Tham số giới hạn ở gần 4k dữ liệu Không có giới hạn cố định cho độ dài của dữ liệu form được thông qua Cho phép đánh dấu trang Ngăn đánh dấu trang
  • 20.
    Các thành phầnđơn giản của một Form ❖ Thẻ input ▪ Ví dụ: <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <lable for="idSoLuong">Số lượng</lable> <input type=“text” id="idSoLuong" name=“soLuong”/> <br><br> <input type="submit" id="idSubMit" value="Đặt hàng"/> </body> </html> 20
  • 21.
    Các thành phầnđơn giản của một Form ❖ Thẻ input 21 Dữ liệu cần thiết để gửi đến máy chủ xử lý Thực hiện gửi dữ liệu
  • 22.
    Ví dụ đơngiản về Form 22 ❖ Tạo trang dathang.jsp sử dụng phương thức get.
  • 23.
    Ví dụ đơngiản về Form ❖ Dữ liệu được gửi đi: http://localhost:8080/Baitap_JSP/datHang.jsp?soLuong=100&hoVaTen =Trịnh+Thị+Lý&email=minhly200206%40gmail.com 23
  • 24.
    Xử lý dữliệu phía Server ❖ request: là đối tượng có sẵn trong JSP ▪ Đối tượng Java được tạo từ chuỗi yêu cầu. ▪ Chứa dữ liệu yêu cầu và các phương pháp để dễ dàng truy cập dữ liệu. ▪ Được truy cập bằng mã JSP. 24 Dữ liệu từ form Dữ liệu khác Phương pháp truy cập dữ liệu Code trong JSP
  • 25.
    Phương thức lấydữ liệu được gửi String request.getParameter(String) Ví dụ: String s_soLuong=request.getParameter(“soLuong”); Lấy ra giá trị mà người dùng đã nhập 25 Trả về dữ liệu đã gửi Tên của tham số đã gửi
  • 26.
    Tạo trang JSPphản hồi (respone) 26 ❖ xulydathang.jsp.
  • 27.
    Tạo trang JSPphản hồi (respone) 27 ❖ Kết quả
  • 28.
    Ví dụ ❖ Tạotrang login.jsp sử dụng phương thức post 28
  • 29.
    Ví dụ ❖ Tạotrang xulydangnhap.jsp 29
  • 30.
    Ép kiểu ❖ getParameter()=>String => Cần ép kiểu về kiểu dữ liệu cần dùng. ❖ Parsing Numeric Input ▪ int Integer.parseInt(String) ▪ double Double.parseDouble(String) ❖ Ví dụ int a = Integer.parseInt(“5”); =>a = 5 double diemTB = Double.parseDouble(“8.5”); =>diemTB = 8.5; 30
  • 31.
    Ví dụ 31 ❖ Tạotrang phản hồi xulydathang.jsp: ép kiểu.
  • 32.
  • 33.
    Xử lý lỗi ❖Ví dụ: Nhập vào số lượng là 100c 33 Số lượng nhập vào dạng text
  • 34.
    Xử lý lỗi ❖Trang lỗi 34
  • 35.
    Xử lý lỗi 35 ❖Xử lý lỗi tại trang phản hồi xulydathang.jsp.