Giáo trình Java Server Pages

COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
Moân hoïc: Java Server Pages  
Baøi 1  
Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong khoaù hoïc:  
9 Caøi ñaët JRUN.  
o Caøi ñaët JDK1.3.  
o Caøi ñaët JRUN.  
o Caáu hình öùng duïng JSP  
9 Giôùi thieäu JSP.  
o Script.  
o Khai baùo chæ muïc.  
1. CAØI ÑAËT JRUN  
1.1. Caøi ñaët JDK  
Ñeå caáu hình JRUN 4.0 treân Windows, tröôùc tieân baïn caøi ñaët boä JDK1.3 hay JDK  
1.4 leân ñóa cöùng C hay D, sau khi caøi ñaët thaønh coâng baïn neân boot maùy laïi, trong oå ñóa seõ  
xuaát hieän thö muïc JDK1.3 vôùi caùc thö vieän cuûa chuùng.  
1.2. Caøi ñaët JRUN  
Ñeå caøi ñaët JRUN, baïn mua ñóa CD vôùi öùng duïng JRUN 4.0, sau ñoù caøi ñaët chuùng  
vaøo maùy coù caøi ñaët JDK. Trong khi caøi ñaët thì JRUN coù yeâu caàu choøn thö muïc nôi baïn caøi  
ñaët JDK.  
Trong khi caøi ñaët JRUN, coù theå yeâu caàu baïn caøi ñaët chuùng döôùi daïng moät dòch vuï  
cuûa hôïp ñoàng haønh (maëc ñònh laø Yes), khi ñoù JRUN seõ caøi ñaët vôùi hai dòch vuï laø JRUN  
Admin vaø JRUN Default trong cöûa soå Services (trong Control Panel hay Administrative  
Tools) cuûa heä ñieàu haønh Windows nhö hình 1-1 sau:  
Hình 1-1: Dòch vuï JRUN trong Servies  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
Baïn phaûi baûo daûm raèng chuùng ñang ôû cheá ñoä Started, trong tröôøng hôïp ñang ôû cheá  
ñoä STOP thì baïn choïn dòch vuï naøy vaø nhaán nuùt Start.  
Neáu JRUN ñang ôû cheá ñoä Start thì baïn seõ goõ http://localhost:8000 treân trình duyeät  
vaø cung caáp username cung vôùi password ñeå ñaêng nhaäp vaøo maøn hình uqaûn trò JRUN neáu  
muoán chöông.  
Neáu JRUN Default Server ñang ôû cheá ñoä Start thì baïn coù theå goõ ñòa chæ sau treân  
browser http://localhost:8100 ñeå chaïy öùng duïng maëc ñònh cuûa JSP.  
Ngoaøi ra, neáu baïn khoâng caøi ñaët JRUN nhö moät dòch vuï cuûa heä ñieàu haønh Windows  
thì moãi laàn baïn muoán chaïy öùng duïng JSP thì phaøi Start noù leân baèng caùch choïn Start |  
Programs | JRUN 4.0 | JRUN Default Server hay JRUN Admin Server roi sau do khôûi  
ñoäng JRUN Default Server, phaàn naøy seõ trình baøy trong phaàn caáu hình.  
1.3. Caáu hình öùng duïng JSP  
Ñeå trieäu goïi trang JSP (teân môû roäng .jsp) treân trình duyeät, baïn coù theå caáu hình moät  
torng hai caùch sau:  
1.3.1. Caùch 1:  
Neáu khoâng muoán taïo öùng duïng Web cho rieâng mình maø söû duïng thö muïc maëc ñònh  
thì baïn coù theå khai baùo caùc trang JSP vaø boû vaøo thö muïc JRUN4/Servers/Defaul/ default-  
ear/ default-war/.  
Chaúng haïn, trong tröôøng hôïp naøy chuùng ta khai baùo trang test.jsp vôùi noäi dung nhö  
sau:  
<HTML>  
<HEAD>  
<title>Test JSP</title>  
</HEAD>  
<BODY>  
<%=”Hello JSP”%>  
</BODY>  
</HTML>  
Ñeå kieåm tra trang JSP naøy, baïn khai baùo treân trình duyeät nhö sau:  
Tuy nhieân, baïn coù theå khai baùo caùc thö muïc con beân trong cuûa thö muïc maëc ñònh  
naøy, sau ñoù trieäu goïi treân trình duyeät theo teân thö muïc, chaúng haïn  
http://localhost:8100/qlda/danhmucphongban.jsp.  
1.3.2. Caùch 2:  
Ñeå caáu hình öùng duïng JSP treân JRUN baïn coù theå thao taùc theo caùc böôùc sau:  
1. Baïn ñaêng nhaäp vaøo JRUN Admin vôùi http://localhost:8000 baèng caùch cung caáp  
username/pwd nhö hình 1-2 sau.  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
Hình 1-2: Ñaêng nhaäp JRUN Admin  
2. Taïo thö muïc löu tröõ web site treân oå ñóa, chaúng haïn trong tröôøng hôïp naøy khai  
baùo thö muïc jspsample nhö hình 1-3.  
Hình 1-3: Khai baùo thö muïc ñeå löu tröõ trang JSP  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
3. Choïn vaøo menu Home, JRUN seõ lieät keâ danh saùch caùc server ñang caáu hình treân  
JRUN nhö hình 1-4.  
Hình 1-4: Danh saùch caùc Server treân JRUN  
4. Choïn URL coù teân laø Create New Server treân menu naèm ôû ñaàu trang, trong cöûa  
soå vöøa xuaát hieän (Creating a New JRun Application Server) baïn cung caáp caùc  
tham soá trong hình 1-5 nhö sau:  
Host Name:localhost (hoaëc ñòa chæ IP, teân server)  
JRun Server Name: Choïn teân cuûa öùng duïng, ví duï trong tröôøng hôïp naøy choïn  
jspsample.  
JRun Server Directory: Thö muïc cuûa öùng duïng baïn vöøa taïo ra, chaúng haïn  
D:/jspsample (hay D:/thuvien/hr).  
5. Nhaán nuùt Create chôø trong giaây laùt cöûa soå cuûa HOME page seõ xuaát hieän teân öùng  
duïng web baïn vöøa taïo (jspsample), nhaán nuùt Start ñeå khôûi ñoäng öùng duïng naøy.  
Trong tröôøng hôïp phaùt sinh loãi do port bò ñuïng ñoä, maëc ñònh cuûa site default laø  
8100 (admin laø 8000), khi baïn taïo öùng duïng xong, moät port naøo ñoù ñöôïc gaùn cho  
öùng duïng cuûa baïn vì duï nhö 8101 nhö hình 1-6. Tuy nhieân, baïn coù theå thay ñoåi  
port naøy baèng caùch edit ñeå caäp nhaät.  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
Hình 1-5: Taïo website  
Hình 1-6: Taïo öùng duïng JSP thaønh coâng  
Sau khi taïo thaønh coâng, teân öùng duïng vöøa taïo seõ xuaát hieän trong danh saùch server  
cuûa JRUN nhö hình 1-7.  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
Hình 1-7: Teân site vöøa taïo  
Xem treân baûng danh saùch server öùng vôùi jspsample coù phaàn HTTP Port laø 8101,  
Hình 1-8: Keát quaû trang test.jsp  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
2. GIÔÙI THIEÄU JSP  
2.1. Yeâu caàu  
JSP döïa treân cuù phaùp cuûa ngoân ngöõ laäp trình Java, chính vì vaäy khi laøm vieäc vôùi  
JSP baïn phaûi laø ngöôøi coù kieán thöùc veà ngoân ngöõ naøy. Neáu baïn xaây döïng öùng duïng JSP  
coù keát noái cô sôû döõ lieäu thì kieán thöùc veà cô sôû döõ lieäu SQL Server hay Oracle laø ñieàu caàn  
thieát.  
2.2. Giôùi thieäu  
JSP laø kòch baûn trình chuû (Server Script) ñöôïc chaïy treân neàn JDK 1.3 trôû veà sau,  
cuøng vôùi öùng duïng Web Server ñeå quaûn lyù chuùng. Web Server thöôøng söû duïng laø Tomcate,  
Java Web Server, JRUN, WebLogic vaø Apache, ...  
Tieàn thaân cuûa JSP laø xuaát phaùt töø Java Servlet, khi laøm vieäc vôùi Java Servlet thì  
haàu heát caùc laäp trình viweân gaëp khoù khaên khi xuaát nhaäp döõ lieäu, cuï theå laø giao dieän vôùi  
ngöôøi söû duïng. Chính vì vaäy SUN Microsystem cung caáp kòch baûn JSP laø phaàn môû roäng  
cuûa Java Servlet ñeå cho pheùp quaù trình laäp trình öùng duïng Web trôû neân ñôn giaûn hôn.  
Tuy nhieân, nhöõng trang JSP naøy khi bieân dòch ñeà thoâng qua trang trung gian laø Java  
Sevrlet.  
2.3. Bieân dòch trang JSP  
Khi ngöôøi söû duïng goïi trang JSP laàn ñaàu tieân, Web Server trieäu goïi trình bieân dòch  
dòch trang JSP (trong tröôøng hôïp naøy laø JDK) thaønh taäp tin Java, keá ñeán taäp tin java  
(Java Servlet) naøy seõ bieân dòch ra Class . Sau ñoù, trang class thöïc thi vaø traû veà keát quaû  
cho ngöôøi söû duïng nhö hình 1-9.  
Java  
Engine  
Call  
Parse  
(JSK)  
Web  
Server  
Request  
Request  
Taäp tin  
JSP  
Taäp tin  
Java  
Servlet  
Instantiate  
Compile  
Response  
Response  
Taäp tin  
Class  
Instantiate  
Process and  
Render  
Hình 1-10: Quaù trình bieân dòch trang JSP  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM  
2.4. Kòch baûn (script)  
Noäi dung cuûa JSP coù theå khai baùo laãn loän vôùi HTML, chính vì vaäy baïn söû duïng caëp  
daáu <%= %> ñeå khai baùo maõ JSP. Chaúng haïn, chuùng ta khai baùo:  
<br>  
1-Giaù trò bieán Str: <%=str%>  
2-Giaù trò bieán i: <%=i%>  
3-Giaù trò cuõ theå: <%=10%>  
Trong tröôøng hôïp coù nhieàu khai baùo, baïn söû duïng Scriptlet, ñeàu naøy coù nghóa laø söû  
duïng caëp daáu treân nhö <%%> vôùi caùc khai baùo JSP vôùi cuù phaùp cuûa Java nhö sau:  
<%  
int i=0;  
String str=”Select * from tblABC”;  
out.println(str);  
%>  
-Khai baùo treân laø Scriptlet  
Giaù trò cuûa i: <br>  
<%=i%> -Khai baùo naøy laø Script  
3. KEÁT LUAÄN  
Trong baøi naøy, chuùng ta taäp trung tìm hieåu caùch caøi ñaët JSK vaø JRUN, sau ñoù caáu  
hình öùng duïng JSP trong JRUN hay söû duïng caáu hình maëc ñònh cuûa chuùng.  
Ngoaøi ra, baïn laøm quen caùch khai baùo maõ JSP trong trang .jsp cuøng vôùi script hay  
scriptlet.  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTER  
WWW.HUUKHANG.COM  
Moân hoïc: Java Server Pages  
Baøi 2  
Baøi hoïc naøy chuùng ta seõ laøm quen vaø tìm hieåu cuù phaùp vaø moät  
soá phöông thöùc cô baûn cuûa JSP:  
9 Caâu leänh.  
9 Bieán vaø kieåu döõ lieäu.  
9 Haèng.  
9 Baûng daõy  
9 Moät soá phöông thöùc cô baûn  
1. KHAÙI NIEÄM VEÀ CUÙ PHAÙP JSP  
Cuù phaùp JSP chính laø cuù phaùp trong ngoân ngöõ Java, caùc baïn laøm quen vôùi ngoân  
ngöõ Java thì coù lôïi theá trong laäp trình JSP.  
Ñeå laäp trình baèng ngoân ngöõ JSP caàn chuù yù nhöõng ñieåm sau:  
™ Cuoái caâu leänh coù daáu ;  
™ Moãi phöông thöùc ñeàu baét ñaàu { vaø ñoùng baèng daáu }  
™ Khi khai baùo bieán thì kieãu döõ lieäu naèm tröôùc teân bieán  
™ Neân coù giaù trò khôûi ñaàu cho bieán khai baùo  
™ Phaûi coù chi chuù (comment) cho moãi feature môùi  
™ Söû duïng daáu // ñeå giaûi thích cho moãi caâu ghi chuù  
™ Söû duïng /* vaø */ cho moãi ñoaïn ghi chuù  
™ Khai baùo bieán coù phaân bieät chöõ hoa hay thöôøng  
™ Teân file vaø lôùp cuõng nhö nhö khai baùo bieán  
2. KHAI BAÙO BIEÁN  
Khi thöïc hieän moät vieäc khai baùo bieán trong java, baïn caàn phaûi bieát tuaân thuû quy  
ñònh nhö: kieãu döõ lieäu tröôùc teân bieán vaø coù giaù trò khôûi ñaàu  
Xuaát phaùt töø nhöõng ñieàu ôû treân, khai baùo bieá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. KIEÅU DÖÕ LIEÄU  
Baûng caùc kieåu döõ lieäu thoâng thöôøng  
Type  
Bytes  
2
Range  
Boolean  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTER  
WWW.HUUKHANG.COM  
Byte  
1
2
Char  
Double  
8 cho aâm, 4  
soá döông  
Float  
4
4
8
2
Int  
Long  
Short  
Connection  
Statement  
ResultSet  
3.1. Kieåu Array  
Kieãu maûng laø moät maûng soá lieäu do ngöôøi duøng ñònh nghóa, chuùng coù cuù phaùp nhö  
sau:  
double account[]; // maûng soá double  
hay coù theå khai baùo nhö sau  
double account[]={0,0,1,45.95,6.5};  
thöù töï index trong maûng baét ñaàu töø vò trí 0. Neáu nhö baïn khai baùo maûng hai chieàu, thì  
cuù phaùp khai baùo nhö sau:  
double account[][]=new double[2][5];  
Chaúng haïn khai baù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 baùo bieán String  
<%  
String strSQL=”select * from tblusers ”;  
String strWhere=” where active=0”;  
Giaùo vieân: Phaïm Höõu Khang  
COMPUTER LEARNING CENTER  
WWW.HUUKHANG.COM  
out.println(“SQL Statement is ” + strSQL+strWhere );  
%>  
Khai baùo vôùi nhieàu loaïi döõ lieä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. CAÙC PHÖÔNG THÖÙC VAØ PHÖÔNG THÖÙC TRONG JAVA  
4.1. Phöông thöùc traû veà chieàu daøi maûng  
Khi quan taâm ñeán chieàu daøi cuûa maûng thì baïn caàn theo cuù phaùp sau:  
Array.length  
Giaû söû raèng, baïn khai baùo bieán vôùi chieàu daøi maõng moät vaø hai chieàu  
<%  
double account[]={88,11,2.5,77};  
double sum;  
sum=account.length;  
Giaùo vieân: Phaïm Höõu Khang  
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  
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  
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  
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  
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  
9 Toaùn töû.  
9 Pheùp gaùn trong Java  
9 Phaùt bieåu coù ñieàu khieån.  
9 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
a
a
a
+
-
*
/
b
b
b
b
Subtraction  
Multiplication  
Division  
Arithmetic  
a % b  
Modulus  
Greater than  
Less than  
Greater than or equal  
Less than or equal  
Not equal  
>
<
>=  
<=  
!=  
==  
a
a
a
a
a
>
<
>=  
<=  
!=  
b
b
b
b
b
Relational  
a == b  
Equal  
!
&&  
!a  
a
Logical  
Not  
&&  
b
3-1  
COMPUTER LEARNING CENTER  
WWW.HUUKHANG.COM  
||  
a || b  
AND  
OR  
Complement  
AND  
OR  
Exclusive OR  
Left shift  
Right shift  
Zero-filled right shift  
~
&
|
^
<<  
>>  
>>>  
~a  
a
a
a
a
a
&
|
^
<<  
>>  
b
b
b
b
B
Bit-  
manipulation  
a >>> b  
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
a
a
a
a
a
a
+=  
-=  
*=  
/=  
%=  
|=  
&=  
^=  
<<=  
>>=  
b
b
b
b
b
b
b
b
b
b
Assignment  
a
a
a
<<=  
>>=  
>>>=  
a >>>= b  
(type)  
(char) b  
Caste  
Convert to type  
instance  
of  
a instanceof b  
Instance  
Is instance of class?  
Create a new object of a  
class  
new  
? :  
new A()  
Allocation  
Selection  
a ? b : c  
If...Then selection  
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;  
3-2  
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);  
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. 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”);  
%>  
3-4  
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”));  
%>  
3-5  
Tải về để xem bản đầy đủ
pdf 118 trang baolam 07/05/2022 6860
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Java Server Pages", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_java_server_pages.pdf