COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
Môn học: Java Server Pages
Bài 1
Những vấn đề chính sẽ được đề cập trong khoá học:
9 Cài đặt JRUN.
o Cài đặt JDK1.3.
o Cài đặt JRUN.
o Cấu hình ứng dụng JSP
9 Giới thiệu JSP.
o Script.
o Khai báo chỉ mục.
1. CÀI ĐẶT JRUN
1.1.
1.2.
Cài đặt JDK
Để cấu hình JRUN 4.0 trên Windows, trước tiên bạn cài đặt bộ JDK1.3 hay JDK
1.4 lên đóa cứng C hay D, sau khi cài đặt thành công bạn nên boot máy lại, trong ổ đóa sẽ
xuất hiện thư mục JDK1.3 với các thư viện của chúng.
Cài đặt JRUN
Để cài đặt JRUN, bạn mua đóa CD với ứng dụng JRUN 4.0, sau đó cài đặt chúng
vào máy có cài đặt JDK. Trong khi cài đặt thì JRUN có yêu cầu chòn thư mục nơi bạn cài
đặt JDK.
Trong khi cài đặt JRUN, có thể yêu cầu bạn cài đặt chúng dưới dạng một dòch vụ
của hợp đồng hành (mặc đònh là Yes), khi đó JRUN sẽ cài đặt với hai dòch vụ là JRUN
Admin và JRUN Default trong cửa sổ Services (trong Control Panel hay Administrative
Tools) của hệ điều hành Windows như hình 1-1 sau:
Hình 1-1: Dòch vụ JRUN trong Servies
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
Bạn phải bảo dảm rằng chúng đang ở chế độ Started, trong trường hợp đang ở chế
độ STOP thì bạn chọn dòch vụ này và nhấn nút Start.
Nếu JRUN đang ở chế độ Start thì bạn sẽ gõ
http://localhost:8000 trên trình duyệt
và cung cấp username cung với password để đăng nhập vào màn hình uqản trò JRUN nếu
muốn chương.
Nếu JRUN Default Server đang ở chế độ Start thì bạn có thể gõ đòa chỉ sau trên
browser
http://localhost:8100 để chạy ứng dụng mặc đònh của JSP.
Ngoài ra, nếu bạn không cài đặt JRUN như một dòch vụ của hệ điều hành Windows
thì mỗi lần bạn muốn chạy ứng dụng JSP thì phài Start nó lên bằng cách chọn Start |
Programs | JRUN 4.0 | JRUN Default Server hay JRUN Admin Server roi sau do khởi
động JRUN Default Server, phần này sẽ trình bày trong phần cấu hình.
1.3.
1.3.1.
1.3.2.
Cấu hình ứng dụng JSP
Để triệu gọi trang JSP (tên mở rộng .jsp) trên trình duyệt, bạn có thể cấu hình một
torng hai cách sau:
Cách 1:
Nếu không muốn tạo ứng dụng Web cho riêng mình mà sử dụng thư mục mặc đònh
thì bạn có thể khai báo các trang JSP và bỏ vào thư mục JRUN4/Servers/Defaul/ default-
ear/ default-war/.
Chẳng hạn, trong trường hợp này chúng ta khai báo trang test.jsp với nội dung như
sau:
<HTML>
<HEAD>
<title>Test JSP</title>
</HEAD>
<BODY>
<%=”Hello JSP”%>
</BODY>
</HTML>
Để kiểm tra trang JSP này, bạn khai báo trên trình duyệt như sau:
http://localhost1:8100/test.jsp
Tuy nhiên, bạn có thể khai báo các thư mục con bên trong của thư mục mặc đònh
này, sau đó triệu gọi trên trình duyệt theo tên thư mục, chẳng hạn
http://localhost:8100/qlda/danhmucphongban.jsp.
Cách 2:
Để cấu hình ứng dụng JSP trên JRUN bạn có thể thao tác theo các bước sau:
1. Bạn đăng nhập vào JRUN Admin với
http://localhost:8000 bằng cách cung cấp
username/pwd như hình 1-2 sau.
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
Hình 1-2: Đăng nhập JRUN Admin
2. Tạo thư mục lưu trữ web site trên ổ đóa, chẳng hạn trong trường hợp này khai
báo thư mục jspsample như hình 1-3.
Hình 1-3: Khai báo thư mục để lưu trữ trang JSP
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
3. Chọn vào menu Home, JRUN sẽ liệt kê danh sách các server đang cấu hình trên
JRUN như hình 1-4.
Hình 1-4: Danh sách các Server trên JRUN
4. Chọn URL có tên là Create New Server trên menu nằm ở đầu trang, trong cửa
sổ vừa xuất hiện (Creating a New JRun Application Server) bạn cung cấp các
tham số trong hình 1-5 như sau:
Host Name:localhost (hoặc đòa chỉ IP, tên server) •
•
•
JRun Server Name: Chọn tên của ứng dụng, ví dụ trong trường hợp này chọn
jspsample.
JRun Server Directory: Thư mục của ứng dụng bạn vừa tạo ra, chẳng hạn
D:/jspsample (hay D:/thuvien/hr).
5. Nhấn nút Create chờ trong giây lát cửa sổ của HOME page sẽ xuất hiện tên ứng
dụng web bạn vừa tạo (jspsample), nhấn nút Start để khởi động ứng dụng này.
Trong trường hợp phát sinh lỗi do port bò đụng độ, mặc đònh của site default là
8100 (admin là 8000), khi bạn tạo ứng dụng xong, một port nào đó được gán cho
ứng dụng của bạn vì dụ như 8101 như hình 1-6. Tuy nhiên, bạn có thể thay đổi
port này bằng cách edit để cập nhật.
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
Hình 1-5: Tạo website
Hình 1-6: Tạo ứng dụng JSP thành công
Sau khi tạo thành công, tên ứng dụng vừa tạo sẽ xuất hiện trong danh sách server
của JRUN như hình 1-7.
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
Hình 1-7: Tên site vừa tạo
Xem trên bảng danh sách server ứng với jspsample có phần HTTP Port là 8101,
sau đó trên http, bạn gõ http://localhost:8101/test.jsp, kết quả sẽ xuất hiện như hình 1-8.
Hình 1-8: Kết quả trang test.jsp
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
2. GIỚI THIỆU JSP
2.1.
2.2.
2.3.
Yêu cầu
JSP dựa trên cú pháp của ngôn ngữ lập trình Java, chính vì vậy khi làm việc với
JSP bạn phải là người có kiến thức về ngôn ngữ này. Nếu bạn xây dựng ứng dụng JSP
có kết nối cơ sở dữ liệu thì kiến thức về cơ sở dữ liệu SQL Server hay Oracle là điều cần
thiết.
Giới thiệu
JSP là kòch bản trình chủ (Server Script) được chạy trên nền JDK 1.3 trở về sau,
cùng với ứng dụng Web Server để quản lý chúng. Web Server thường sử dụng là Tomcate,
Java Web Server, JRUN, WebLogic và Apache,
Tiền thân của JSP là xuất phát từ Java Servlet, khi làm việc với Java Servlet thì
hầu hết các lập trình viwên gặp khó khăn khi xuất nhập dữ liệu, cụ thể là giao diện với
người sử dụng. Chính vì vậy SUN Microsystem cung cấp kòch bản JSP là phần mở rộng
của Java Servlet để cho phép quá trình lập trình ứng dụng Web trở nên đơn giản hơn.
Tuy nhiên, những trang JSP này khi biên dòch đề thông qua trang trung gian là Java
Sevrlet.
Biên dòch trang JSP
Khi người sử dụng gọi trang JSP lần đầu tiên, Web Server triệu gọi trình biên dòch
dòch trang JSP (trong trường hợp này là JDK) thành tập tin Java, kế đến tập tin java
(Java Servlet) này sẽ biên dòch ra Class . Sau đó, trang class thực thi và trả về kết quả
cho người sử dụng như hình 1-9.
Hình 1-10: Quá trình biên dòch trang JSP
Tập tin
JSP
Web
Server
Java
Engine
(JSK)
Tập tin
Java
Servlet
Tập tin
Class
Call
Compile
Parse
Instantiate
Instantiate
Process and
Render
Request
Request
Response
Response
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM
2.4.
3.
Kòch bản (script)
Nội dung của JSP có thể khai báo lẫn lộn với HTML, chính vì vậy bạn sử dụng cặp
dấu <%= %> để khai báo mã JSP. Chẳng hạn, chúng ta khai báo:
<br>
1-Giá trò biến Str: <%=str%>
2-Giá trò biến i: <%=i%>
3-Giá trò cũ thể: <%=10%>
Trong trường hợp có nhiều khai báo, bạn sử dụng Scriptlet, đều này có nghóa là sử
dụng cặp dấu trên như <%%> với các khai báo JSP với cú pháp của Java như sau:
<%
int i=0;
String str=”Select * from tblABC”;
out.println(str);
%>
-Khai báo trên là Scriptlet
Giá trò của i: <br>
<%=i%> -Khai báo này là Script
KẾT LUẬN
Trong bài này, chúng ta tập trung tìm hiểu cách cài đặt JSK và JRUN, sau đó cấu
hình ứng dụng JSP trong JRUN hay sử dụng cấu hình mặc đònh của chúng.
Ngoài ra, bạn làm quen cách khai báo mã JSP trong trang .jsp cùng với script hay
scriptlet.
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Môn học: Java Server Pages
Bài 2
Bài học này chúng ta sẽ làm quen và tìm hiểu cú pháp và một
số phương thức cơ bản của JSP:
9 Câu lệnh.
9 Biến và kiểu dữ liệu.
9 Hằng.
9 Bảng dãy
9 Một số phương thức cơ bản
1. KHÁI NIỆM VỀ CÚ PHÁP JSP
Cú pháp JSP chính là cú pháp trong ngôn ngữ Java, các bạn làm quen với ngôn
ngữ Java thì có lợi thế trong lập trình JSP.
Để lập trình bằng ngôn ngữ JSP cần chú ý những điểm sau:
Cuối câu lệnh có dấu ;
Mỗi phương thức đều bắt đầu { và đóng bằng dấu }
Khi khai báo biến thì kiễu dữ liệu nằm trước tên biến
Nên có giá trò khởi đầu cho biến khai báo
Phải có chi chú (comment) cho mỗi feature mới
Sử dụng dấu // để giải thích cho mỗi câu ghi chú
Sử dụng /* và */ cho mỗi đoạn ghi chú
Khai báo biến có phân biệt chữ hoa hay thường
Tên file và lớp cũng như như khai báo biến
2. KHAI BÁO BIẾN
Khi thực hiện một việc khai báo biến trong java, bạn cần phải biết tuân thủ quy
đònh như: kiễu dữ liệu trước tên biến và có giá trò khởi đầu
Xuất phát từ những điều ở trên, khai báo biến trong Java như sau:
Datatype variable name [initial value];
int licount=0;
String lsSQL=”Select * from tblusers where active=1”;
double account[];
boolean checkerror=false;
3. KIỂU DỮ LIỆU
Bảng các kiểu dữ liệu thông thường
Type Bytes Range
Boolean 2
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Byte 1
Char 2
Double 8 cho âm, 4
số dương
Float 4
Int 4
Long 8
Short 2
Connection
Statement
ResultSet
3.1. Kiểu Array
Kiễu mảng là một mảng số liệu do người dùng đònh nghóa, chúng có cú pháp như
sau:
double account[]; // mảng số double
hay có thể khai báo như sau
double account[]={0,0,1,45.95,6.5};
thứ tự index trong mảng bắt đầu từ vò trí 0. Nếu như bạn khai báo mảng hai chiều, thì
cú pháp khai báo như sau:
double account[][]=new double[2][5];
Chẳng hạn khai báo như sau:
<%
double account[][]=new double[2][100];
account[0][3]=43.95;
account[1][3]=43.95000;
out.println(“Account 0-3 is ” + account[0][3] );
out.println(“Account 1-3 is ” + account[1][3] );
%>
Khai báo biến String
<%
String strSQL=”select * from tblusers ”;
String strWhere=” where active=0”;
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
out.println(“SQL Statement is ” + strSQL+strWhere );
%>
Khai báo với nhiều loại dữ liệu
<%
boolean bo;
byte by;
char c;
short s;
int i;
long l;
float f;
double d;
object o;
int[] intArray = new int[2];
object[] objectArray = new Object[2];
out.println("boolean: "+bo);
out.println("byte: "+by);
out.println("char: "+c);
out.println("short: "+s);
out.println("int: "+i);
out.println("long: "+l);
out.println("float: "+f);
out.println("double: "+d);
out.println("Object: "+o);
out.println("int[2]: "+intArray[0]+" "+intArray[1]);
out.println("Object[2]: "+objectArray[0]+" "+objectArray[1]);
%>
4. CÁC PHƯƠNG THỨC VÀ PHƯƠNG THỨC TRONG JAVA
4.1. Phương thức trả về chiều dài mảng
Khi quan tâm đến chiều dài của mảng thì bạn cần theo cú pháp sau:
Array.length
Giả sử rằng, bạn khai báo biến với chiều dài mãng một và hai chiều
<%
double account[]={88,11,2.5,77};
double sum;
sum=account.length;
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
out.println(“Length of Account is ” + sum);%>
4.2.
4.3.
4.4.
Chuyển sang kiểu chuỗi
Khi bạn cần chuyễn đổi từ kiểu số liệu khác sang kiểu chuỗi, thì cần khai báo như
sau:
String.valueOf(data);
Ví dụ chuyển đổi kiểu sang kiểu chuỗi
<%
double account[]={88,11,2.5,77};
String str;
str=String.valueOf(account[2]);
out.println(“String of Account 2 is ” + str);
%>
Nối chuỗi
Khi cần thiết nối hai hay nhiều chuổi lại với nhau, bạn sử dụng phương thức
concat, thông thường chúng ta hay dung phép toán + để nối hai hay nhiều chuỗi lại với
nhau.
Cú pháp concat như sau:
Str1.conact(Str2);
Kết nối chuỗi
<%
String str1=”Select * from tblemplyers”;
String str2=” where paid=1”;
str1=str1.conact(str2);
out.println(“String of Str1 is ” + str1);
%>
Chuỗi con
Khi bạn cần lấy một chuỗi con trong chuỗi lớn, bạn cần dùng đến phương thức với cú
pháp như sau:
str1=str2.substring(start,chiều dài)
Ví dụ khai báo để lấy chuỗi con
<%
String str1=”Select * from tblemplyers”;
String str2=str1.substring(9,5);
out.println(“Sub String of Str1 is ” + str2);
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
%>
Nhưng nếu có nhu cầu lấy ra một ký tự nào đó trong chuỗi, thì bạn không cần dùng
substring mà chỉ sử dụng cú pháp charAt như sau:
Char=Str1.charAt(number);
Chẳng hạn, khai báo để lấy 1 ký tự
<%
String str1=”Select * from tblemplyers”;
String str2=str1.charAt(5);
Out.println(“charAt of Str1 is ” + str2);
%>
4.5.
4.6.
Chuyễn đổi String sang Array
Thông thường trong khi tính toá chuỗi, đôi khi cũng cần đến chúng như một mãng,
lý do đó chúng ta có phương thức chuyễn đổi như sau:
char char1[]=str1.toCharArray();
Chuyển chuỗi sang mảng
<%
String str1=”Select * from tblemplyers”;
char char1=str1.toCharArray();
out.println(“Char of Str1[1] is ” + char1[5]);
%>
Thay thế chuỗi
Khi cần thay thế một chuỗi con nào đó trong chuỗi mẹ thành chuỗi con khác, chúng
ta cần đến phương thức replace có cú pháp như sau:
str1=str2.replace(“’”,”’’”);
str1=str2.replace(“a”,”k”);
Ví dụ khai báo thay thế chuỗi
<%
String str1=”Select * from tblemplyurs”;
str1= replaceString (str1,“u”,”o”);
str1= replaceString (str1,“’”,”’’”);
out.println(“Char of Str1 is ” + str1);
%>
Trong đó, khai báo phương thức replaceString như sau
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
<%!
public String replaceString(String sStr,String oldStr,String newStr)
{
sStr=(sStr==null?"":sStr);
String strVar=sStr;
String tmpStr="";
String finalStr="";
int stpos=0,endpos=0,strLen=0;
while (true)
{
strLen=strVar.length();
stpos=0;
endpos=strVar.indexOf(oldStr,stpos);
if (endpos==-1)
break;
tmpStr=strVar.substring(stpos,endpos);
tmpStr=tmpStr.concat(newStr);
strVar=strVar.substring(endpos+oldStr.length()>sStr.length()?endpos:endpos+old
Str.length(),strLen);
finalStr=finalStr.concat(tmpStr);
stpos=endpos;
}
finalStr=finalStr.concat(strVar);
return finalStr;
}
%>
4.7. Vò trí ký tự trong chuỗi
Khi cần biết vò trí cũa ký tự hay chuỗi con nào đó trong chuỗi, bạn sử dụng phương
thức sau:
virti=str1.indexOf(“select”);
virti=str1.indexOf(“o”);
Chẳng hạn tìm vò trí chuỗi hay ký tự trong Chuỗi
<%
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
String str1=”Select * from tblemplyurs”;
int vitri=str1.indexOf(“o”);
Out.println(“Location of \”o\” is ” + vitri);
%>
4.8.
5.
Kiểu chữ
Nếu muốn chuyễn đổi chữ hoa sang thường hay ngược lại, thì bạn dùng phương thức
có cú pháp như sau:
Từ hoa sang thường: str1.toLowerCase();
Từ thường saung hoa: str1.toUpperCase();
Ví dụ
<%
String str1=”Select * from tblemplyors”;
str1=str1.toLowerCase();
out.println(“LowerCase is ” + str1);
str1=str1.toUpperCase();
out.println(“UpperCase is ” + str1);
%>
TÓM TẮT
Trong bài học này chúng tôi giới thiệu đến cho các bạn cách khai báo biến, các kiểu
dữ liệu, đồng thời giúp cho các bạn những phương thức trên chuỗi và ký tự trong JSP.
Giáo viên: Phạm Hữu Khang
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Bài 3
PHÉP TOÁN VÀ PHÁT BIỂU CÓ ĐIỀU KIỆN
TRONG JSP
Chương này chúng ta sẽ làm quen và tìm hiểu toán tử, phát biểu
có điều kiện và vòng lặp của JSP.
Những vấn đề chính sẽ được đề cập trong bài học này
9 Toán tử.
9 Phép gán trong Java
9 Phát biểu có điều khiển.
9 Vòng lặp.
1. KHÁI NIỆM VỀ CÁC TOÁN TỬ TRONG JSP
Khi bạn lập trình trên JSP là sử dụng cú pháp của ngôn ngữ Java. Tương
tự như những ngôn ngữ lập trình khác, toán tử giúp cho bạn thực hiện những
phép toán như số học hay trên chuỗi.
Bảng sau đây giúp cho bạn hình dung được những toán tử sử dụng tron
Java
Java đòng nghóa toá tử toán học, quan hệ, số học, bit, caste, class, selection,
và nột só phép toán gán.
Loại toán tử Toán tử Diễn giải Ví dụ
Arithmetic
+
-
*
/
%
Addition
Subtraction
Multiplication
Division
Modulus
a + b
a - b
a * b
a / b
a % b
Relational
>
<
>=
<=
!=
==
Greater than
Less than
Greater than or equal
Less than or equal
Not equal
Equal
a > b
a < b
a >= b
a <= b
a != b
a == b
Logical
!
&&
Not
!a
a && b
3-1
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
||
AND
OR
a || b
Bit-
manipulation
~
&
|
^
<<
>>
>>>
Complement
AND
OR
Exclusive OR
Left shift
Right shift
Zero-filled right shift
~a
a & b
a | b
a ^ b
a << b
a >> B
a >>> b
Assignment
=
++
+=
-=
*=
/=
%=
|=
&=
^=
<<=
>>=
>>>=
Assignment
Increment and assign
Decrement and assign
Add and assign
Subtract and assign
Multiply and assign
Divide and assign
Take modulus and assign
OR and assign
AND and assign
XOR and assign
Left shift and assign
Right shift and assign
Zero-filled left shift and
assign
a = b
a++
a
a += b
a -= b
a *= b
a /= b
a %= b
a |= b
a &= b
a ^= b
a <<= b
a >>= b
a >>>= b
Caste
(type)
Convert to type
(char) b
Instance
instance
of
Is instance of class?
a instanceof b
Allocation
new
Create a new object of a
class
new A()
Selection
? :
If Then selection
a ? b : c
2. GIỚI THIỆU TOÁN TỬ
Khi nói đến toán tử, chúng ta luôn liên tưởng đến thứ tự xử lý, cũng như
trong toán học, toán tử trong java cũng co độ ưu tiên add-subtract-multi-divide.
2.1. Toán tử AND
Khi thực hiện một việc tăng lên giá trò thì bạn sử dụng cú pháp như sau:
int i=0,j=0;
3-2
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
j=i++;// i tăng sau khi gán i vào j, chính vì vậy sau khi gán i vào j, j vẫn
không thay đổi
j=++i;// i tăng trước khi gán i vào j, chính vì vậy sau khi gán i vào j, j thay
đổi.
Ví dụ 3.1: Phép toán AND.
<%
int i=0,j=0;
j=i++;
out.println(“Value of j is ” + j);
j=++i;
out.println(“Value of j is ” + j);
%>
2.2. Toán tử Not: ~ And !
Toán tử ~ đảo nghòch tất cả các bit của tham số, còn toán tử ! đảo nghòch
giá trò của giá trò trước đó
Ví dụ 3.2: Phép toán ~ and !
<%
short i=32767;
boolean b=true;
out.println(“Value of ~ short is ” + ~i);
out.println(“Value of !b is ” +!b);
%>
2.3. Toán tử nhân và chia: * and /
Bạn có thể tham khảo ví dụ sau
Ví dụ 3.3: Phép toán * và /, + và -
<%
int i=767;
double j=10.5;
out.println(“Value of multi is ” + i*j);
out.println(“Value of divide is ” +i/5);
3-3
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
out.println(“Value of add is ” +i+5);
out.println(“Value of subtract is ” +i-5);
%>
2.4. Toán tử modulus: %
Khi chia một số cho một số, bạn cần kết quả là số dư của phép chia đó thì
dùng toán tử modulus
Ví dụ 3.4: Phép toán %
<%
int i=10;
int j=3;
out.println(“Value of i%j is ” + i%j);
%>
2.5. Toán tử quan hệ: >=,>,<,<=,==,!=
Khi cần so sánh kết quả giữa hai toán hạn với nhau, thông thường bạn nghó
đến phép toán so sánh như là bằng, lớn hơn, nhỏ hơn, ví dụ sau diễn giải cho
bạn các toán tử trên:
Ví dụ 3.5: Phép toán >,>=,<,<=,==,!=
<%
int i=10;
int j=3;
if(i>=j)
out.println(“result is true”);
else
out.println(“result is false”);
if(i!=j)
out.println(“result is not equals”);
else
out.println(“result is equals”);
%>
3-4
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
2.6. Toán tử && và ||
&& là toá tử and trong só học
|| là toán tử or trong số học
Hai toán tử này rất thường dùng trong khi lập trình trên Java, ví dụ dưới
đây diễn giải cho bạn đầy đủ hai toán tử này. Chú ý rằng khi sử dụng toán tử
đều có kèm phát biểu có điều kiện.
Ví dụ 3.6: Phép toán && và ||
<%
boolean b=true;
int j=3;
if((j>=3) &&(b!=true))
out.println(“result is true”);
if((j<3) ||(b==true))
out.println(“result is false”);
%>
2.7. Toán tử ?:
Toán tử này thay thế cho phát biểu có điều kiện if then else, khi bạn
cần lấy kết quả theo điều kiện nào đó, nếu có thể không cần phát biểu if-else,
thì hãy thay thế bằng toán tử ?:, cú pháp của chúng như sau:
str1=str2.equals(”khang”)?”Welcome to Java”:”Good bye JSP”;
Ví dụ 3.7: Phép toán ?:
<%
String str1=”Pham Huu Khang”;
String str2 =“Khang”;
out.println(“result is true”+ (str1.equals(str2)?”Welcome to
Java”:”Good bye JSP”));
%>
3-5
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
3. PHÉP GÁN
Khi gán một giá trò hay biến vào một biến trong Java, bạn phải dùng đến
phép gán, nhưng trong Java cũng giốngnhư trong C thì có những phép gán được
đơn giản hoá hay nói đúng hơn là chuẩn hoá để rút gọn lại trong khi viết.
3.1.
3.2.
3.3.
4.
Phép gán thông thường nhất như sau:
int j=i;
String str1 =” Hello!”;
boolean b=true;
Phép gán thêm một giá trò là 1
int k=0;
k++;
Phép gán thêm một với chính nó giá trò
int k=0,j=1;
k+=j;
tương tự như vậy chúng ta có k*=2, nghóa là k=k*2
PHÁT BIỂU CÓ ĐIỀU KIỆN
Các phat biểu có điều kiện như :
IF (điều kiện) { câu lệnh; }
IF (điều kiện) { câu lệnh; }ELSE { câu lệnh; }
switch (điều kiện)
{
case Value1
câu lệnh1;
break;
}
While (điều kiện)
Do - While (điều kiện)
Break
Continue
3-6
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
4.1. Phát biểu IF (điều kiện) { câu lệnh; }
Sử dụng phát biểu if để chọn lọc kết quả khi điều kiện đúng, ví dụ như sau:
Ví dụ 3.8: Phát biểu IF
<%
boolean b=true;
int j=3;
if((j>=3) &&(b!=true))
out.println(“result is true”);
if((j<3) ||(b==true))
out.println(“result is false”);
%>
4.2. Phát biểu IF (điều kiện) { câu lệnh; }ELSE { câu lệnh; }
Sử dụng phát biểu if để chọn lọc kết quả khi điều kiện đúng, và xuất ra kết
quả khi điều kiện sai, ví dụ như sau:
Ví dụ 3.9: Phát biểu IF - ELSE
<%
boolean b=true;
int j=3;
if((j>=3) &&(b!=true))
out.println(“result is true”);
else
out.println(“result is false”);
%>
4.3. Phát biểu Switch (điều kiện)
Phát biểu switch là phần của phát biểu if else nhiều nhánh, khi có nhiều
điều kiện chọn lựa thì bạn sử dụng switch, cú pháp của chúng như sau:
Switch(điều kiện)
{
3-7
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
case Value1
câu lệnh1;
break;
case Value2
câu lệnh2;
break;
…
default:
câu lệnh default;
}
Break: dùng để thoát ra khỏi switch khi thoả một case nào đó trong switch,
default: khi không có bất kỳ giá trò nào thoản trong các case thì giá trò cuối cùng
là defaule statement
Ví dụ 3.10: Phát biểu Switch
<%
int j=3;
switch(j)
{
case 1:
out.println(“Today is Monday”);
break;
case 2:
out.println(“Today is Thurday”);
break;
case 3:
out.println(“Today is Tueday”);
break;
default:
out.println(“Today is Sunday”);
}
%>
3-8
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
4.4. Phát biểu While(điều kiện)
Phát biểu while thực thi những câu lệnh trong while khi điều kiện cò đúng.
Ví dụ 3.11: Phát biểu While
<%
int j=1;
while(j<=30)
{
out.println(“Number of j” + j);
j++;
%>
4.5. Phát biểu For
Phát biểu for dùng cho vòng lặp có giới hạn cho trước, cú pháp có dạng như
sau:
int i=0;
for(i=1;i<10;i++)
{
câu lệnh;
}
Ví dụ 3.12: Phát biểu For
<%
int mang[]={3,5,6,7,8,9};
for (int j=0;j<mang.length;j++)
{
out.println(“Phan tu mang “+j+” : ”+mang[j]);
}
%>
TÓM TẮT 5.
Trong bài học này chúng tôi giới thiệu đến cho các bạn các phép gán, các toán
tử, đồng thời giúp cho các bạn hiểu thêm vào các phát biểu có điều kiện như
while, for, switch, ….
3-9
COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Bài 4
ĐỐI TƯNG SESSION, REQUEST, RESPONSE
TRONG JSP
Chương này chúng ta sẽ làm quen các đối tượng thường sử dụng trong
quá trình thiết kế trang JSP.
Những vấn đề chính sẽ được đề cập trong bài học này
9 Đối tượng Request.
9 Đối tượng Response.
ĐỐI TƯNG REQUEST
Khi muốn lấy giá trò từ một thẻ nhập liệu đệ trình (submit) từ form hay từ chuỗi QueryString, điều
này có nghóa là cho phép lấy giá trò từ client gởi lên server, đối trường hợp này bạn sử dụng đối
tượng Request. Đối tượng này thuộc lớp javax.servlet.ServletRequest.
1.
1.1. Request với từ thẻ nhập liệu
Ví dụ chúng ta khai báo trang HTML hay JSP có thẻ form, bên trong thẻ form khai báo các thẻ
nhập liệu như input, select, textarea như ví dụ 4-1.
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>JSP's Objects</title>
<LINK href="style.css" rel=stylesheet>
<LINK href="newstyle.css" rel=stylesheet>
<META HTTP-EQUIV="Content-Type"
CONTENT="text/html ; charset=utf-8">
</head>
<body leftmargin="0" topmargin="0" >
<tr><td></td><td>Registration</td></tr>
<form name=form1 action=ex2.jsp method=post>
<table border=0>
<tr>
<td>Name: </td><td><input type=text name=txtname></td></tr>
<tr><td>Province: </td><td><select name=province>
<option value=HAN> Ha Noi </option>
<option value=HUE> Hue </option>
<option value=HCM> Ho Chi Minh </option>
</select></td></tr>
<tr><td>Description: </td><td>
<textarea name=txtdesc cols=30 rows=5></textarea></td>
</tr>
<tr><td></td><td><input type=submit value="Submit"></td></tr>
</table>
</form>
</body>
</html>
3-1