一、什么是JSP?
1、在HTML中嵌入Java腳本代碼
2、由應用服務器中的JSP引擎來編譯和執行嵌入的Java腳本代碼
3、然后將生成的整個頁面信息返回給客戶端
二、為什么需要基於B/S技術的動態網頁?
使用動態網頁,可以動態輸出網頁內容、同用戶進行交互、對網頁內容進行在線更新
三、B/S技術的特點是什么?
1、解釋執行HTML文件
2、運行JSP等服務器端程序
四、Web容器處理JSP文件請求需要經過3個階段:
1、翻譯階段
2、編譯階段
3、執行階段
注意:第一次請求之后,Web容器可以重用已經編譯好的字節碼文件
注意:如果對JSP文件進行了修改,Web容器會重新對JSP文件進行翻譯和編譯
五、JSP 頁面組成
JSP 頁面的元素包括
1、靜態內容(HTML靜態文本)
2、指 令(以“<%@ ” 開始,以“%> ” 結束。比如:<%@ include file = " Filename" %>)
3、表達式(<%=Java表達式 %>)
4、小腳本(<% Java 代碼 %>)
5、聲 明(<%! 方法 %>)
6、注釋(<1、!-- 這是注釋,但客戶端可以查看到 --> 2、 <%-- 這也是注釋,但客戶端不能查看到 --%>)
六、什么是page指令?
Øpage指令
Ø通過設置內部的多個屬性來定義整個頁面的屬性
Ø語法:<%@ page 屬性1="屬性值" 屬性2="屬性值1,屬性值2"… 屬性n="屬性值n"%>
七、JSP中的注釋
Ø合理、詳細的注釋有利於代碼后期的維護和閱讀
Ø在JSP文件的編寫過程中,共有三種注釋方法:
ØHTML的注釋:<!-- html注釋-->
ØJSP注釋:<%-- JSP注釋--%>
Ø在JSP腳本中注釋:
<% //單行注釋 %>
<% /*多行注釋 */ %>
八、Web程序的調試與排錯
Ø在運行Web程序時,常犯的一些錯誤有:
Ø未啟動Tomcat服務,或者沒有在預期的端口中啟動Tomcat服務
Ø未部署Web應用,就試圖運行Web程序
Ø運行時,URL輸入錯誤
Ø存放文件的目錄無法對外引用,如:文件放入了WEB-INF、META-INF等文件夾
九、什么是JSP內置對象
ØJSP內置對象是 Web 容器創建的一組對象
ØJSP內置對象的名稱是JSP 的保留字
ØJSP內置對象是可以直接在JSP頁面使用的對象,無需使用“new”獲取實例
<%
request.setCharacterEncoding("GBK");
String titleName =
request.getParameter("titlename");
%>
Ø常用的JSP內置對象
1、out
2、session
3、request
4、application
5、response
十、JSP內置對象request
request對象主要用於處理客戶端請求
request對象常用方法
方法名稱 |
說 明 |
String getParameter(String name) |
根據頁面表單組件名稱獲取頁面提交數據 |
String[ ] getParameterValues(String name) |
獲取一個頁面表單組件對應多個值時的用戶的請求數據 |
void setCharacterEncoding(String charset) |
指定每個請求的編碼,在調用getParameter( )之前進行設定,可以解決中文亂碼問題 |
String getRemoterAddr() |
返回提交請求的客戶機的IP地址 |
JSP內置對象request案例
Ø注冊頁面
<form name="form1" method="post" action="reginfo.jsp">
<table border="0" align="center">
<tr> <td>用戶名</td><td> <input type="text" name="name"></td></tr>
<tr><td>密碼</td><td > <input type="password" name="pwd"> </td></tr>
<tr> <td>你喜歡的水果:</td><td>
<input type="checkbox" name="channel" value="蘋果"> 蘋果 <input type="checkbox" name="channel" value="梨"> 梨 <input type="checkbox" name="channel" value="西瓜"> 西瓜 <input type="checkbox" name="channel" value="香蕉"> 香蕉 </td></tr>
<!-- 以下是提交、取消按鈕 -->
</table>
</form>
Ø信息讀取顯示頁面
//在進行頁面開發時,存在多種字符集編碼設置,我們只需要在頁面設置支持中文字符的字符集就可以了 //設置讀取請求信息的字符編碼為GBK或者GB2312或者UTF-8
request.setCharacterEncoding(“utf-8");
<%
//讀取用戶名和密碼
String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); …HTML頁面代碼… //讀取復選框選擇項
String[] channels = request.getParameterValues("channel"); if (channels != null) { for (int i = 0; i < channels.length; i++) { out.println(channels[i]); } } %>
Øpage指令常用屬性
屬性 |
描述 |
默認值
|
language |
指定JSP頁面使用的腳本語言 |
java |
import |
通過該屬性來引用腳本語言中使用到的類文件 |
無 |
contentType |
用來指定JSP頁面所采用的編碼方式 |
text/html, ISO-8859-1
|