注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)深入體驗(yàn)Java Web開發(fā)內(nèi)幕

深入體驗(yàn)Java Web開發(fā)內(nèi)幕

深入體驗(yàn)Java Web開發(fā)內(nèi)幕

定 價(jià):¥58.00

作 者: 張孝祥
出版社: 電子工業(yè)出版社
叢編項(xiàng): 核心基礎(chǔ)
標(biāo) 簽: Java

ISBN: 9787121032097 出版時(shí)間: 2006-10-01 包裝: 平裝
開本: 16 頁數(shù): 549 字?jǐn)?shù):  

內(nèi)容簡介

  本書深入地揭示Java Web開發(fā)內(nèi)幕,細(xì)致地解釋許許多多來自開發(fā)第一線的一知半解的問題。閱讀本書,可以為您詳細(xì)地剖析Java Web開發(fā)的全過程,使您輕松地解決在使用Java進(jìn)行Web應(yīng)用開發(fā)遇到的各類疑難雜癥。本書用途之一:許多公司的技術(shù)經(jīng)理在招聘新員工開始做一個(gè)項(xiàng)目之前,都將本書發(fā)下去,要求員工熟讀此書,以免在項(xiàng)目中走彎路和避免許多潛在的隱患,并對員工說:“先把細(xì)節(jié)搞得明明白白了再做,這樣你我心里都踏實(shí),免得項(xiàng)目做完后自己都不敢肯定有多少隱患。”本書深刻且通俗地揭示Java Web開發(fā)內(nèi)幕,使您由內(nèi)而外地明白使用Java進(jìn)行Web應(yīng)用開發(fā)的全過程——從XML基礎(chǔ)知識到HTTP詳述及相關(guān)體驗(yàn),從用Tomcat配置Web站點(diǎn)到HttpServletResponse和HttpServletRequest的應(yīng)用,以及JSP,JavaBean等Java Web開發(fā)相關(guān)方面都講解得深入淺出、通俗易懂。本書適合所有Web應(yīng)用的開發(fā)人員、Java程序員在工作和學(xué)習(xí)中參考閱讀,也適合作為相關(guān)專業(yè)本科生、研究生的學(xué)習(xí)參考資料,也可作為相關(guān)培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材。[看更多]

作者簡介

  中國著名IT培訓(xùn)教育專家,具有多年軟件開發(fā)和教學(xué)經(jīng)驗(yàn),直接面授培訓(xùn)過數(shù)以萬計(jì)的軟件開發(fā)人員,深受學(xué)員們的好評和喜愛,現(xiàn)任北京傳智播客教育科技有限公司(www.itcastn.cn)的教學(xué)總監(jiān)。張孝祥老師正在逐步將自己多年的開發(fā)與培訓(xùn)經(jīng)驗(yàn)心得編寫成通俗易懂的書籍,目前已出版《Java就業(yè)培訓(xùn)教程》和《JavaScript網(wǎng)頁開發(fā)——體驗(yàn)式學(xué)習(xí)教程》書籍和配套的教學(xué)視頻錄像,這些培訓(xùn)視頻錄像和書籍推出后,在社會上產(chǎn)生了強(qiáng)烈反響,好評如潮!人們看過Java就業(yè)培訓(xùn)課程基礎(chǔ)部分的錄像后,被張老師的高超講課技巧和深厚編程功底所吸引,紛紛要求參加張老師親自講授的培訓(xùn)班。張孝祥老師目前正在竭盡全力編寫Java Web開發(fā)、J2EE、C與C++、VC++.NET、SQL Server數(shù)據(jù)庫、網(wǎng)絡(luò)管理等系列書籍和配套教學(xué)視頻,其中部分書籍正在出版階段,本書即是其中之一,張孝祥老師希望通過這些書籍和教學(xué)視頻來將自己難得的經(jīng)歷、豐富的閱歷、獨(dú)特有效的學(xué)習(xí)方法毫無保留地傳

圖書目錄

第1章  XML基礎(chǔ)    1
指點(diǎn)迷津:什么是配置文件    1
1.1  XML技術(shù)概述    2
1.1.1  XML的起源與作用    2
1.1.2  XML文檔結(jié)構(gòu)    3
1.1.3  XML與HTML的比較    4
1.1.4  XML與數(shù)據(jù)庫的比較    5
1.2  XML的基本語法    6
1.2.1  文檔聲明    6
動手體驗(yàn):加深對encoding屬性的理解    7
1.2.2  元素定義    10
1.2.3  屬性定義    11
1.2.4  注釋    11
1.2.5  空格和換行的處理    12
1.2.6  CDATA區(qū)    12
1.2.7  特殊字符    13
動手體驗(yàn):加深對特殊字符的了解    13
1.2.8  處理指令    14
動手體驗(yàn):使用CSS控制XML文檔的顯示    14
1.3  XML的約束模式    16
1.3.1  格式良好的(Well-formed)XML    16
1.3.2  XML的約束模式    16
1.3.3  XML的約束模式語言    17
1.3.4  有效的(Valid)XML    17
1.4  DTD    18
1.4.1  對DTD的初步認(rèn)識    18
1.4.2  在XML文檔中引入外部DTD文件    19
1.4.3  在XML文檔中直接嵌入DTD定義語句    21
1.5  DTD的語法細(xì)節(jié)    22
1.5.1  元素定義    22
1.5.2  屬性定義    24
1.5.3  實(shí)體定義    29
動手體驗(yàn):加深對引用實(shí)體的了解    30
1.6  XML Schema    33
1.6.1  XML Schema與DTD的比較    33
1.6.2  一個(gè)XML Schema例子    34
1.7  名稱空間    36
1.7.1  名稱空間的概念    36
1.7.2  名稱空間聲明    37
1.7.3  默認(rèn)名稱空間    38
1.7.4  屬性的名稱空間    38
1.7.5  xml:space和xml:lang屬性    39
1.8  引入XML Schema文檔    40
1.8.1  使用名稱空間引入XML Schema文檔    40
1.8.2  不使用名稱空間引入XML Schema文檔    42
1.9  思考與實(shí)踐    43
第2章  用Tomcat構(gòu)建Web站點(diǎn)    44
2.1  Web應(yīng)用的相關(guān)知識    44
2.1.1  HTTP協(xié)議    44
2.1.2  URL    45
2.1.3  主要的Web服務(wù)器軟件    45
2.1.4  網(wǎng)站系統(tǒng)的組成    45
2.2  安裝Tomcat    47
2.2.1  Tomcat簡介    47
2.2.2  獲取Tomcat安裝程序包    47
2.2.3  使用zip和tar.gz包安裝Tomcat    48
2.2.4  使用exe程序安裝Tomcat    49
2.3  Tomcat的啟動與停止    52
2.3.1  使用Tomcat服務(wù)程序    52
多學(xué)兩招:查找網(wǎng)絡(luò)服務(wù)程序監(jiān)聽異常的問題    54
2.3.2  使用Tomcat程序組中的快捷菜單    55
多學(xué)兩招:了解Tomcat 4.1.31的快捷啟動菜單的工作原理    56
2.3.3  使用tomcat.exe程序    58
指點(diǎn)迷津:tomcat5.exe啟動的Tomcat程序不一定是tomcat5.exe自身所在的目錄    59
2.3.4  startup.bat批處理文件    60
2.3.5  catalina.bat批處理文件    64
2.3.6  使用批處理程序及查找Tomcat的啟動問題    68
動手體驗(yàn):練習(xí)查找Tomcat的啟動錯(cuò)誤    69
2.4  配置Web站點(diǎn)的虛擬目錄    71
2.4.1  虛擬Web目錄的映射原理    72
2.4.2  設(shè)置Web站點(diǎn)的根目錄    73
動手體驗(yàn):修改Web站點(diǎn)的默認(rèn)根目錄    74
2.4.3  設(shè)置Web站點(diǎn)的虛擬子目錄    74
動手體驗(yàn):設(shè)置Web站點(diǎn)的虛擬子目錄    76
腳下留心:war文件的內(nèi)部目錄結(jié)構(gòu)    77
2.4.4  部署描述符與目錄的默認(rèn)網(wǎng)頁    78
動手體驗(yàn):設(shè)置目錄的默認(rèn)網(wǎng)頁    79
2.5  配置虛擬主機(jī)    81
2.5.1  瀏覽器訪問Web資源的過程    81
動手體驗(yàn):用Telnet程序分析瀏覽器訪問Web資源的過程    81
多學(xué)兩招:打開Telnet程序的本地回顯功能    82
2.5.2  虛擬主機(jī)及實(shí)現(xiàn)原理    83
2.5.3  基于主機(jī)名的虛擬主機(jī)    84
動手體驗(yàn):使用Tomcat建立基于主機(jī)名的虛擬主機(jī)    86
2.5.4  基于端口號的虛擬主機(jī)    88
動手體驗(yàn):使用Tomcat建立基于端口號的虛擬主機(jī)    89
2.5.5  基于IP地址的虛擬主機(jī)    90
2.6  與專用Web服務(wù)器的集成    90
2.6.1  集成的考慮因素    91
2.6.2  集成技術(shù)的選擇    92
2.6.3  JK插件    93
動手體驗(yàn):下載JK插件    94
2.6.4  Tomcat體系結(jié)構(gòu)與JK插件的工作原理    95
動手體驗(yàn):查閱JK連接器的幫助文檔    99
2.6.5  Tomcat與IIS服務(wù)器集成    100
2.6.6  Tomcat與Windows系統(tǒng)下的Apache服務(wù)器集成    105
2.6.7  與專業(yè)Web服務(wù)器集成的現(xiàn)實(shí)問題    107
2.7  思考與實(shí)踐    107
第3章  HTTP協(xié)議詳解    109
3.1  了解HTTP    109
3.1.1  HTTP簡介    109
3.1.2  HTTP 1.0的會話方式    109
3.1.3  HTTP 1.1與HTTP 1.0的比較    111
3.1.4  HTTP消息的格式    112
3.1.5  HTTP消息頭    113
3.2  請求行與狀態(tài)行    114
3.2.1  請求行與狀態(tài)行    114
動手體驗(yàn):借助Telnet程序直觀地體驗(yàn)請求行和狀態(tài)行    115
3.2.2  使用GET和POST方式傳遞參數(shù)    117
動手體驗(yàn):使用GET與POST方式傳遞參數(shù)    118
3.2.3  響應(yīng)狀態(tài)碼    121
3.3  通用信息頭    124
3.3.1  Cache-Control    124
3.3.2  Connection    125
動手體驗(yàn):Connection頭字段的作用    125
3.3.3  Date    125
3.3.4  Pragma    126
3.3.5  Trailer    126
3.3.6  Transfer-Encoding    126
3.3.7  Upgrade    126
3.3.8  Via    127
3.3.9  Warning    127
3.4  請求頭    127
3.4.1  Accept    127
3.4.2  Accept-Charset    127
3.4.3  Accept-Encoding    127
3.4.4  Accept-Language    128
動手體驗(yàn):Accept-Language頭字段的作用    129
3.4.5  Authorization    130
3.4.6  Expect    130
3.4.7  From    130
3.4.8  Host    130
3.4.9  If-Match    131
3.4.10  If-Modified-Since    131
3.4.11  If-None-Match    132
3.4.12  If-Range    132
3.4.13  If-Unmodified-Since    132
3.4.14  Max-Forwards    132
3.4.15  Proxy-Authorization    132
3.4.16  Range    132
3.4.17  Referer    133
3.4.18  TE    133
3.4.19  User-Agent    133
3.5  響應(yīng)頭    134
3.5.1  Accept-Range    134
3.5.2  Age    134
3.5.3  Etag    134
3.5.4  Location    134
動手體驗(yàn):Location頭字段的作用    135
3.5.5  Proxy-Authenticate    135
3.5.6  Retry-After    135
3.5.7  Server    136
3.5.8  Vary    136
3.5.9  WWW-Authenticate    136
3.6  實(shí)體頭    136
3.6.1  Allow    137
3.6.2  Content-Encoding    137
3.6.3  Content-Language    137
3.6.4  Content-Length    137
3.6.5  Content-Location    138
3.6.6  Content-MD5    138
3.6.7  Content-Range    138
3.6.8  Content-Type    138
動手體驗(yàn):Tomcat中的文件擴(kuò)展名與MIME的映射關(guān)系    139
3.6.9  Expires    141
3.6.10  Last-Modified    141
3.7  擴(kuò)展頭    141
3.7.1  Refresh    141
3.7.2  Content-Disposition    142
3.8  思考與實(shí)踐    142
第4章  Servlet開發(fā)基礎(chǔ)    143
4.1  Servlet的有關(guān)概念與前置知識    143
4.1.1  什么是動態(tài)網(wǎng)頁    143
指點(diǎn)迷津:區(qū)分動態(tài)網(wǎng)頁與動態(tài)HTML頁面的概念    144
4.1.2  動態(tài)網(wǎng)頁程序與引擎    144
4.1.3  Servlet技術(shù)簡介    146
4.1.4  B/S系統(tǒng)架構(gòu)與C/S系統(tǒng)架構(gòu)    146
4.1.5  Servlet開發(fā)涉及的相關(guān)知識    149
4.2  Servlet開發(fā)入門    149
4.2.1  Servlet API介紹    149
動手體驗(yàn):查看Tomcat提供的Servlet API幫助文檔    150
4.2.2  編寫與編譯Servlet程序    151
指點(diǎn)迷津:如何快速入門新技術(shù)    151
動手體驗(yàn):編寫與編譯Servlet程序的過程    152
4.2.3  Servlet的注冊與運(yùn)行    153
動手體驗(yàn):注冊與訪問Servlet程序    155
照貓畫虎:如何編寫Web.xml文件    156
4.2.4  Servlet激活器    158
動手體驗(yàn):使用Servlet激活器    159
4.2.5  缺省Servlet    159
動手體驗(yàn):缺省Servlet的作用    160
4.2.6  Servlet的類裝載器    160
動手體驗(yàn):Tomcat如何完成類的加載    164
指點(diǎn)迷津:區(qū)分Servlet的編譯和運(yùn)行環(huán)境    167
4.2.7  編寫一個(gè)自動編譯工具    167
4.3  Servlet的特點(diǎn)及運(yùn)行過程    168
4.3.1  Servlet的特點(diǎn)    168
4.3.2  Servlet的運(yùn)行過程    169
4.3.3  Servlet的線程安全問題    174
動手體驗(yàn):Servlet的并發(fā)訪問與線程安全問題    174
指點(diǎn)迷津:哪些情況下要考慮線程安全問題    177
4.4  ServletConfig接口    177
指點(diǎn)迷津:Servlet的初始化參數(shù)的作用    178
多想一想:Servlet的init方法與getServletConfig方法的關(guān)系與作用    178
4.4.1  getInitParameterNames方法    179
4.4.2  getInitParameter方法    179
4.4.3  getServletName方法    179
4.4.4  getServletContext方法    180
4.4.5  GenericServlet類實(shí)現(xiàn)ServletConfig接口的目的    180
4.4.6  ServletConfig的應(yīng)用舉例    180
動手體驗(yàn):ServletConfig對象的應(yīng)用    181
4.5  GenericServlet與HttpServlet類    183
4.5.1  區(qū)分回調(diào)方法與工具方法    183
4.5.2  init方法    183
指點(diǎn)迷津:覆蓋無參數(shù)的init()方法來編寫初始化代碼的好處    184
4.5.3  service方法    186
4.5.4  destroy方法    187
4.5.5  getServletConfig方法    187
4.5.6  getServletInfo方法    188
4.5.7  doXxx方法    188
動手體驗(yàn):doGet方法與doPost方法的作用    189
指點(diǎn)迷津:如何理解“在自己的程序代碼中不能調(diào)用回調(diào)方法”    191
4.5.8  瀏覽器緩存內(nèi)幕與getLastModified方法    191
動手體驗(yàn):揭開瀏覽器緩存的奧秘    194
4.6  ServletContext接口    200
4.6.1  獲取Web應(yīng)用程序的初始化參數(shù)    201
動手體驗(yàn):Web應(yīng)用程序的初始化參數(shù)的設(shè)置與應(yīng)用    201
4.6.2  記錄日志    203
動手體驗(yàn):Web應(yīng)用程序的日志記錄功能    204
多學(xué)兩招:JDK中提供的日志記錄模塊    205
4.6.3  application域范圍的屬性    209
4.6.4  訪問資源文件    210
動手體驗(yàn):在Servlet程序中使用FileInputStream類的問題    211
動手體驗(yàn):使用ServletContext接口和ClassLoader類中的方法訪問資源文件    213
4.6.5  獲取虛擬路徑所映射的本地路徑    214
4.6.6  Web應(yīng)用程序之間的訪問    215
動手體驗(yàn):訪問其他Web應(yīng)用程序    215
4.6.7  ServletContext接口中的其他方法    218
4.7  思考與實(shí)踐    218
第5章  HttpServletResponse的應(yīng)用    220
5.1  準(zhǔn)備實(shí)驗(yàn)環(huán)境    220
5.2  HttpServletResponse簡介    221
5.3  產(chǎn)生響應(yīng)狀態(tài)行    221
5.3.1  狀態(tài)碼常量    221
5.3.2  setStatus方法    222
5.3.3  sendError方法    222
5.4  構(gòu)建響應(yīng)消息頭    223
5.4.1  addHeader與setHeader方法    223
5.4.2  addIntHeader與setIntHeader方法    224
5.4.3  addDateHeader與setDateHeader方法    224
5.4.4  setContentLength方法    224
5.4.5  setContentType方法    224
5.4.6  setCharacterEncoding方法    225
5.4.7  setLocale方法    225
5.4.8  containsHeader方法    226
5.5  響應(yīng)消息頭的實(shí)用案例    226
5.5.1  Servlet的中文輸出問題    226
動手體驗(yàn):瀏覽器顯示網(wǎng)頁文檔時(shí)怎樣選擇字符集編碼    227
動手體驗(yàn):Servlet的中文輸出問題及解決之道    229
腳下留心:注意傳遞給setContentType方法的參數(shù)值的大小寫    233
多學(xué)兩招:修改某個(gè)Servlet將導(dǎo)致整個(gè)Web應(yīng)用程序被重新加載    234
5.5.2  讓瀏覽器定時(shí)刷新網(wǎng)頁或跳轉(zhuǎn)至其他頁面    235
動手體驗(yàn):Refresh頭字段的作用效果    235
5.5.3  禁止瀏覽器緩存當(dāng)前文檔內(nèi)容    236
動手體驗(yàn):瀏覽器的緩存問題和解決方案    236
5.5.4  使用<meta>標(biāo)簽?zāi)M響應(yīng)消息頭    238
動手體驗(yàn):使用<meta>標(biāo)簽解決瀏覽器顯示網(wǎng)頁時(shí)的中文亂碼問題    239
多學(xué)兩招:網(wǎng)頁文檔應(yīng)盡量采用UTF-8編碼    240
5.6  創(chuàng)建響應(yīng)正文    241
5.6.1  getOutputStream與getWriter方法    241
5.6.2  關(guān)于getWriter方法的一些相關(guān)疑問    242
動手體驗(yàn):關(guān)于getWriter方法的一些相關(guān)疑問    242
5.6.3  輸出緩沖區(qū)    244
動手體驗(yàn):Servlet引擎處理輸出緩沖區(qū)的細(xì)節(jié)    245
5.6.4  實(shí)現(xiàn)動態(tài)文件內(nèi)容的下載    247
動手體驗(yàn):實(shí)現(xiàn)動態(tài)文件內(nèi)容的下載    248
5.6.5  圖像訪問計(jì)數(shù)器    249
動手體驗(yàn):使用<img>標(biāo)簽實(shí)現(xiàn)靜態(tài)HTML頁面的訪問次數(shù)統(tǒng)計(jì)和顯示    252
多學(xué)兩招:如何動態(tài)產(chǎn)生大小可變的圖像    257
5.7  請求重定向與請求轉(zhuǎn)發(fā)    259
5.7.1  RequestDispatcher接口    259
5.7.2  用include方法實(shí)現(xiàn)資源包含    260
動手體驗(yàn):RequestDispatcher.include方法的應(yīng)用細(xì)節(jié)    260
5.7.3  用forward方法實(shí)現(xiàn)請求轉(zhuǎn)發(fā)    267
動手體驗(yàn):RequestDispatcher.forward方法的應(yīng)用細(xì)節(jié)    267
動手體驗(yàn):RequestDispatcher.forward方法的相對路徑問題    273
5.7.4  請求轉(zhuǎn)發(fā)的運(yùn)行流程    277
5.7.5  用sendRedirect方法實(shí)現(xiàn)請求重定向    281
動手體驗(yàn):sendRedirect方法的應(yīng)用    282
5.7.6  請求重定向的運(yùn)行流程    283
5.7.7  請求重定向與請求轉(zhuǎn)發(fā)的比較    287
5.7.8  缺省Servlet的緩存問題    289
動手體驗(yàn):缺省Servlet的緩存問題    291
5.8  思考與實(shí)踐    292
第6章  HttpServletRequest的應(yīng)用    294
6.1  HttpServletRequest簡介    294
6.2  獲取請求行的相關(guān)信息    294
6.2.1  getMethod方法    294
6.2.2  getRequestURI方法    295
6.2.3  getQueryString方法    295
6.2.4  getProtocol方法    295
6.2.5  getContextPath方法    295
6.2.6  getPathInfo方法    295
6.2.7  getPathTranslated方法    296
6.2.8  getServletPath方法    296
6.2.9  獲取請求行信息的綜合實(shí)例    296
動手體驗(yàn):與請求行信息相關(guān)的各個(gè)方法的作用    296
6.3  獲取網(wǎng)絡(luò)連接信息    298
6.3.1  getRemoteAddr方法    298
6.3.2  getRemoteHost方法    298
6.3.3  getRemotePort方法    298
6.3.4  getLocalAddr方法    298
6.3.5  getLocalName方法    298
6.3.6  getLocalPort方法    298
6.3.7  getServerName方法    298
6.3.8  getServerPort方法    298
6.3.9  getScheme方法    299
6.3.10  getRequestURL方法    299
6.4  獲取請求頭信息    299
6.4.1  getHeader方法    299
6.4.2  getHeaders方法    299
6.4.3  getHeaderNames方法    300
6.4.4  getIntHeader方法    300
6.4.5  getDateHeader方法    300
6.4.6  getContentType方法    300
6.4.7  getContentLength方法    300
6.4.8  getCharacterEncoding方法    300
6.4.9  獲取所有請求頭的編程實(shí)例    301
動手體驗(yàn):獲取請求消息中的所有請求頭信息    301
6.4.10  利用Referer請求頭阻止“盜鏈”    303
動手體驗(yàn):利用Referer請求頭阻止“盜鏈”    303
6.4.11  利用Referer請求頭隱藏JavaScript源代碼    305
動手體驗(yàn):利用Referer請求頭隱藏JavaScript源代碼    305
6.4.12  BASE64編碼及客戶端身份認(rèn)證    309
動手體驗(yàn):BASIC驗(yàn)證的交互過程    311
6.5  瀏覽器傳遞參數(shù)信息的細(xì)節(jié)    315
6.5.1  使用GET方式傳遞參數(shù)    316
腳下留心:不要使用GET方式提交包含口令的FORM表單    316
6.5.2  使用POST方式傳遞參數(shù)    316
6.5.3  提交、重置、普通按鈕的參數(shù)傳遞    318
動手體驗(yàn):了解提交、重置、普通按鈕的參數(shù)傳遞細(xì)節(jié)    318
6.5.4  單行與多行文本輸入框如何傳送參數(shù)    319
動手體驗(yàn):了解單行與多行文本輸入框的參數(shù)傳遞細(xì)節(jié)    319
6.5.5  單選按鈕與復(fù)選框如何傳送參數(shù)    320
動手體驗(yàn):了解單選按鈕與復(fù)選框的參數(shù)傳遞細(xì)節(jié)    320
6.5.6  隱藏表單字段與圖像字段如何傳送參數(shù)    321
動手體驗(yàn):了解隱藏表單字段元素與圖像字段元素的參數(shù)傳遞細(xì)節(jié)    321
6.5.7  列表框的參數(shù)傳遞    322
動手體驗(yàn):了解列表框的參數(shù)傳遞細(xì)節(jié)    322
6.5.8  使用JavaScript防止重復(fù)提交表單    323
動手體驗(yàn):使用JavaScript防止重復(fù)表單提交    323
6.6  獲取請求參數(shù)    325
6.6.1  getParameter方法    325
6.6.2  getParameterValues方法    326
6.6.3  getParameterNames方法    326
6.6.4  getParameterMap方法    326
6.6.5  獲取請求參數(shù)的編程實(shí)例    326
動手體驗(yàn):獲取請求消息中的所有參數(shù)    326
6.6.6  一次性處理多個(gè)列表項(xiàng)的實(shí)用案例    329
動手體驗(yàn):一次性處理多個(gè)列表項(xiàng)    329
6.6.7  單選列表框的處理經(jīng)驗(yàn)    333
6.7  獲取請求消息的實(shí)體內(nèi)容    333
6.7.1  getInputStream與getReader方法    334
多學(xué)兩招:使用ServletInputStream對象讀取文本格式的實(shí)體內(nèi)容    334
6.7.2  分析文件上傳的請求消息結(jié)構(gòu)    334
動手體驗(yàn):分析文件上傳的請求消息結(jié)構(gòu)    334
6.8  利用請求域?qū)傩詡鬟f信息    343
6.8.1  setAttribute方法    343
6.8.2  getAttribute方法    344
6.8.3  removeAttribute方法    344
6.8.4  getAttributeNames方法    344
6.8.5  請求域?qū)傩缘木幊虒?shí)例    344
動手體驗(yàn):請求域?qū)傩缘膽?yīng)用    345
多想一想:請求域?qū)傩耘cURL參數(shù)的應(yīng)用區(qū)別    348
6.9  請求參數(shù)的中文讀取問題    348
6.9.1  了解中文字符的URL編碼    349
動手體驗(yàn):中文字符的URL編碼和解碼    349
6.9.2  瀏覽器怎樣進(jìn)行URL編碼    350
動手體驗(yàn):瀏覽器怎樣對FORM表單內(nèi)容進(jìn)行URL編碼    351
6.9.3  getCharacterEncoding方法    352
6.9.4  setCharacterEncoding方法    352
6.9.5  getParameter方法的中文問題    352
動手體驗(yàn):解決使用getParameter方法讀取請求參數(shù)時(shí)的中文亂碼問題    353
6.9.6  一些參考經(jīng)驗(yàn)    365
6.10  思考與實(shí)踐    366
第7章  會話與狀態(tài)管理    367
7.1  Web應(yīng)用中的會話與會話狀態(tài)    367
7.1.1  會話與會話狀態(tài)簡介    367
7.1.2  如何實(shí)現(xiàn)有狀態(tài)的會話    367
7.2  Cookie    368
7.2.1  什么是Cookie    368
7.2.2  Set-Cookie2響應(yīng)頭字段    370
7.2.3  Cookie請求頭字段    372
7.3  在Servlet程序中使用Cookie    373
7.3.1  Cookie類    373
7.3.2  HttpServletResponse.addCookie方法    375
7.3.3  HttpServletRequest.getCookies方法    375
7.3.4  Cookie的綜合實(shí)例    375
動手體驗(yàn):Cookie的工作細(xì)節(jié)    375
7.4  Session    386
7.4.1  什么是Session    386
7.4.2  Session的跟蹤機(jī)制    387
7.4.3  Session的超時(shí)管理    387
7.4.4  HttpSession接口中的方法    388
7.4.5  HttpServletRequest接口中的Session方法    390
多想一想:什么情況下該調(diào)用request.getSession(false)方法    391
7.4.6  application域與session域?qū)傩缘谋容^    391
動手體驗(yàn):application域和session域范圍的屬性的差異    393
7.4.7  利用Cookie實(shí)現(xiàn)Session跟蹤    396
動手體驗(yàn):如何利用Cookie實(shí)現(xiàn)Session跟蹤    397
7.4.8  利用URL重寫實(shí)現(xiàn)Session跟蹤    399
動手體驗(yàn):利用URL重寫實(shí)現(xiàn)Session跟蹤    400
7.5  Session的典型案例    401
7.5.1  使用Session實(shí)現(xiàn)購物車    401
動手體驗(yàn):使用Session實(shí)現(xiàn)購物車功能    402
7.5.2  利用Session防止表單重復(fù)提交    407
多學(xué)兩招:MD5算法及其應(yīng)用    408
動手體驗(yàn):利用Session防止表單重復(fù)提交    409
7.5.3  利用Session實(shí)現(xiàn)一次性驗(yàn)證碼    415
動手體驗(yàn):利用Session實(shí)現(xiàn)一次性驗(yàn)證碼    416
多學(xué)兩招:用時(shí)間間隔限制用戶連續(xù)發(fā)帖    420
7.5.4  跟蹤用戶上次訪問站點(diǎn)的時(shí)間及Cookie中文問題    420
7.6  Session的持久化管理    423
7.6.1  Session的持久化    423
7.6.2  Tomcat中的Session持久化管理    423
動手體驗(yàn):Tomcat的Session持久化    424
7.7  思考與實(shí)踐    428
第8章  JSP    430
8.1  JSP入門    430
8.1.1  建立對JSP的直觀認(rèn)識    430
動手體驗(yàn):編寫最基本的JSP程序    431
8.1.2  JSP的運(yùn)行原理    434
多學(xué)兩招:讓JSP引擎不檢測JSP頁面是否發(fā)生修改    435
8.1.3  分析JSP所生成的Servlet代碼    437
指點(diǎn)迷津:out.print語句與out.write語句的區(qū)別    441
8.1.4  JSP隱式對象    441
多學(xué)兩招:使用JSP頁面學(xué)習(xí)Servlet API    443
8.1.5  注冊與配置JSP頁面的訪問路徑    444
8.1.6  JSP與JavaScript的綜合應(yīng)用    444
動手體驗(yàn):JSP與JavaScript的綜合應(yīng)用    445
多學(xué)兩招:降低代碼的嵌套層次,提高程序的易讀性    447
8.1.7  JSP與Servlet的應(yīng)用比較    452
8.2  JSP基本語法    453
8.2.1  JSP模板元素    454
8.2.2  JSP表達(dá)式    454
8.2.3  JSP腳本片斷    454
8.2.4  JSP聲明    456
8.2.5  EL表達(dá)式    459
動手體驗(yàn):EL表達(dá)式將null輸出為空字符串("")的好處    460
8.2.6  JSP注釋    461
動手體驗(yàn):JSP注釋與JSP頁面中的Java注釋和HTML注釋的區(qū)別    461
8.2.7  特殊字符序列的轉(zhuǎn)義處理    462
8.2.8  如何查找JSP頁面中的錯(cuò)誤    464
動手體驗(yàn):查找JSP頁面中的錯(cuò)誤    464
8.3  JSP指令    467
8.3.1  JSP指令簡介    467
8.3.2  page指令    467
動手體驗(yàn):JSP頁面中的異常處理    472
多學(xué)兩招:在web.xml文件中設(shè)置全局錯(cuò)誤處理    474
多學(xué)兩招:如何識別web.xml文件所遵循的Servlet規(guī)范版本    475
8.3.3  include指令    476
動手體驗(yàn):include指令的特性    477
8.4  out對象    479
動手體驗(yàn):out對象的應(yīng)用特性    479
指點(diǎn)迷津:將請求轉(zhuǎn)發(fā)給靜態(tài)HTML頁面的實(shí)驗(yàn)現(xiàn)象為何不穩(wěn)定    482
8.5  pageContext對象    482
8.5.1  pageContext對象簡介    482
8.5.2  獲得其他隱式對象    483
8.5.3  引入和跳轉(zhuǎn)到其他資源    483
動手體驗(yàn):PageContext.forward方法的應(yīng)用細(xì)節(jié)    484
8.5.4  訪問各個(gè)域范圍中的屬性    485
動手體驗(yàn):存儲在pageContext對象中的屬性的作用域    487
8.5.5  pushBody方法與popBody方法    488
8.6  JSP標(biāo)簽    490
8.6.1  <jsp:include>標(biāo)簽    491
動手體驗(yàn):<jsp:include>標(biāo)簽的特性    492
8.6.2  <jsp:forward>標(biāo)簽    494
動手體驗(yàn):<jsp:forward>標(biāo)簽的特性    494
8.6.3  <jsp:param>標(biāo)簽    495
8.6.4  <jsp:plugin>標(biāo)簽    495
8.6.5  腳本元素標(biāo)簽    497
8.6.6  指令標(biāo)簽    497
8.6.7  <jsp:text>標(biāo)簽    497
8.6.8  完全使用標(biāo)簽編寫JSP頁面    497
8.7  JSP的中文亂碼問題    498
8.7.1  JSP中文亂碼的根源    498
8.7.2  JSP引擎翻譯JSP頁面時(shí)的中文亂碼問題    500
動手體驗(yàn):JSP引擎翻譯JSP頁面時(shí)的中文亂碼問題    501
8.7.3  靜態(tài)引入時(shí)的中文亂碼問題    507
動手體驗(yàn):靜態(tài)引入時(shí)的中文亂碼問題    507
8.7.4  <jsp:param>標(biāo)簽傳遞中文參數(shù)時(shí)的問題    509
動手體驗(yàn):<jsp:param>標(biāo)簽傳遞中文參數(shù)時(shí)的問題    509
8.8  思考與實(shí)踐    511
第9章  JavaBean在JSP中的應(yīng)用    513
9.1  JavaBean簡介    513
9.2  JavaBean的屬性    513
9.1.1  JavaBean的屬性簡介    513
9.1.2  簡單屬性    514
9.1.3  Indexed屬性    515
9.3  JavaBean在JSP中的應(yīng)用    516
9.3.1  在JSP中如何使用JavaBean    516
9.3.2  <jsp:useBean>標(biāo)簽    517
動手體驗(yàn):帶標(biāo)簽體的<jsp:useBean>標(biāo)簽的執(zhí)行情況    520
9.3.3  <jsp:setProperty>標(biāo)簽    521
動手體驗(yàn):<jsp:setProperty>標(biāo)簽的應(yīng)用    522
多學(xué)兩招:利用JSP表達(dá)式對JavaBean的特殊類型的屬性進(jìn)行賦值    525
9.3.4  <jsp:getProperty>標(biāo)簽    525
9.3.5  使用JavaBean的注意事項(xiàng)    526
9.4  JSP開發(fā)模式    526
9.4.1  MVC設(shè)計(jì)模式    526
9.4.2  JSP開發(fā)模式    527
9.4.3  用模式一實(shí)現(xiàn)用戶登錄功能    529
動手體驗(yàn):用JSP模式一實(shí)現(xiàn)用戶登錄功能    530
9.4.4  用模式二實(shí)現(xiàn)用戶注冊功能    537
動手體驗(yàn):用JSP模式二實(shí)現(xiàn)用戶注冊功能    538
多學(xué)兩招:在MVC模式中應(yīng)用<jsp:useBean>標(biāo)簽的type屬性    548
9.5  思考與實(shí)踐    548

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號