慕課網“JAVA遇見HTML——Servlet篇”視頻范例。
jsp指令:
- page指令:位于jsp頁面頂端,一個頁面可以有多個page指令。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
里面都是屬性鍵值對。常用屬性:language, contentType(jsp頁面的編碼方式), import(腳本語言中用到的類文件)。 - include指令:將外部文件嵌入到jsp文件中,同時解析這個頁面中的jsp語句。
- taglib指令:使用標簽庫定義新的自定義標簽,在jsp頁面中啟用定制行為。
jsp注釋:
使用HTML的注釋:
``客戶端可見
jsp注釋:
<%--html注釋--%>
客戶端不可見
jsp腳本注釋:客戶端不可見
//單行注釋
/**/多行注釋
jsp腳本:
放在一對兒jsp標簽中
<%java代碼%>
<%
out.println("大家好,歡迎大家學習JAVAEE開發!");
%>
jsp聲明:
<%! Java代碼%>
<%!
String s = "張三";
int add(int x,int y)
{
return x+y;
}
%>
jsp表達式:
<% =表達式%>
表達式不以分號結束
你好,<%=s %><br>
x+y=<%=add(10,5) %><br>
jsp頁面的生命周期
jspService()方法被調用來處理客戶端請求。
jsp內置對象
Web容器創建的一組對象,不用new關鍵字就可以使用內置對象,如out。
<%printMultiTable2(out); %>
九大內置對象
Web程序的請求和響應:
如登陸時,向服務器發送了請求,請求對象中封裝了用戶名和密碼。
服務器接收請求后,判斷用戶名和密碼,給客戶端發送響應頁面。
out對象
JspWriter類的實例,向客戶端輸出內容常用的對象。
常用方法:
void println()
向客戶端打印字符串
void clear()
清除緩沖區內容,在flush方法后使用會拋出異常
void clearBuffer()
清除緩沖區內容,在flush方法后使用不會拋出異常
void flush()
將緩沖區內容輸出到客戶端
int getBufferSize()``int getRemaining()``boolean isAutoFlush()``void close()
get與post
post方法如何在服務器端獲得具體信息?request對象和response對象。
request對象:
客戶端的請求信息被封裝在request對象中。它是HttpServletRequest類的實例。request對象具有請求域,即完成客戶端的請求前,該對象一直有效。
String getParameter(String name)
返回name指定參數的參數值;
String[] getParameterValues(String name)
返回包含參數name的所有值的數組
void setAttribute(String, Object)
存儲此請求中的屬性
object getAttribute(String name)
返回指定屬性的屬性值
String getContentType()
得到請求體的MEME類型
String getProtocol()
返回請求用的協議類型
String getServerName()
返回接受請求的服務器主機名
request.setCharacterEncoding("utf-8")
解決中文亂碼問題
request.getServerPort()
獲得服務器端口號
Response對象:響應客戶端請求
Session對象:
是一個時間概念,客戶從進入瀏覽器到關閉瀏覽器所經歷的時間。
JSP狀態管理--cookie: