首先:java web 是大學的唯一一門技術課,故必須要會java web不然我的大學真的就被人笑談爲:
只懂一些理論的書呆子;
1、在html中寫java代碼:格式<% %>
2、在html設置 id是唯一的通常是用於 javaScript
在html中設置name是用於服務器端;
Jsp內置對象
1、out對象:當jsp容器將jsp頁面自動轉化成Servlet實現類時,所有的模板元素都會轉化爲
out.print()語句輸出。
①向瀏覽器輸出數據
public abstract void print() 顯示各種類型的數據,該方法需要一個參數。
public abstract void println()分行顯示各種類型的數據。
public abstract void close()關閉輸出流。
②對緩衝區進行操作
public abstract void clear()清空緩衝區中的內容,不將數據發送到客戶端。
public abstract void clearBuffer()清空緩衝區中的內容。
public abstract void getBuffersize()獲取緩衝區的大小。
2、request對象:是從客戶端向服務器端發出請求,包含用戶提交的信息及客戶端的一些信息。
request對象封裝了瀏覽器的請求信息,通過request對象的各種方法可以獲取
客戶端以及用戶提交各項請求信息。
①String getParameter(String name),獲取客戶端的參數值。
例如:String name=request.getParameter(“name”);
String[] getParameterValues(String name);
獲取單個參數的所有參數值,主要用於獲取複選框的值,
返回類型是字符串數組。
②Enumeration getParameterNames()獲取所有參數的名稱。返回值類型是枚舉型
③void setCharacterEncoding(“UTF-8”); 設置編碼;
3、response對象:response對象和request對象相對應,用於服務器封裝請求後產生的結果,
並將結果響應給客戶端。
①設定HTTP標頭的方法
void addDateheader(String name ,long date) 新增long類型,名稱name 的標頭
void addHeader(String name,String value) 新增String類型,名稱爲name標頭
void addIntHeader(String name , int value) 新增int類型,名稱爲name的標頭
…
response.setHeader(“refresh”,”60;url=”); 設置自動刷新的時間。
②重新定向方法解析
void sendRedirect(String url)將頁面重新定向的URL地址上。
它可以實現瀏覽器重新定向功能。常用;
③設定狀態碼的方法
void sendError(int sc) 傳送狀態碼
void sendError(int sc,String msg) 用給定的狀態碼給客戶端發送一個錯誤響應。
void setStatus(int sc); 設置狀態碼;
4、session對象:用於在會話範圍內,記錄每個客戶端的方位狀態。
工作原理:
①客戶端首次訪問服務器的,服務器就會爲該客戶分配一個session對象,同時爲該session
對象指定一個唯一的ID,並且將該ID發送給客戶端並寫入到Cookie中,是客戶和服務端建立
一一對應的關係。
②當客戶繼續訪問服務器上的其他資源時,服務器不再爲客戶分配新的session對象,直到
客戶端瀏覽器關閉、超時或調用session的invalidate()方法使其失效,客戶端與服務器
的會話結束。
③當客戶端重新打開瀏覽器訪問網站時,服務器會重新爲客戶分配一個session對象,
並重新分配sessionID.
①常用方法:
public void setAttribute(String name,Object value)設定指定名字的屬性和值;
並將其添加到session會話中,如果屬性在會話範圍內,則更改屬性的值。
public Object getAttribute(String name)
在會話中獲取指定名字的屬性和值
public void removeAttribute(String name)刪除指定名字的session屬性,若該屬性
不存在,則出現異常。
public void invalidate() ,使session失效。
public String getId() 獲取當前會話的ID ,
簡單實例:
register.html
姓名:
one.jsp
<%
session.setAttribute(“sessionname”,name); //將html中的name 獲取
%>
two.jsp
<%
session.getAttribute(“sessionname”); //從會話中獲取
%>
5、cookie
①Cookie可以實現讓站點跟蹤特定訪問者訪問的次數、最後訪問的時間以及訪問者進入站點的路徑。
②Cookie能夠幫助站點統計用戶個人資料,以實現個性化服務。
③Cookie在同一個站點內可以實現自動登錄功能,使得用戶不需要輸入用戶名和密碼。
6、application
是在服務器啓動後產生的,當客戶訪問服務器上的一個jsp頁面時,jsp引擎爲該客戶分配
這個application對象,當客戶瀏覽所訪問的網站的各個頁面時,對象是同一個;
區別:
session:①不同客戶的session是不同的;但是applicaiton是 相同的;
②取消在瀏覽器關閉就取消啦;
②:
public Object getAttribute(String name)獲取application 對象含有的屬性,
是name的對象,若name不存在則返回null,由於任何對象都可以添加到application
對象中,因此該方法獲取對象,應該強制轉化爲原來的類型。
例如:
<%
int num;
if(application.getAttribute(“num”)==null){
application.setAttribute(“num”,”1”);
}else{
num=Integer.parseInt((String)application.getAttribute(“num”));
num++;
application.setAttribute(“num”,Integer.toString(num));
}
%>