[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • Java EE 程序設計
    該商品所屬分類:研究生 -> 工學
    【市場價】
    297-430
    【優惠價】
    186-269
    【作者】 郝玉龍 
    【所屬類別】 圖書  教材  研究生/本科/專科教材  工學圖書  計算機/網絡  程序設計  Java 
    【出版社】清華大學出版社 
    【ISBN】9787302507352
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302507352
    叢書名:21世紀高等學校計算機應用技術規劃教材

    作者:郝玉龍
    出版社:清華大學出版社
    出版時間:2019年01月 


        
        
    "

    產品特色
    編輯推薦
    本書基於Java EE 8編程技術進行繫統介紹,首先對Java EE體繫結構進行概述,介紹Java EE的定義、設計思想,技術框架等,然後詳細指導讀者如何基於Netbeans+MySQL來搭建Java EE開發環境,隨後以企業應用開發流程為主線對Java EE編程技術進行了繫統介紹。*後以一個完整信息繫統的開發為示例,從繫統的需求分析開始,到規劃、框架設計、編碼、再到部署發布,一步步引導讀者完成一個完整繫統的開發,向讀者展示靈活運用Java EE技術構建完整信息繫統的基本技巧。
    (1)內容新穎。基於2017年9月推出的*Java EE 8 標準,體現Java EE編程技術的*思想和成果。
    (2)體繫完整。涵蓋JavaEE主要的編程技術,涉及企業應用表現層、邏輯層、數據存儲層等各個層次。通過本書學習能夠繫統掌握利用JavaEE開發企業應用的技能。
    (3)理論與實踐相結合的原則。本書不但講解Java EE基本概念和體繫框架,還演示基本的編程實踐技能。理論與實踐互相印證。 
    內容簡介
    本書基於Java EE 8編程技術進行繫統介紹。本書首先對Java EE體繫結構進行概述,介紹Java EE的定義、設計思想,技術框架等,然後詳細指導讀者如何基於Netbeans+MySQL來搭建Java EE開發環境,隨後以企業應用開發流程為主線對Java EE編程技術進行了繫統介紹。本書*後以一個完整信息繫統的開發為示例,從繫統的需求分析開始,到規劃、框架設計、編碼、再到部署發布,一步步引導讀者完成一個完整繫統的開發,向讀者展示靈活運用Java EE技術構建完整信息繫統的基本技巧。
    目錄
    第1章 Java EE概述 1
    1.1 Java EE產生的背景 1
    1.1.1 企業級應用程序特征 1
    1.1.2 企業級應用程序體繫結構 2
    1.2 Java EE定義 3
    1.3 Java EE編程思想 5
    1.4 Java EE技術框架 6
    1.4.1 組件技術 7
    1.4.2 服務技術 8
    1.4.3 通信技術 9
    1.4.4 架構技術 10
    小結 11
    習題1 12
    第2章 搭建開發環境 13第1章  Java EE概述    1
    1.1  Java EE產生的背景    1
     1.1.1  企業級應用程序特征    1
     1.1.2  企業級應用程序體繫結構    2
    1.2  Java EE定義    3
    1.3  Java EE編程思想    5
    1.4  Java EE技術框架    6
     1.4.1  組件技術    7
     1.4.2  服務技術    8
     1.4.3  通信技術    9
     1.4.4  架構技術    10
    小結    11
    習題1    12
    第2章  搭建開發環境    13
    2.1  概述    13
    2.2  安裝JDK NetBeans IDE    14
    2.3  安裝GlassFish Server 5    16
    2.4  開發環境測試    17
    小結    20
    習題2    20
    第3章  Servlet    21
    3.1  Web應用模型    21
    3.2  Servlet基礎    22
     3.2.1  Servlet定義    22
     3.2.2  Servlet工作流程    22
     3.2.3  Servlet編程接口    25
    3.3  個Servlet    26
    3.4  處理請求    35
     3.4.1  請求參數    35
     3.4.2  Header    40
     3.4.3  上傳文件    42
     3.4.4  異步請求處理    44
     3.4.5  異步IO處理    47
    3.5  生成響應    52
     3.5.1  編碼類型    53
     3.5.2  流操作    53
     3.5.3  重定向    55
     3.5.4  服務器推送    56
    3.6  Servlet配置    58
     3.6.1  初始化參數    58
     3.6.2  URL模式    61
     3.6.3  默認Servlet    61
    3.7  會話管理    61
     3.7.1  Cookie    62
     3.7.2  URL重寫    65
     3.7.3  HttpSession    67
    3.8  Servlet上下文    70
    3.9  Servlet間協作    73
    3.10  Filter    78
    3.11  Listener    83
    小結    93
    習題3    93
    第4章  JSP    94
    4.1  概述    94
    4.2  個JSP    95
    4.3  腳本    96
     4.3.1  輸出表達式    96
     4.3.2  注釋    97
     4.3.3  聲明變量、方法、類    98
    4.4  指令    102
     4.4.1  page指令    102
     4.4.2  include指令    105
    4.5  動作組件    107
    4.6  內置對像    114
     4.6.1  request對像    114
     4.6.2  response對像    122
     4.6.3  session對像    124
     4.6.4  application對像    127
     4.6.5  out對像    129
     4.6.6  exception對像    129
     4.6.7  內置對像的作用範圍    131
    4.7  表達式語言    131
     4.7.1  基本語法    131
     4.7.2  隱式對像    133
     4.7.3  存取器    134
    4.8  使用JavaBean    135
    小結    140
    習題4    141
    第5章  JSF    142
    5.1  JSF概述    142
     5.1.1  什麼是框架    142
     5.1.2  JSF框架    143
     5.1.3  JSF框架的優勢    144
    5.2  個JSF應用    144
     5.2.1  創建JSF項目    144
     5.2.2  模型組件    147
     5.2.3  視圖組件    148
     5.2.4  控制組件    148
     5.2.5  運行演示    149
    5.3  Managed Bean    150
     5.3.1  定義Managed Bean    150
     5.3.2  生命周期    153
     5.3.3  Bean之間的依賴    157
    5.4  Facelets    159
     5.4.1  組件樹    159
     5.4.2  標記    160
     5.4.3  EL支持    164
     5.4.4  資源管理    165
    5.5  頁面模板    167
    小結    171
    習題5    171
    第6章  WebSocket    172
    6.1  引言    172
    6.2  WebSocket的工作機制    172
    6.3  Java EE對WebSocket的支持    174
    6.4  利用WebSocket實現聊天室應用    175
    小結    182
    習題6    182
    第7章  JDBC和數據源    183
    7.1  搭建JDBC開發環境    183
     7.1.1  安裝數據庫繫統    183
     7.1.2  安裝驅動程序    185
    7.2  連接數據庫    186
    7.3  執行SQL語句    188
     7.3.1  Statement    190
     7.3.2  PreparedStatement    193
     7.3.3  CallStatement    197
    7.4  ResultSet    199
     7.4.1  光標    199
     7.4.2  BLOB字段處理    200
    7.5  RowSet    202
    7.6  連接池和數據源    205
     7.6.1  創建MySQL數據庫的連接池    207
     7.6.2  創建數據源    211
     7.6.3  基於數據源訪問數據庫    212
    小結    213
    習題7    213
    第8章  JPA    214
    8.1  概述    214
    8.2  個JPA應用    215
     8.2.1  持    215
     8.2.2  Entity    217
     8.2.3  EntityManager    218
     8.2.4  運行演示    220
    8.3  ORM    221
     8.3.1  Entity    221
     8.3.2  主鍵    222
     8.3.3  復合主鍵    222
     8.3.4  屬性    226
     8.3.5  關聯映射    229
     8.3.6  加載方式    234
     8.3.7  順序    234
     8.3.8  繼承映射    235
    8.4  Entity管理    236
     8.4.1  獲取EntityManager    236
     8.4.2  持久化上下文    236
     8.4.3  Entity操作    237
     8.4.4  級聯操作    245
    8.5  JPQL    247
     8.5.1  動態查詢    247
     8.5.2  參數設置    249
     8.5.3  命名查詢    249
     8.5.4  屬性查詢    250
     8.5.5  使用構造器    251
    8.6  本地查詢    251
    8.7  基於Criteria API的安全查詢    252
    8.8  生命周期回調方法    255
    8.9  緩存    257
    小結    259
    習題8    259
    第9章  EJB    260
    9.1  EJB基礎    260
     9.1.1  為什麼需要EJB    260
     9.1.2  EJB容器    261
     9.1.3  EJB組件    263
     9.1.4  EJB接口    264
     9.1.5  EJB分類    264
     9.1.6  部署EJB    264
     9.1.7  EJB的優點    265
    9.2  無狀態會話Bean    265
     9.2.1  什麼是無狀態會話Bean    265
     9.2.2  開發一個無狀態會話EJB    266
     9.2.3  利用Servlet測試無狀態會話EJB    273
     9.2.4  利用遠程客戶端測試無狀態會話Bean    276
    9.3  有狀態會話Bean    278
     9.3.1  基本原理    278
     9.3.2  實現有狀態會話Bean    279
    9.4  單例會話Bean    284
     9.4.1  基本原理    284
     9.4.2  利用JSF訪問單例會話Bean    284
     9.4.3  並發控制    286
     9.4.4  依賴管理    288
    9.5  消息驅動Bean    289
     9.5.1  基本原理    289
     9.5.2  實現消息驅動Bean    289
    9.6  Time服務    295
    9.7  攔截器    297
    9.8  異步方法    300
    9.9  事務支持    306
    小結    307
    習題9    307
    第10章  CDI    308
    10.1  引言    308
    10.2  CDI概述    308
    10.3  CDI下的受控Bean    308
    10.4  Bean的生命周期範圍    313
    10.5  使用限定符注入動態類型    314
    10.6  使用替代符實現部署時注入類型    317
    10.7  使用生產方法注入動態內容    320
    10.8  使用攔截器綁定注入功能服務    323
    10.9  利用構造型封裝注入操作    326
    小結    328
    習題10    328
    第11章  Bean Validation    329
    11.1  引言    329
    11.2  Bean校驗概述    329
    11.3  使用默認約束器    330
    11.4  Entity校驗    334
    11.5  實現自定義約束器    335
    11.6  約束的傳遞    338
    11.6.1  繼承    338
    11.6.2  級聯    340
    小結    341
    習題11    341

    第12章  Web服務    342
    12.1  引言    342
    12.2  Web服務的定義    342
    12.3  JAX-WS Web服務    343
    12.3.1  JAX-WS Web服務協議體繫    344
    12.3.2  JAX-WS Web服務工作模型    345
    12.4  開發JAX-WS Web服務實例    346
    12.4.1  創建Web服務組件    346
    12.4.2  為Web服務組件添加業務邏輯    347
    12.4.3  部署Web服務    348
    12.4.4  測試Web服務    348
    12.5  調用JAX-WS Web服務    351
    12.5.1  添加Web服務客戶端    351
    12.5.2  調用Web服務    352
    12.6  將會話Bean發布為Web服務    354
    12.7  RESTful Web服務    355
    12.7.1  什麼是REST    356
    12.7.2  利用JAX-RS開發RESTful Web服務    356
    12.8  利用JSON交換數據    361
    12.9  JAX-RS與JAX-WS對比    364
    小結    365
    習題12    366
    第13章  綜合練習    367
    13.1  基礎知識    367
    13.1.1  概述    367
    13.1.2  架構類型    367
    13.2  功能需求    369
    13.3  數據庫設計    369
    13.4  繫統整體架構    370
    13.5  繫統實現    370
    13.5.1  表示邏輯層    370
    13.5.2  業務邏輯層    374
    13.5.3  數據表示層    375
    13.6  運行界面    377
    小結    378


    前言
    為什麼寫作本書
    隨著社會信息化程度的不斷提高,越來越多的軟件開發人員需要開發企業級應用程序。目前,企業應用開發主要有兩大技術體繫:基於Java EE的應用開發和基於.NET的應用開發。Java EE技術以其開放性、靈活性、安全性和技術成熟度,贏得了諸多程序設計人員的青睞,熟練掌握Java EE程序設計已經成為軟件開發人員的重要技能。
    本書的特色
    本書的特色在於堅持理論與實踐相結合的原則,既注重Java EE基本原理的講解,又注重Java EE程序設計實踐應用的示範,使讀者既能夠透徹理解Java EE的基本原理和概念,又能夠切實提高Java EE編程能力。在Java EE基本原理講解方面,結合作者自身的理解和體會,以通俗、簡練的語言對Java EE核心概念和原理進行重點講解,盡量避免在一些煩瑣的技術細節上過多糾纏,不求面面俱到,力爭使讀者能夠在較短的時間內掌握在實際應用開發中必需的基本概念和技術,並對Java EE的體繫框架有整體認識。書中所有示例都是作者結合多年教學實踐和實際工程項目經驗嚴格挑選的,力求簡潔明了、切中要害、使讀者能夠快速理解並運用到實踐中。為什麼寫作本書
    隨著社會信息化程度的不斷提高,越來越多的軟件開發人員需要開發企業級應用程序。目前,企業應用開發主要有兩大技術體繫:基於Java EE的應用開發和基於.NET的應用開發。Java EE技術以其開放性、靈活性、安全性和技術成熟度,贏得了諸多程序設計人員的青睞,熟練掌握Java EE程序設計已經成為軟件開發人員的重要技能。
    本書的特色
    本書的特色在於堅持理論與實踐相結合的原則,既注重Java EE基本原理的講解,又注重Java EE程序設計實踐應用的示範,使讀者既能夠透徹理解Java EE的基本原理和概念,又能夠切實提高Java EE編程能力。在Java EE基本原理講解方面,結合作者自身的理解和體會,以通俗、簡練的語言對Java EE核心概念和原理進行重點講解,盡量避免在一些煩瑣的技術細節上過多糾纏,不求面面俱到,力爭使讀者能夠在較短的時間內掌握在實際應用開發中必需的基本概念和技術,並對Java EE的體繫框架有整體認識。書中所有示例都是作者結合多年教學實踐和實際工程項目經驗嚴格挑選的,力求簡潔明了、切中要害、使讀者能夠快速理解並運用到實踐中。
    本書的另一大特色是繫統完整、結構合理。Java EE是一個包含眾多開發技術的標準規範,涵蓋了企業應用開發的各個層面。本書首先對Java EE編程技術進行概述;然後選取Java EE編程中核心的技術進行深入講解,力求使讀者在學習後能夠對整個Java EE技術體繫和編程思想有全面清晰的了解;後通過一個綜合示例對之前所學內容進行總結歸納和升華提高。
    開發環境的選擇
    為方便Java EE程序開發技能的示範,本書采用目前流行的免費Java EE開發環境NetBeans IDE和GlassFish Server。首先,因為NetBeans是目前一個集成了完全兼容Java EE 8規範的應用服務器的集成開發環境,減少了在開發環境搭建方面的難度;其次,NetBeans對硬件配置要求不高,且能夠滿足學習培訓的需求。
    適用讀者
    本書適合已經掌握了Java語言,希望學習Java EE程序設計的讀者。由於Java EE 8規範中吸收了當今流行框架的設計思想和理念,在學習完本書的內容後再深入學習Struts 2、Spring和Hibernate等流行架構技術將會有更好的效果。
    致謝
    本書的整體設計與內容安排由郝玉龍完成。郝玉龍完成了本書第1~4章以及第11~13章的編寫,季平完成本書第5~8章的編寫,周旋和瀋力斌共同完成了本書第9章的編寫,張莉和田麗共同完成了本書第10章的編寫。關靜和胡志宇對本書的整體內容進行了審閱,並提出了一些寶貴的修改意見。莊薇和張琪兩位同學完成了本書所有圖表的繪制和文字校對。全書由郝玉龍負責校審定稿。
    由於作者水平有限,加之編寫時間倉促,書中難免出現錯誤和不足。對於書中的任何問題和建議,請發E-mail至:haoyulongsd@163.com。

      作  者  
    2018年6月於北京


    在線試讀
    Servlet
    本章要點:
    ? Servlet的工作原理
    ? Servlet的基本編程技能,包括請求處理、響應生成和參數配置等
    ? Servlet的高級編程技能,包括會話管理、上下文和Servlet間協作
    ? Servlet Filter的工作原理和編程方法
    ? Servlet Listener的工作原理和編程方法

    本章首先講解Servlet的定義和工作原理,隨後通過示例講解Servlet編程基礎包括請求處理、響應生成和參數配置等;在此基礎上,對會話管理、Servlet上下文、Servlet間協作等高級編程技巧進行深入講解;後介紹Servlet編程中的兩類高級功能組件Filter和Listener。
    3.1 Web應用模型
    Java EE企業應用常見的場景就是處理Web請求並生成動態響應。因此Java EE學習之旅的站自然從Java EE的Web組件Servlet開始。不過在學習Servlet 編程之前,開發人員應該首先了解Web應用是如何工作的。
    所謂Web應用,指的是可通過Web訪問的應用程序,如門戶網站等。區別於在計算機本地運行的桌面應用如Word、Excel等,Web應用由客戶端和服務器兩部分組成,二者通過HTTP協議進行交互,如圖3-1所示。

    圖3-1 Web應用模型
    HTTP是Web應用常用的協議。廣泛使用的HTTP版本是1.1,它工作在請求響應模式下,一次請求處理流程包含如下四個步驟。
    Servlet
    本章要點:
    ?    Servlet的工作原理
    ?    Servlet的基本編程技能,包括請求處理、響應生成和參數配置等
    ?    Servlet的高級編程技能,包括會話管理、上下文和Servlet間協作
    ?    Servlet Filter的工作原理和編程方法
    ?    Servlet Listener的工作原理和編程方法

    本章首先講解Servlet的定義和工作原理,隨後通過示例講解Servlet編程基礎包括請求處理、響應生成和參數配置等;在此基礎上,對會話管理、Servlet上下文、Servlet間協作等高級編程技巧進行深入講解;後介紹Servlet編程中的兩類高級功能組件Filter和Listener。
    3.1  Web應用模型
    Java EE企業應用常見的場景就是處理Web請求並生成動態響應。因此Java EE學習之旅的站自然從Java EE的Web組件Servlet開始。不過在學習Servlet 編程之前,開發人員應該首先了解Web應用是如何工作的。
    所謂Web應用,指的是可通過Web訪問的應用程序,如門戶網站等。區別於在計算機本地運行的桌面應用如Word、Excel等,Web應用由客戶端和服務器兩部分組成,二者通過HTTP協議進行交互,如圖3-1所示。

    圖3-1  Web應用模型
    HTTP是Web應用常用的協議。廣泛使用的HTTP版本是1.1,它工作在請求響應模式下,一次請求處理流程包含如下四個步驟。

    (1)客戶端向服務器發送一個請求,請求頭部包含請求的方法、URI、協議版本,以及包含請求修飾符、客戶端信息和內容的類似MIME的消息結果。
    (2)服務器接收到請求信息後建立與客戶端的連接。
    (3)服務器對客戶端提交的請求信息進行處理,並終返回一個響應,內容包括消息協議的版本、成功或失敗編碼加上包含服務器信息信息以及其他內容。
    (4)服務器斷開與客戶端的連接。
    如果客戶端需要再次向服務器請求信息,則進入如上所示新一輪的處理流程。
    對於HTTP 1.1協議有以下兩個特性開發人員必須要牢記:
    (1)HTTP協議是無狀態的。服務器並不會記錄和保存客戶端的任何信息。也就是說,同一用戶在第二次訪問同一服務器上的頁面時,服務器的響應過程與次被訪問時相同。至於服務器如何處理來自同一客戶端的請求,將在3.7節進行深入講解。
    (2)HTTP是無連接的。服務器並不會保持與客戶端的永久性連接。服務器隻是在收到客戶端的請求後纔會與客戶端建立起連接,一旦服務器生成響應並返回客戶端,服務器就將斷開與客戶端的連接。如果客戶端需要請求服務器上另外一個資源,則需要重新建立與服務器的連接。
    3.2  Servlet基礎
    3.2.1  Servlet定義
    Servlet是服務器端的Java應用程序,它用來擴展服務器的功能,可以生成動態的Web頁面。Servlet與傳統Java應用程序的不同在於:它不是從命令行啟動的,而是由包含Java虛擬機的Web服務器進行加載。
    Applet是運行於客戶端瀏覽器的Java應用程序,Servlet與Applet相比較,有以下特點。
    1.相似之處
    (1)它們不是獨立的應用程序,沒有main方法。
    (2)它們不是由用戶調用,而是由另外一個應用程序(容器)調用。
    (3)它們都有一個生命周期,包含init和destroy方法。
    2.不同之處
    (1)Applet運行在客戶端,具有豐富的圖形界面。
    (2)Servlet運行在服務器端,沒有圖形界面。
    造成這種差別的原因在於它們所肩負的使命不同。Applet目的是為了實現瀏覽器與客戶的強大交互,因此需要豐富多樣的圖形交互界面;Servlet用於擴展服務器端的功能,實現復雜的業務邏輯,它不直接同客戶交互,因此不需要圖形界面。
    Servlet 的用途是通過動態響應客戶端請求來擴展服務器功能。
    3.2.2  Servlet工作流程
    Servlet運行在Web服務器上的Web容器裡。Web容器負責管理Servlet。它裝入並初始化Servlet,管理Servlet的多個實例,並充當請求調度器,將客戶端的請求傳遞到Servlet,並將Servlet的響應返回給客戶端。Web容器在 Servlet 的使用期限結束時終結該 Servlet。服務器關閉時,Web容器會從內存中卸載和除去 Servlet。
    Servlet的基本工作流程如下:
    (1)客戶端將請求發送到服務器。
    (2)服務器上的Web容器實例化(裝入)Servlet,並為Servlet進程創建線程。請注意,Servlet是在出現個請求時裝入的,在服務器關閉之前不會卸載它。

    注意:Servlet也可以配置為Web應用程序啟動時自動裝載。關於如何配置Servlet將在3.6節詳細講解。

    (3)Web容器將請求信息發送到Servlet。
    (4)Servlet 創建一個響應,並將其返回到Web容器。Servlet使用客戶端請求中的信息以及服務器可以訪問的其他信息資源(如資源文件和數據庫等)來動態構造響應。
    (5)Web容器將響應返回客戶端。
    (6)服務器關閉或Servlet空閑時間超過一定限度時,調用destroy方法退出。
    從上面Servlet的工作基本流程可以看出,客戶端與Servlet間沒有直接的交互。無論是客戶端對Servlet的請求還是Servlet對客戶端的響應,都是通過Web容器來實現的,這就大大提高了Servlet組件的可移植性。
    下面對Servlet的工作基本流程進行詳細說明。
    1.Servlet裝入和初始化
    次請求Servlet時,服務器將動態裝入並實例化 Servlet。開發人員可以通過Web配置文件將Servlet配置成在Web服務器初始化時直接裝入和實例化。Servlet 調用 init方法執行初始化。init方法隻在 Servlet創建時被調用,所以,它常被用來作為一次性初始化的工作,如裝入初始化參數或獲取數據庫連接。
    init方法有兩個版本:一個沒有參數,一個以 ServletConfig 對像作為參數。
    2.調用Servlet
    每個Servlet都對應一個URL地址。Servlet 可以作為顯式 URL 引用調用,或者嵌入在HTML中並從Web應用程序調用。
    Servlet和其他資源文件(如JSP文件、靜態HTML文本等)打包作為一個Web應用存放在Web服務器上。對於每個Web應用,都可以存在一個配置文件web.xml。關於Servlet的名稱、對應的Java類文件、URL地址映射等信息都存放在配置文件web.xml中。當Web服務器接收到對URL地址的請求信息時,會根據配置文件中URL地址與Servlet之間的映射關繫將請求轉發到指定的Servlet來處理。

    說明:自Java EE 6版本以來,Java EE規範推薦使用注解來配置Web組件,而不是使用配置文件web.xml。注解是內嵌在Java代碼中的一種特殊標記,關於注解的使用本書後面的示例中會反復講到。因此,在Java EE 6版本以上的 Web應用中,也允許沒有
















     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部