12. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
out.println(“Length of Account is ” + sum);%>
4.2. Chuyeån sang kieåu chuoãi
Khi baïn caàn chuyeãn ñoåi töø kieåu soá lieäu khaùc sang kieåu chuoãi, thì caàn khai baùo nhö
sau:
String.valueOf(data);
Ví duï chuyeån ñoåi kieåu sang kieåu chuoãi
<%
double account[]={88,11,2.5,77};
String str;
str=String.valueOf(account[2]);
out.println(“String of Account 2 is ” + str);
%>
4.3. Noái chuoãi
Khi caàn thieát noái hai hay nhieàu chuoåi laïi vôùi nhau, baïn söû duïng phöông thöùc
concat, thoâng thöôøng chuùng ta hay dung pheùp toaùn + ñeå noái hai hay nhieàu chuoãi laïi vôùi
nhau.
Cuù phaùp concat nhö sau:
Str1.conact(Str2);
Keát noái chuoãi
<%
String str1=”Select * from tblemplyers”;
String str2=” where paid=1”;
str1=str1.conact(str2);
out.println(“String of Str1 is ” + str1);
%>
4.4. Chuoãi con
Khi baïn caàn laáy moät chuoãi con trong chuoãi lôùn, baïn caàn duøng ñeán phöông thöùc vôùi cuù
phaùp nhö sau:
str1=str2.substring(start,chieàu daøi)
Ví duï khai baùo ñeå laáy chuoãi con
<%
String str1=”Select * from tblemplyers”;
String str2=str1.substring(9,5);
out.println(“Sub String of Str1 is ” + str2);
Giaùo vieân: Phaïm Höõu Khang
13. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
%>
Nhöng neáu coù nhu caàu laáy ra moät kyù töï naøo ñoù trong chuoãi, thì baïn khoâng caàn duøng
substring maø chæ söû duïng cuù phaùp charAt nhö sau:
Char=Str1.charAt(number);
Chaúng haïn, khai baùo ñeå laáy 1 kyù töï
<%
String str1=”Select * from tblemplyers”;
String str2=str1.charAt(5);
Out.println(“charAt of Str1 is ” + str2);
%>
4.5. Chuyeãn ñoåi String sang Array
Thoâng thöôøng trong khi tính toaù chuoãi, ñoâi khi cuõng caàn ñeán chuùng nhö moät maõng,
lyù do ñoù chuùng ta coù phöông thöùc chuyeãn ñoåi nhö sau:
char char1[]=str1.toCharArray();
Chuyeån chuoãi sang maûng
<%
String str1=”Select * from tblemplyers”;
char char1=str1.toCharArray();
out.println(“Char of Str1[1] is ” + char1[5]);
%>
4.6. Thay theá chuoãi
Khi caàn thay theá moät chuoãi con naøo ñoù trong chuoãi meï thaønh chuoãi con khaùc, chuùng
ta caàn ñeán phöông thöùc replace coù cuù phaùp nhö sau:
str1=str2.replace(“’”,”’’”);
str1=str2.replace(“a”,”k”);
Ví duï khai baùo thay theá chuoãi
<%
String str1=”Select * from tblemplyurs”;
str1= replaceString (str1,“u”,”o”);
str1= replaceString (str1,“’”,”’’”);
out.println(“Char of Str1 is ” + str1);
%>
Trong ñoù, khai baùo phöông thöùc replaceString nhö sau
Giaùo vieân: Phaïm Höõu Khang
14. 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í kyù töï trong chuoãi
Khi caàn bieát vò trí cuõa kyù töï hay chuoãi con naøo ñoù trong chuoãi, baïn söû duïng phöông
thöùc sau:
virti=str1.indexOf(“select”);
virti=str1.indexOf(“o”);
Chaúng haïn tìm vò trí chuoãi hay kyù töï trong Chuoãi
<%
Giaùo vieân: Phaïm Höõu Khang
15. 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. Kieåu chöõ
Neáu muoán chuyeãn ñoåi chöõ hoa sang thöôøng hay ngöôïc laïi, thì baïn duøng phöông thöùc
coù cuù phaùp nhö sau:
Töø hoa sang thöôøng: str1.toLowerCase();
Töø thöôøng saung hoa: str1.toUpperCase();
Ví duï
<%
String str1=”Select * from tblemplyors”;
str1=str1.toLowerCase();
out.println(“LowerCase is ” + str1);
str1=str1.toUpperCase();
out.println(“UpperCase is ” + str1);
%>
5. TOÙM TAÉT
Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùch khai baùo bieán, caùc kieåu
döõ lieäu, ñoàng thôøi giuùp cho caùc baïn nhöõng phöông thöùc treân chuoãi vaø kyù töï trong JSP.
Giaùo vieân: Phaïm Höõu Khang
16. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Baøi 3
PHEÙP TOAÙN VAØ PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN
TRONG JSP
Chöông naøy chuùng ta seõ laøm quen vaø tìm hieåu toaùn töû, phaùt bieåu
coù ñieàu kieän vaø voøng laëp cuûa JSP.
Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
Toaùn töû.
Pheùp gaùn trong Java
Phaùt bieåu coù ñieàu khieån.
Voøng laëp.
1. KHAÙI NIEÄM VEÀ CAÙC TOAÙN TÖÛ TRONG JSP
Khi baïn laäp trình treân JSP laø söû duïng cuù phaùp cuûa ngoân ngöõ Java. Töông
töï nhö nhöõng ngoân ngöõ laäp trình khaùc, toaùn töû giuùp cho baïn thöïc hieän nhöõng
pheùp toaùn nhö soá hoïc hay treân chuoãi.
Baûng sau ñaây giuùp cho baïn hình dung ñöôïc nhöõng toaùn töû söû duïng tron
Java
Java ñòng nghóa toaù töû toaùn hoïc, quan heä, soá hoïc, bit, caste, class, selection,
vaø noät soù pheùp toaùn gaùn.
Loaïi toaùn töû Toaùn töû Dieãn giaûi Ví duï
+ Addition a + b
- Subtraction a - b
Arithmetic * Multiplication a * b
/ a / b
Division
% a % b
Modulus
> Greater than a > b
< Less than a < b
>= Greater than or equal a >= b
Relational <= a <= b
Less than or equal
!= a != b
== Not equal a == b
Equal
! !a
Logical && Not a && b
huukhang@yahoo.com 3-1
17. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
|| AND a || b
OR
~ Complement ~a
& AND a & b
Bit-
| OR a | b
^ Exclusive OR a ^ b
manipulation <<
Left shift
a << b
>> a >> B
>>> Right shift a >>> b
Zero-filled right shift
Assignment
= Increment and assign a = b
++ Decrement and assign a++
-- Add and assign a--
+= Subtract and assign a += b
-= a -= b
Multiply and assign
*= a *= b
/= Divide and assign a /= b
Assignment %= Take modulus and assign a %= b
|= OR and assign a |= b
&= AND and assign a &= b
^= XOR and assign a ^= b
<<= a <<= b
>>= Left shift and assign a >>= b
>>>= Right shift and assign a >>>= b
Zero-filled left shift and
assign
Caste (type) Convert to type (char) b
instance
Instance of Is instance of class? a instanceof b
Create a new object of a
Allocation new new A()
class
Selection ? : If...Then selection a ? b : c
2. GIÔÙI THIEÄU TOAÙN TÖÛ
Khi noùi ñeán toaùn töû, chuùng ta luoân lieân töôûng ñeán thöù töï xöû lyù, cuõng nhö
trong toaùn hoïc, toaùn töû trong java cuõng co ñoä öu tieân add-subtract-multi-divide.
2.1. Toaùn töû AND
Khi thöïc hieän moät vieäc taêng leân giaù trò thì baïn söû duïng cuù phaùp nhö sau:
int i=0,j=0;
huukhang@yahoo.com 3-2
18. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
j=i++;// i taêng sau khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j vaãn
khoâng thay ñoåi
j=++i;// i taêng tröôùc khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j thay
ñoåi.
Ví duï 3.1: Pheùp toaù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. Toaùn töû Not: ~ And !
Toaùn töû ~ ñaûo nghòch taát caû caùc bit cuûa tham soá, coøn toaùn töû ! ñaûo nghòch
giaù trò cuûa giaù trò tröôùc ñoù
Ví duï 3.2: Pheùp toaùn ~ and !
<%
short i=32767;
boolean b=true;
out.println(“Value of ~ short is ” + ~i);
out.println(“Value of !b is ” +!b);
%>
2.3. Toaùn töû nhaân vaø chia: * and /
Baïn coù theå tham khaûo ví duï sau
Ví duï 3.3: Pheùp toaùn * vaø /, + vaø -
<%
int i=767;
double j=10.5;
out.println(“Value of multi is ” + i*j);
out.println(“Value of divide is ” +i/5);
huukhang@yahoo.com 3-3
19. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
out.println(“Value of add is ” +i+5);
out.println(“Value of subtract is ” +i-5);
%>
2.4. Toaùn töû modulus: %
Khi chia moät soá cho moät soá, baïn caàn keát quaû laø soá dö cuûa pheùp chia ñoù thì
duøng toaùn töû modulus
Ví duï 3.4: Pheùp toaùn %
<%
int i=10;
int j=3;
out.println(“Value of i%j is ” + i%j);
%>
2.5. Toaùn töû quan heä: >=,>,<,<=,==,!=
Khi caàn so saùnh keát quaû giöõa hai toaùn haïn vôùi nhau, thoâng thöôøng baïn nghó
ñeán pheùp toaùn so saùnh nhö laø baèng, lôùn hôn, nhoû hôn, ví duï sau dieãn giaûi cho
baïn caùc toaùn töû treân:
Ví duï 3.5: Pheùp toaù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”);
%>
huukhang@yahoo.com 3-4
20. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
2.6. Toaùn töû && vaø ||
&& laø toaù töû and trong soù hoïc
|| laø toaùn töû or trong soá hoïc
Hai toaùn töû naøy raát thöôøng duøng trong khi laäp trình treân Java, ví duï döôùi
ñaây dieãn giaûi cho baïn ñaày ñuû hai toaùn töû naøy. Chuù yù raèng khi söû duïng toaùn töû
ñeàu coù keøm phaùt bieåu coù ñieàu kieän.
Ví duï 3.6: Pheùp toaùn && vaø ||
<%
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. Toaùn töû ?:
Toaùn töû naøy thay theá cho phaùt bieåu coù ñieàu kieän if.. then .. else, khi baïn
caàn laáy keát quaû theo ñieàu kieän naøo ñoù, neáu coù theå khoâng caàn phaùt bieåu if-else,
thì haõy thay theá baèng toaùn töû ?:, cuù phaùp cuûa chuùng nhö sau:
str1=str2.equals(”khang”)?”Welcome to Java”:”Good bye JSP”;
Ví duï 3.7: Pheùp toaùn ?:
<%
String str1=”Pham Huu Khang”;
String str2 =“Khang”;
out.println(“result is true”+ (str1.equals(str2)?”Welcome to
Java”:”Good bye JSP”));
%>
huukhang@yahoo.com 3-5
21. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
3. PHEÙP GAÙN
Khi gaùn moät giaù trò hay bieán vaøo moät bieán trong Java, baïn phaûi duøng ñeán
pheùp gaùn, nhöng trong Java cuõng gioángnhö trong C thì coù nhöõng pheùp gaùn ñöôïc
ñôn giaûn hoaù hay noùi ñuùng hôn laø chuaån hoaù ñeå ruùt goïn laïi trong khi vieát.
3.1. Pheùp gaùn thoâng thöôøng nhaát nhö sau:
int j=i;
String str1 =” Hello!”;
boolean b=true;
3.2. Pheùp gaùn theâm moät giaù trò laø 1
int k=0;
k++;
3.3. Pheùp gaùn theâm moät vôùi chính noù giaù trò
int k=0,j=1;
k+=j;
töông töï nhö vaäy chuùng ta coù k*=2, nghóa laø k=k*2
4. PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN
Caùc phat bieåu coù ñieàu kieän nhö :
IF (ñieàu kieän) { caâu leänh; }
IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; }
switch (ñieàu kieän)
{
case Value1
caâu leänh1;
break;
}
While (ñieàu kieän)
Do - While (ñieàu kieän)
Break
Continue
huukhang@yahoo.com 3-6
22. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
4.1. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; }
Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, ví duï nhö sau:
Ví duï 3.8: Phaùt bieå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. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; }
Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, vaø xuaát ra keát
quaû khi ñieàu kieän sai, ví duï nhö sau:
Ví duï 3.9: Phaùt bieå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. Phaùt bieåu Switch (ñieàu kieän)
Phaùt bieåu switch laø phaàn cuûa phaùt bieåu if else nhieàu nhaùnh, khi coù nhieàu
ñieàu kieän choïn löïa thì baïn söû duïng switch, cuù phaùp cuûa chuùng nhö sau:
Switch(ñieàu kieän)
{
huukhang@yahoo.com 3-7
23. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
case Value1
caâu leänh1;
break;
case Value2
caâu leänh2;
break;
…
default:
caâu leänh default;
}
Break: duøng ñeå thoaùt ra khoûi switch khi thoaû moät case naøo ñoù trong switch,
default: khi khoâng coù baát kyø giaù trò naøo thoaûn trong caùc case thì giaù trò cuoái cuøng
laø defaule statement
Ví duï 3.10: Phaùt bieå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”);
}
%>
huukhang@yahoo.com 3-8
24. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
4.4. Phaùt bieåu While(ñieàu kieän)
Phaùt bieåu while thöïc thi nhöõng caâu leänh trong while khi ñieàu kieän coø ñuùng.
Ví duï 3.11: Phaùt bieåu While
<%
int j=1;
while(j<=30)
{
out.println(“Number of j” + j);
j++;
%>
4.5. Phaùt bieåu For
Phaùt bieåu for duøng cho voøng laëp coù giôùi haïn cho tröôùc, cuù phaùp coù daïng nhö
sau:
int i=0;
for(i=1;i<10;i++)
{
caâu leänh;
}
Ví duï 3.12: Phaùt bieå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]);
}
%>
5. TOÙM TAÉT
Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùc pheùp gaùn, caùc toaùn
töû, ñoàng thôøi giuùp cho caùc baïn hieåu theâm vaøo caùc phaùt bieåu coù ñieàu kieän nhö
while, for, switch, ….
huukhang@yahoo.com 3-9
25. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Baøi 4
ÑOÁI TÖÔÏNG SESSION, REQUEST, RESPONSE
TRONG JSP
Chöông naøy chuùng ta seõ laøm quen caùc ñoái töôïng thöôøng söû duïng trong
quaù trình thieát keá trang JSP.
Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
Ñoái töôïng Request.
Ñoái töôïng Response.
1. ÑOÁI TÖÔÏNG REQUEST
Khi muoán laáy giaù trò töø moät theû nhaäp lieäu ñeä trình (submit) töø form hay töø chuoãi QueryString, ñieàu
naøy coù nghóa laø cho pheùp laáy giaù trò töø client gôûi leân server, ñoái tröôøng hôïp naøy baïn söû duïng ñoái
töôïng Request. Ñoái töôïng naøy thuoäc lôùp javax.servlet.ServletRequest.
1.1. Request vôùi töø theû nhaäp lieäu
Ví duï chuùng ta khai baùo trang HTML hay JSP coù theû form, beân trong theû form khai baùo caùc theû
nhaäp lieäu nhö input, select, textarea nhö ví duï 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>
huukhang@yahoo.com 3-1
26. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM
Khi ngöôøi söû duïng goïi trang JSP naøy treân trình duyeät vaø nhaäp caùc thoâng tin yeâu caàu nhö hình 4-1.
Hình 4-1: Nhaäp lieäu
Ñeå laáy ñöôïc giaù trò cuûa caùc phaàn ñaõ nhaäp treân hình 4-1, chuùng ta söû duïng phöông thöùc
getParameter cuûa ñoái töôïng request nhö ví duï 4-2.
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>JSP</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" marginwidth="0" marginheight="0">
<h4>Confirmation</h4>
<hr size=1><br>
<%
String name=request.getParameter("txtname");
String province=request.getParameter("province");
String desc=request.getParameter("txtdesc");
out.println("Name is "+ name +"<br>");
out.println("Province is " + province +"<br>");
out.println("Description is " + desc +"<br>");
%>
</body>
</html>
Keát quaû trình baøy nhö hình 4-2 neáu thoâng tin nhaäp gioáng nhö hình 4-1.
huukhang@yahoo.com 3-2