給大家帖個(gè)自己的總結(jié) 客戶端(client)與服務(wù)器端(server)的概念
服務(wù)器:廣義地說(shuō),服務(wù)器分兩種(硬件服務(wù)器、軟件服務(wù)器) 硬件服務(wù)器:指相對(duì)PC機(jī)而言,性能和穩(wěn)定性較好的、采用特殊硬件的計(jì)算機(jī)。 軟件服務(wù)器:通俗的說(shuō),就是指安裝了某種服務(wù)軟件,并能提供相應(yīng)的服務(wù)的機(jī)器,我們稱(chēng)之為服務(wù)器。 服務(wù)軟件有很多種,常見(jiàn)的有: WWW服務(wù)的軟件:pWS、IIS、APACHE J2EE中間件應(yīng)用服務(wù)器:websphere、silverstream JSP引擎(弱的WWW服務(wù)功能):TOMCAT,resin,weblogic,jrun SMTP、 POP3:iis的smtp,exchange,lotus domino FTP:iis所自帶 客戶端:相對(duì)服務(wù)器來(lái)說(shuō),就是享受了某種服務(wù)的一方,被稱(chēng)之為客戶端。但若要享有某種服務(wù)也必須安裝相應(yīng)的軟件, 如(IE/NETSCAPE、OUTLOOK/FOXMAIL、CUTEFTP)
數(shù)據(jù)類(lèi)型
基本類(lèi)型有以下四種: int長(zhǎng)度數(shù)據(jù)類(lèi)型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、 float長(zhǎng)度數(shù)據(jù)類(lèi)型有:?jiǎn)尉龋?2bits float)、雙精度(64bits double) boolean類(lèi)型變量的取值有:ture、false char數(shù)據(jù)類(lèi)型有:unicode字符,16位 對(duì)應(yīng)的類(lèi)類(lèi)型: Integer、Float、Boolean、Character、Double、Short、Byte、Long
轉(zhuǎn)換原則: 從低精度向高精度轉(zhuǎn)換 byte 、short、int、long、float、double、char 注:兩個(gè)char型運(yùn)算時(shí),自動(dòng)轉(zhuǎn)換為int型;當(dāng)char與別的類(lèi)型運(yùn)算時(shí),也會(huì)先自動(dòng)轉(zhuǎn)換為int型的,再做其它類(lèi)型的自動(dòng)轉(zhuǎn)換
基本類(lèi)型向類(lèi)類(lèi)型轉(zhuǎn)換
正向轉(zhuǎn)換: 通過(guò)類(lèi)包裝器來(lái)new出一個(gè)新的類(lèi)類(lèi)型的變量 Integer a= new Integer(2);
反向轉(zhuǎn)換: 通過(guò)類(lèi)包裝器來(lái)轉(zhuǎn)換 int b=a.intValue(); 類(lèi)類(lèi)型向字符串轉(zhuǎn)換
正向轉(zhuǎn)換: 因?yàn)槊總(gè)類(lèi)都是object類(lèi)的子類(lèi),而所有的object類(lèi)都有一個(gè)toString()函數(shù),所以通過(guò)toString()函數(shù)來(lái)轉(zhuǎn)換即可
反向轉(zhuǎn)換: 通過(guò)類(lèi)包裝器new出一個(gè)新的類(lèi)類(lèi)型的變量 eg1: int i=Integer.valueOf(“123”).intValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Integer對(duì)象,然后再調(diào)用這個(gè)對(duì)象的intValue()方法返回其對(duì)應(yīng)的int數(shù)值。 eg2: float f=Float.valueOf(“123”).floatValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Float對(duì)象,然后再調(diào)用這個(gè)對(duì)象的floatValue()方法返回其對(duì)應(yīng)的float數(shù)值。 eg3: boolean b=Boolean.valueOf(“123”).booleanValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Boolean對(duì)象,然后再調(diào)用這個(gè)對(duì)象的booleanValue()方法返回其對(duì)應(yīng)的boolean數(shù)值。 eg4:Double d=Double.valueOf(“123”).doubleValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Double對(duì)象,然后再調(diào)用這個(gè)對(duì)象的doubleValue()方法返回其對(duì)應(yīng)的double數(shù)值。 eg5: long l=Long.valueOf(“123”).longValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Long對(duì)象,然后再調(diào)用這個(gè)對(duì)象的longValue()方法返回其對(duì)應(yīng)的long數(shù)值。 eg6: char=Character.valueOf(“123”).charValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Character對(duì)象,然后再調(diào)用這個(gè)對(duì)象的charValue()方法返回其對(duì)應(yīng)的char數(shù)值。
基本類(lèi)型向字符串的轉(zhuǎn)換
正向轉(zhuǎn)換: 如:int a=12; String b; b=a+””;
反向轉(zhuǎn)換: 通過(guò)類(lèi)包裝器 eg1: int i=Integer.parseInt(“123”) 說(shuō)明:此方法只能適用于字符串轉(zhuǎn)化成整型變量 eg2: float f=Float.valueOf(“123”).floatValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Float對(duì)象,然后再調(diào)用這個(gè)對(duì)象的floatValue()方法返回其對(duì)應(yīng)的float數(shù)值。 eg3: boolean b=Boolean.valueOf(“123”).booleanValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Boolean對(duì)象,然后再調(diào)用這個(gè)對(duì)象的booleanValue()方法返回其對(duì)應(yīng)的boolean數(shù)值。 eg4:Double d=Double.valueOf(“123”).doubleValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Double對(duì)象,然后再調(diào)用這個(gè)對(duì)象的doubleValue()方法返回其對(duì)應(yīng)的double數(shù)值。 eg5: long l=Long.valueOf(“123”).longValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Long對(duì)象,然后再調(diào)用這個(gè)對(duì)象的longValue()方法返回其對(duì)應(yīng)的long數(shù)值。 eg6: char=Character.valueOf(“123”).charValue() 說(shuō)明:上例是將一個(gè)字符串轉(zhuǎn)化成一個(gè)Character對(duì)象,然后再調(diào)用這個(gè)對(duì)象的charValue()方法返回其對(duì)應(yīng)的char數(shù)值。
JSP基本指令------1--腳本標(biāo)記聲明將要用到的語(yǔ)言:<%@.page language=”java”%>指明jsp指令,表明后面的腳本代碼將采用java語(yǔ)言語(yǔ)法
引用包中的類(lèi):<%@.page import=”java.util.*”%>表示要用到j(luò)ava.util包里的類(lèi)
聲明變量:<%! int count=0;%>聲明一個(gè)整形變量,并賦初值0
聲明方法:<%! int show(int val){ {return val;} %> 輸出表達(dá)式:<%=2*X%>直接輸出表達(dá)式的值,X必須是前面已聲明過(guò)的變量(不能用分號(hào)),相當(dāng)于asp中的<%=%>
jsp注釋符:<%--Here are comments--%>表示是Jsp注釋?zhuān)诜⻊?wù)器端將被忽略,也不轉(zhuǎn)化為HTML的注釋?zhuān)诳蛻舳瞬榭丛创a時(shí)是看不到的。
包含另一個(gè)jsp文件:<%jsp:include page=”another:jsp”%>表示在當(dāng)前頁(yè)面插入另一個(gè)文件another.jsp的內(nèi)容
普通的jsp語(yǔ)句: <% for(int i=0,i<10,i++)//jsp的正文部分 out.println(i+”<br>”); %> 2.指令---Jsp的指令有page、include兩種page指令(屬性:6個(gè))language屬性: <@ page language=”java” %>//指明所用的的語(yǔ)言
import屬性: <@ page import=”java.util.*” %>//載入包 注意:在java中,要載入多個(gè)包,就用import分別指用,并用分號(hào)隔開(kāi); 在jsp中,如用一個(gè)import指明多個(gè)包,用逗號(hào)隔開(kāi)。 如:<%@ page import=”java.util.*,java.lang.*”%> 也可<%@ page import=”java.util.*”%> <%@ page import=” java.lang.*”%>(但不主張這樣用,不規(guī)范。)
session屬性: <@ page session=”true or false” %>缺省情況下session的值為true 如:<%@ page session=”true”%> <% if(session.getValue(“name”)==null) session.putValue(“name”,”123456”); else session.putValue(“name”,session.getValue(“name”)+”1”); %> <% out.println(session.getValue(“name”));%>若session=”false”,則會(huì)出現(xiàn)編譯錯(cuò)。
errorPage屬性: 指當(dāng)前頁(yè)面程序發(fā)生錯(cuò)誤時(shí),由errorPage指定的程序來(lái)處理 寫(xiě)法: <@ page errorPage=”errorPage.jsp” %> 如: test.jsp: <%@page errorPage=”errorPage.jsp”@> <%!int i=0;%> <%=7/i%> errorPage.jsp: <%@page isErrorPage=”true”@> <%=exception%> 運(yùn)行test.jsp,將會(huì)看到被0除的錯(cuò)誤信息。
isErrorPage屬性: 指明了當(dāng)前程序是否為另一程序的例外處理程序。不論它是否設(shè)置,例外都會(huì)導(dǎo)向當(dāng)前程序, 問(wèn)題在于當(dāng)前程序能否得到此例外的對(duì)象。如設(shè)定為true,將會(huì)產(chǎn)生發(fā)生的例外的一個(gè)對(duì)象exception, 并可以在代碼中使用它;若設(shè)定了false,使用exception程序?qū)?huì)在編譯時(shí)出錯(cuò)。 如:將上例的true改為false,將會(huì)出現(xiàn)以下錯(cuò)誤: Error:500 Unable to compile class for JSP 寫(xiě)法:<%@page isErrorPage=”true”@>
contentType屬性: 指定了MIME的類(lèi)型和JSP文件的字符編碼方式,它們都是最先傳送給客戶端。 MIME類(lèi)型有:text/plain、text/html(缺省類(lèi)型)、text/html、image/gif、image/jpeg、image/jpeg 缺省的字符編碼方式:ISO8859-1 include指令作用:是用來(lái)向當(dāng)前頁(yè)中插入一個(gè)靜態(tài)文件的內(nèi)容,這個(gè)文件可能是html文件、 jsp文件或其它文本文件,格式如下: <%@ include file=”include.inc”%> 如: native.jsp: <body> native file start here.<br> <%@ include file=”include.inc”%> native file end here.<br> </body> include.inc: include file start here.<br> <%! String str=”Here is include’s context!”;%> <% out.pringln(str+”<br>”);%> include file end here.<br> 運(yùn)行native.jsp,結(jié)果如下: native file start here. include file start here. Here is include’s context! include file end here. native file end here. 注意:因?yàn)閕nclude.inc文件是在編譯時(shí)才插入的,所以只改 include.inc文件內(nèi)容, 而不對(duì)原JSP頁(yè)面做修改,得到的結(jié)果仍將是以前的結(jié)果。(因?yàn)橐婚_(kāi)始JSP引擎就判斷了 JSP頁(yè)面沒(méi)被改動(dòng)過(guò),就直接執(zhí)行已存在的字節(jié)碼,而不對(duì)源代碼重新編譯,這樣對(duì) include做的修改也就在這沒(méi)有反映。)
出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色
上一頁(yè) 下一頁(yè) JSP-----循序漸進(jìn)教程 2
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|