<!--
WEB-INF 目錄結構
1.客戶端無法訪問,只有服務端可以訪問
2.web.xml是項目部署文件
3.classes文件夾用於存放.class文件
4.lib文件夾用於存放需要用到的jar包
理解虛擬路徑
項目的虛擬路徑就是Tomcat安裝目錄webapps目錄下的項目文件夾名字,
默認情況下與項目名稱相同,但是可修改
JSP聲明語句:<%!聲明語句%>,通常聲明全局變量、常量、方法、類
JSP Scriptlet:<%java代碼%>,是執行一段代碼(記住代碼后要加“;”號),因為是被執行的代碼嘛,“;”號是肯定要的。聲明的變量是局部變量。
JSP表達式:<%=表達式%>,只是呈現某個值(比如說字符串呀)
Eclipse開發Java Web程序
New -> Project -> Web -> Dynamic Web Project
1. 填寫JavaWeb程序名稱
2. 選擇Target runtime(目標環境)
3. 配置tomcat服務器及路徑(選擇其安裝主目錄)
4.選擇默認的JRE運行環境
修改服務器端口號:conf/server.xml
找到Connector port="8080"---改成自定義的端口號 -->
request 對象
方法:
1.String getParameter(String name)返回指定參數的參數值
2.String [] getParameterValues(String name)返回包含參數name的所有值的數組
3.void setAttribute(String,Obiect)儲存此請求的屬性
4.object getAttribute(String name)返回指定屬性的屬性值
5.String getContentType()得到請求體的MIME類型
6.String getprotocol()返回請求用的協議類型及版本號
7.String getServerName()返回接受請求的服務器主機名
8.String getServerPort()返回服務器端口號
9.String getContentLength()返回請求文件的長度
10.String getRemoteAddr()請求客戶端的IP地址
11.String getRealPath(文件名)請求的真實路徑,物理路徑
12.String getContextPath()請求的上下文路徑
setCharacterEncoding()設置字符集編碼,解決中文亂碼問題,但是無法解決URL中文亂碼問題
url傳參數
<a herf="指定的jsp地址?參數名=參數值"></a>
解決中文亂碼問題,:conf/server.xml 找到Connector 增加一個URIEncoding="utf-8" 屬性
response對象
包含了響應客戶請求的信息
1.String getCharacterEncoding()返回響應用的是何種字符編碼
2.void setContentType(String type)設置響應的MIME類型
contentType="text/html; charset=utf-8"
3.PrintWriter getWriter()返回可以向客戶端輸出字符的一個對象,注意比較PrintWriter和內置對象out的區別
輸出總是提前於out對象的輸出
用out.flush();可清空緩沖區,更換位置
4.sendRedirect(java.lang.String location)重新定向客戶端的請求,跳轉到指定地址
session對象
表示客戶端與服務器的一次對話
Web中的session指的是用戶在瀏覽某網站時從進入網站到瀏覽器關閉所經過的時間,也就是用戶瀏覽,某個網站所花費的時間
session其實是一個特定的時間概念
在第一個jsp頁面被裝載時自動創建,完成會話期管理
!!在服務器的內存中保存着不同用戶的session
方法:
1.long getCreationTime() 返回session創建的時間(毫秒)
2.public String getId()返回session創建時jsp引擎為它設的唯一的ID號
3.public Object setAttribute(String name,Object value) 使用指定名稱將對象綁定到此對話,如果沒有對象綁定在該名稱下,則返回null
4.String[] getValueNames() 返回一個包含此session種所有可用屬性的數組
5.int(set) getMaxInactiveInterval() 返回兩次請求間隔多長時間此session被取消 (設置該值)
第一種:property:中的*表示會根據表單自動匹配所有的屬性是否吻合,然后調用set方法賦值
第二種:會給property指定的屬性賦值
第三種:手動給指定的屬性賦指定的值,與表單無關
第四種:在url地址欄中傳的參數賦值給指定的屬性
name:對象名字,property:屬性值