開發過程詳盡。書中對於給出的例子均配有大量的步驟說明和截圖,使讀者能按照流程自行完成項目的開發。書中對開發中可能出現的錯誤進行了較為詳細的描述,使讀者在實際開發中能輕松排除錯誤。
本書是為應用型人纔培養而編寫的基於JSP的Web應用開發教材。Web應用開發是網頁設計、數據庫等各種技術的集成與綜合應用。本書通過通俗易懂的語言和實用生動的例子,繫統地介紹Web應用開發的基本常識、開發環境與開發工具、JavaScript語言、JSP基本語法、內置對像、JavaBean技術、Servlet技術、實用組件、數據庫應用開發和高級程序設計等技術,並且在每一章的後面提供了習題,方便讀者及時驗證自己的學習效果。本書內容深入淺出、循序漸進,程序案例生動易懂,注重Web應用技術實踐能力的培養,全書附加了大量案例,可以讓學生通過案例的學習,快速提升自己的Web應用開發能力。 本書既可作為高等院校計算機科學與技術相關專業本科及專科學生的Web程序設計、網絡程序設計、Web應用開發、動態網站制作、JSP程序設計等課程的教材,又可作為教師、自學者的參考用書,同時也可作為JSP初學者及各類Web應用開發設計人員的培訓教材和學習參考書。學習本書時,讀者需要具備Java程序設計、數據庫原理、計算機網絡等方面的基礎知識。 本書配有電子教案及相關教學資源,讀者可從www.tup.com.cn下載。
目錄部分簡介與環境
第1章Web應用開發基礎——萬丈高樓平地起31.1計算機網絡基礎知識31.1.1計算機網絡31.1.2Internet41.1.3TCP/IP51.2IP地址、域名和URL51.2.1IP地址51.2.2域名61.2.3URL71.3Web概述91.3.1WWW(萬維網)91.3.2什麼是網頁91.3.3構成網頁素101.3.4網頁的分類131.4Web開發與運行環境概述141.4.1簡單的Web應用開發運行環境141.4.2虛擬的Web應用開發運行環境151.4.3幾種Web動態網頁開發技術151.4.4常用的Web動態網頁開發軟件181.5JSP及其相關技術介紹211.5.1Java語言211.5.2Servlet技術211.5.3JavaBean技術221.5.4JSP開發與運行環境221.5.5JSP運行機制231.6習題24
第2章搭建JSP開發運行環境——工欲善其事,必先利其器252.1JSP開發運行環境及安裝準備工作252.2JSP開發運行環境安裝與配置262.2.1JDK的安裝與配置262.2.2MyEclipse的安裝、配置與使用342.2.3MySQL數據庫的安裝、配置與使用542.2.4Navicat Premium及其安裝652.2.5SublimeText及其安裝692.2.6Git、TortoiseGit及其安裝702.3JSP服務器環境安裝與配置792.3.1JSP服務器運行環境792.3.2服務器軟件Tomcat的安裝與配置792.3.3創建Web服務目錄842.4習題862.4.1簡答題862.4.2上機練習862.4.3實訓課題86
第3章Web項目實例分析與設計——揚帆起航873.1項目開發流程873.2教學日志管理繫統分析與設計913.2.1教學日志管理繫統需求分析913.2.2教學日志管理繫統設計95第二部分前 端 開 發第4章HTML——一切從HTML開始1014.1HTML概述1014.1.1HTML入門——一個簡單的HTML案例1024.1.2HTML標簽的基本概念1044.1.3HTML文件基本架構1064.1.4HTML的語法規範1094.2HTML文本格式標簽1114.2.1標題標簽…1114.2.2文字格式標簽…1124.2.3字型設置標簽1144.2.4文字滾動標簽1154.2.5段落標簽1164.3圖像與多媒體標簽1204.3.1圖像標簽1204.3.2背景音樂標簽1214.3.3多媒體標簽1224.4HTML的超鏈接標簽1234.5HTML的表格、列表與塊容器標簽1244.5.1表格標簽1244.5.2列表標簽1294.5.3塊容器標簽和1314.6表單標簽1334.6.1表單標簽…1344.6.2輸入標簽1344.6.3下拉列表框標簽…1364.6.4多行文本框標簽…1364.7窗口框架標簽1384.7.1窗口框架標簽1384.7.2不支持框架標簽1394.8頁面動態刷新和浮動窗口標簽1424.8.1頁面動態刷新標簽1424.8.2浮動窗口標簽1434.9網頁中嵌入Java語言小程序的標簽1444.10HTML 51464.10.1HTML 5簡介1464.10.2HTML 5的開發工具1464.10.3HTML 5代碼編寫規範1464.10.4HTML 5新的語法架構1484.10.5HTML 5新的頁面架構1484.10.6HTML 5新增的標簽及不再使用的標簽1504.10.7HTML 5屬性的變化1514.10.8HTML 5新增的部分標簽詳解1544.11習題1694.11.1填空題1694.11.2選擇題1694.11.3簡答題1714.11.4實訓題171第5章網頁布局之DIV CSS——網頁化妝師1725.1CSS基礎1725.1.1CSS的創建與使用1725.1.2CSS語法1755.1.3派生選擇器1775.1.4id選擇器1785.1.5CSS類選擇器1795.1.6CSS屬性選擇器1805.2CSS樣式1825.2.1CSS背景1825.2.2CSS文本1855.2.3CSS字體1895.2.4CSS鏈接1925.2.5CSS列表1935.2.6CSS表格1945.2.7CSS輪廓1965.2.8CSS對齊1965.3CSS框模型1975.4CSS邊距1995.5DIV CSS網頁布局1995.5.素素1995.5.2制作網頁導航條2035.5.3網頁布局設計2075.6習題211第6章網頁布局之FlexBox——布局新秀2136.1FlexBox概述2136.1.1FlexBox的使用2136.1.2FlexBox基本概念2146.2FlexBox屬性2156.2.1flexdirection屬性2156.2.2flexgrow屬性2156.2.3flexwrap屬性2186.2.4justifycontent屬性2186.2.5alignitems屬性2186.2.6order屬性2216.2.7flexshrink屬性2226.2.8flexbasis屬性2226.3FlexBox應用舉例2226.4FlexBox布局總結2246.5習題224第7章網頁布局之Bootstrap——布局大佬2257.1Bootstrap簡介2257.1.1Bootstrap概述2257.1.2Bootstrap的使用2257.2Bootstrap的網格繫統2277.2.1網格繫統簡介2277.2.2網格繫統的應用2287.3Bootstrap排版2307.3.1標題2307.3.2頁面主體2317.3.3對齊與改變大小寫2317.3.4縮略語2317.3.5地址2327.3.6引用2327.3.7代碼塊2337.4Bootstrap表格2347.4.1條紋狀表格2347.4.2帶邊框的表格2357.4.3鼠標懸停效果的實現2367.4.4表格緊縮效果的實現2377.4.5表格的狀態類2387.4.6響應式表格2397.5Bootstrap表單2407.5.1基本表單2407.5.2內聯表單2417.5.3水平表單2427.5.4Bootstrap支持的表單控件2447.5.5靜態控件2467.5.6表單控件的狀態2477.5.7表單控件的大小2507.5.8表單的幫助文本2517.6Bootstrap按鈕和圖片2517.6.1可作為按鈕使用的素2517.6.2預定義樣式2527.6.3按鈕的大小2527.6.4按鈕的狀態2537.6.5圖片2547.7Bootstrap布局組件2557.7.1下拉菜單2557.7.2按鈕組2567.7.3按鈕下拉菜單2577.7.4面板2597.7.5導航菜單2637.8使用Bootstrap開發網站後臺管理界面2667.8.1頁面的基本框架2667.8.2導航欄部分2667.8.3頁面的主要內容部分2687.9習題276第8章JavaScript語言——網頁動起來2778.1JavaScript語言概述2778.1.1一個簡單的包含JavaScript語言的網頁2778.1.2JavaScript語言概述2788.1.3JSP中如何嵌入JavaScript小程序2808.2JavaScript的數據類型、運算符2808.2.1保留字2808.2.2數據類型2818.2.3變量2818.2.4運算符2828.3JavaScript的函數2848.4JavaScript的事件2858.5JavaScript對像及其使用2878.6JavaScript程序流程的控制2918.6.1if條件判斷結構2918.6.2switch多路分支結構2928.6.3for循環控制結構2958.6.4while循環控制結構2968.6.5do…while循環控制結構2988.7文檔對像模型2998.7.1文檔對像模型應用舉例2998.7.2文檔對像模型概述3018.7.3文檔對像模型的節點訪問方法3038.8習題306第9章EasyUI——把窗口繫統搬到網頁上3079.1EasyUI簡介3079.1.1EasyUI概述3079.1.2EasyUI的使用3089.2EasyUI應用3119.3EasyUI的菜單與按鈕3219.3.1簡單菜單3219.3.2鏈接按鈕3229.3.3菜單按鈕3239.3.4分割按鈕3249.4EasyUI布局3259.4.1邊框布局3259.4.2復雜布局3279.4.3折疊面板3299.4.4標簽頁3299.5EasyUI數據網格3329.5.1數據網格3329.5.2取得數據網格選中行的數據3349.5.3添加工具欄3349.5.4格式化列3369.5.5設置排序3389.6EasyUI窗口3399.6.1簡單窗口3399.6.2自定義窗口工具欄3409.6.3窗口與布局3419.6.4對話框3439.7EasyUI樹形菜單3449.7.1使用標簽創建樹形菜單3449.7.2創建異步樹形菜單3449.8EasyUI表單3469.8.1創建異步提交表單3469.8.2表單驗證3479.8.3創建樹形下拉框3499.9習題350第10章案例項目的頁面設計——面子很重要35110.1教學日志管理繫統的主頁面設計35110.2教學日志管理繫統的登錄頁面設計35410.3教學日志管理繫統的教師端頁面設計35510.4習題361第三部分後 端 開 發第11章Web服務器端程序——有人做面子,就得有人做裡子36511.1Web服務器端簡介36511.2Web服務器端語言迭代歷史36611.2.1靜態頁面時代36611.2.2CGI時代36611.2.3動態頁面時代36911.3習題374第12章Servlet——Java中的CGI37512.1Servlet的工作原理37512.1.1Servlet概述37512.1.2Servlet的層次結構37612.1.3Servlet的生命周期37812.2Servlet創建與使用38012.2.1Servlet程序的編寫過程38012.2.2個Servlet程序38212.3doGet與doPost方法38412.4重定向與轉發39112.4.1請求轉發39112.4.2重定向跳轉39212.5習題393第13章JSP頁面與標簽——雜燴飯39413.1JSP概述39413.1.1JSP39413.1.2為什麼要有JSP39613.2JSP的工作原理39713.3JSP語法39913.3.1JSP腳本39913.3.2JSP聲明39913.3.3JSP注釋40013.3.4JSP指令40013.3.5JSP表達式40013.3.6JSP控制流40213.4JSP指令40413.4.1page指令40513.4.2include指令41213.5JSP動作標簽41313.6習題415第14章JSP內置對像——通於天地謂之神41614.1JSP內置對像簡介41614.2out對像41714.2.1輸出信息的方法41714.2.2與緩衝區相關的方法41814.3request對像42014.3.1用request讀取客戶端傳遞來的參數42014.3.2request作用範圍變量42514.3.3用request讀取繫統信息42914.3.4用request讀取HTTP請求報頭信息43214.3.5用request讀取Cookie43214.3.6用request選擇國際化信息43714.4response對像43714.4.1輸出緩衝區與響應提交43714.4.2HTTP響應報頭設置43814.4.3用response實現文件下載44114.5application對像44414.5.1用application訪問Web應用的初始參數44414.5.2application作用範圍變量44514.5.3用application對像讀取Servlet容器信息44714.5.4用application記錄操作日志44714.6session對像44814.6.1用URL重寫實現session跟蹤44914.6.2用Cookie實現session跟蹤45114.6.3用隱藏表單域實現session跟蹤45414.6.4session作用範圍變量與session跟蹤45614.7其他JSP內置對像46114.7.1config隱含對像46114.7.2exception隱含對像46214.7.3page隱含對像46314.7.4pageContext隱含對像46314.8習題464第15章JSTL和EL表達式——混入HTML的另類46515.1概述46515.2JSTL的使用46615.2.1為JSP添加JSTL支持46615.2.2核心標簽庫簡介46715.2.3標簽46815.2.4標簽46915.2.5標簽46915.2.6標簽47015.2.7、和標簽47115.2.8標簽47215.2.9核心標簽庫中的其他標簽47415.2.10格式化標簽庫47415.3EL表達式47615.3.1簡介47615.3.2EL表達式的隱含對像47815.4MVC中使用EL表達式47915.5習題483第16章數據持久化——志不強則智不達48416.1為何要做數據持久化48416.2文件存儲48416.2.1文件讀取48416.2.2文件寫入48716.2.3文件隨機讀寫48816.2.4網頁中的讀寫48916.2.5文件數據存儲格式49016.3數據庫讀寫49216.3.1數據庫的思想49216.3.2建立數據庫49316.3.3連接數據庫50116.3.4數據庫查詢50516.4案例50616.4.1用戶登錄案例50616.4.2書籍的列表與編輯案例51316.5習題516第17章輕量級的MVC ORM框架YangMVC——輕車簡從51717.1MVC簡介51717.1.1MVC的產生原因51717.1.2MVC基本概念51917.1.3歷史上的MVC52017.2YangMVC簡介52117.2.1框架特點52117.2.2框架配置52117.3Hello World案例52417.4CRUD案例52517.4.1案例所使用的數據庫52517.4.2數據列表52517.4.3數據添加52817.4.4數據修改53117.4.5數據刪除53317.4.6數據分頁列表53317.5控制器詳解53617.5.1控制器創建53617.5.2路徑映射53717.5.3控制器方法53817.5.4獲取參數53817.5.5輸出文本或網頁53917.5.6輸出JSON54017.5.7使用FreeMarker輸出54117.5.8session訪問54217.5.9application訪問54217.5.10上傳文件54317.5.11外鍵54617.5.12單例模式54817.6數據庫訪問54817.6.1簡介54817.6.2Model與DBTool54817.6.3Model數據訪問54917.6.4數據修改55017.6.5數據插入55017.6.6數據查詢55117.6.7數據刪除55217.6.8LasyList的使用55217.7登錄案例55317.7.1登錄邏輯55317.7.2登錄表單55317.7.3數據庫的用戶表55617.7.4提交處理55717.8習題558第18章Hibernate——鏡花亦花,水月亦月55918.1使用Hibernate進行數據庫讀寫55918.2Hibernate的配置55918.3使用Hibernate進行開發56618.4習題573第19章MVC架構與Struts——三權分立,各司其職57419.1自己動手實現MVC57419.2Struts入門57819.2.1Struts簡介57819.2.2Struts環境配置57919.2.3Hello Struts58219.3Struts進階58519.3.1Struts處理表單和URL參數58519.3.2Action屬性的輸出58619.3.3用戶登錄實例58619.4習題590第20章Spring之旅——保姆改變世界59120.1依賴注入思想59120.1.1“喫飯問題”的硬編碼59120.1.2“喫飯問題”的工廠模式59220.1.3“食品工廠”的反射機制實現59320.1.4“喫飯問題”的反轉控制59420.2Spring中的依賴注入實現59520.2.1Spring安裝59520.2.2Spring中的“喫飯問題”59620.2.3“喫飯問題”之我的雞蛋你別喫59820.2.4“喫飯問題”之花樣繁多59820.3面向切面的編程59920.4Spring中的面向切面的編程60020.5在Web中使用Spring60220.5.1自定義Servlet初始化Spring60220.5.2使用Spring給出的Listener初始化60420.5.3使用Spring給出的Servlet初始化60720.6習題608第21章案例繫統的功能實現——沒後端就是花架子60921.1前言60921.2數據庫設計60921.2.1數據庫應具備的功能60921.2.2數據庫表格60921.2.3數據庫工具的使用61221.3項目建立和HTML導入61221.4主頁和用戶管理61321.4.1主頁61321.4.2教師職工登錄61421.4.3院繫部門登錄61821.4.4用戶注冊62021.4.5教師用戶主頁62421.4.6查看個人信息63021.4.7修改個人信息63221.4.8修改密碼63521.4.9用戶退出63721.5課程管理63721.5.1課程信息63721.5.2課程添加63821.6教學日志管理64021.6.1查看所有教學日志64021.6.2新建教學日志64121.6.3查詢教學日志64421.6.4我的未完成日志64721.6.5教學日志信息64821.6.6修改教學日志項64921.6.7刪除教學日志項65221.7期末總結管理65221.7.1新建期末總結65321.7.2待評價期末總結65321.7.3已評價期末總結65421.8院繫管理功能65421.9本章小結65421.10習題655前言前言基於B/S架構的Web信息繫統已經成為當前計算機信息繫統的主流實現方案,在政府、企業、公共事業服務等領域得到廣泛應用。Web技術是目前網絡信息應用的基礎,是信息管理、計算機等專業的一項主要信息技術,是當今從事信息專業的技術人員和管理者需要掌握的重要技能。本書包含JSP Web應用開發需要熟練掌握的以下3方面內容。(1) JSP Web開發與運行環境搭建技術。主要涉及JSP Web應用開發軟、硬件平臺搭建的基本技術。(2) Web前端開發。主要內容包括HTML基礎,Web前端開發工具,網頁的創建和編輯,網頁布局、CSS和 JavaScript,目前業界流行的前端開發類庫ExtJs以及基本的Web編程能力。(3) Web後端開發。主要內容包括Web服務器的安裝與配置、Servlet、JSP頁面標簽、內置對像、JavaBean、數據持久化、MVC架構,以及業界流行的Struts、Spring和Hibernate。本書編者具有多年的JSP Web應用開發教學與多個JSP Web項目的開發經歷,積累了豐富的JSP Web應用開發經驗。因此,本書是編者豐富的理論和實踐經驗相結合的結晶。本書具有以下4個特點。前言基於B/S架構的Web信息繫統已經成為當前計算機信息繫統的主流實現方案,在政府、企業、公共事業服務等領域得到廣泛應用。Web技術是目前網絡信息應用的基礎,是信息管理、計算機等專業的一項主要信息技術,是當今從事信息專業的技術人員和管理者需要掌握的重要技能。本書包含JSP Web應用開發需要熟練掌握的以下3方面內容。(1) JSP Web開發與運行環境搭建技術。主要涉及JSP Web應用開發軟、硬件平臺搭建的基本技術。(2) Web前端開發。主要內容包括HTML基礎,Web前端開發工具,網頁的創建和編輯,網頁布局、CSS和 JavaScript,目前業界流行的前端開發類庫ExtJs以及基本的Web編程能力。(3) Web後端開發。主要內容包括Web服務器的安裝與配置、Servlet、JSP頁面標簽、內置對像、JavaBean、數據持久化、MVC架構,以及業界流行的Struts、Spring和Hibernate。本書編者具有多年的JSP Web應用開發教學與多個JSP Web項目的開發經歷,積累了豐富的JSP Web應用開發經驗。因此,本書是編者豐富的理論和實踐經驗相結合的結晶。本書具有以下4個特點。 (1) 從動態網站開發基礎的HTML、CSS、JavaScript,到JSP的基本技術、JDBC數據庫訪問技術,到前端的UI框架EasyUI以及後端的輕量級框架YangMVC,重量級框架Struts、Spring、Hibernate。本書涵蓋JSP Web應用開發設計所需的絕大多數知識內容,讓學生從對JSP Web應用開發設計的一無所知到掌握JSP Web應用開發設計的全部技術,是一種名副其實的“JSP Web應用開發從入門到精通”的教材。(2) 面向應用型人纔培養需求。組織編寫教材內容時,以應用為導向,以Web應用開發過程為基礎,繫統全面地介紹目前市場主流和成熟的JSP Web應用開發技術。(3) 采用案例驅動方式組織教材內容,以案例帶動知識的理解和學習。本書強調在做中學,在學中做,把實踐與理論知識的學習密切結合。本書提供了豐富的案例,所有案例均在Windows 7 Tomcat MySQL和Windows XP Tomcat MySQL環境下調試通過。(4) 開發過程詳盡。針對學生的水平參差不齊、缺乏基礎知識的情況,書中對於給出的例子均配有大量的步驟說明和截圖,使學生能按照流程自行完成項目的開發。書中對開發中可能出現的錯誤進行了較為詳細的描述,使學生在實際開發中能輕松排除錯誤。書中每章後面都有大量的習題、上機練習和實訓課題,其目的是使學生掌握核心知識、概念和技術。在實訓中還提供了一些綜合應用的課題。本書由殷立峰和楊同峰統籌策劃,第1~4章和第8章由殷立峰編寫,第5、7章和第9~14章由房志峰編寫,第6章和第15~21章由楊同峰編寫。感謝讀者選擇使用本書,歡迎對本書結構、內容提出批評和修改建議。 編者2019年3月在線試讀第5章網頁布局之DIV CSS——網頁化妝師本章主要內容: CSS的概念和使用方法。 CSS的基本語法。 CSS樣式主要屬性的設置。 CSS的框模型的基本結構。 使用DIV CSS開發網頁界面的方法。5.1CSS基礎我們經常見到設計精美的網頁,也常看到簡陋的網頁。它們之間真的差異那麼大嗎?人們常說,沒有丑女人,隻有懶女人。簡陋的網頁和精美的網頁之間也許隻差CSS。 CSS就像是網頁的化妝品,讓我們學會用CSS裝扮我們的網頁吧!層疊樣式表(cascading style sheets,CSS)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言,簡稱樣式表。可以說,HTML或XML為網頁的骨架,CSS為網頁的衣服,不同CSS樣式搭配,可以展現不同的頁面效果。“CSS禪意花園”網站上就有各方CSS高手設計的CSS頁面效果,即在同一個HTML基礎上,套用不同的CSS,終頁面展示出各式各樣的絢麗效果。CSS目前版本為CSS3,它是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言,CSS能夠對網頁中的對像的位置排版進行像素級的精確控制,支持幾乎所有的字體、字號樣式,擁有對網頁對像和模型樣式編輯的能力,並能夠進行初步交互設計,是目前基於文本展示秀的表現設計語言。CSS能夠根據不同使用者的理解能力,簡化或者優化寫法,針對各類人群,有較強的易讀性。5.1.1CSS的創建與使用如何插入樣式表呢?當讀到一個樣式表時,瀏覽器會根據它來格式化HTML文檔。插入樣式表的方法有4種。 1. 外部樣式表第5章網頁布局之DIV CSS——網頁化妝師本章主要內容: CSS的概念和使用方法。 CSS的基本語法。 CSS樣式主要屬性的設置。 CSS的框模型的基本結構。 使用DIV CSS開發網頁界面的方法。5.1CSS基礎我們經常見到設計精美的網頁,也常看到簡陋的網頁。它們之間真的差異那麼大嗎?人們常說,沒有丑女人,隻有懶女人。簡陋的網頁和精美的網頁之間也許隻差CSS。 CSS就像是網頁的化妝品,讓我們學會用CSS裝扮我們的網頁吧!層疊樣式表(cascading style sheets,CSS)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言,簡稱樣式表。可以說,HTML或XML為網頁的骨架,CSS為網頁的衣服,不同CSS樣式搭配,可以展現不同的頁面效果。“CSS禪意花園”網站上就有各方CSS高手設計的CSS頁面效果,即在同一個HTML基礎上,套用不同的CSS,終頁面展示出各式各樣的絢麗效果。CSS目前版本為CSS3,它是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言,CSS能夠對網頁中的對像的位置排版進行像素級的精確控制,支持幾乎所有的字體、字號樣式,擁有對網頁對像和模型樣式編輯的能力,並能夠進行初步交互設計,是目前基於文本展示秀的表現設計語言。CSS能夠根據不同使用者的理解能力,簡化或者優化寫法,針對各類人群,有較強的易讀性。5.1.1CSS的創建與使用如何插入樣式表呢?當讀到一個樣式表時,瀏覽器會根據它來格式化HTML文檔。插入樣式表的方法有4種。 1. 外部樣式表當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,可以通過改變樣式表文件來改變整個站點的外觀。每個頁面使用 標簽鏈接樣式表。 標簽在(文檔的)頭部,語法如下: 瀏覽器會從文件 mystyle.css 中讀到樣式聲明,並根據它來格式文檔。外部樣式表可以在任何文本編輯器中進行編輯。文件不能包含任何標簽。樣式表應該以css為擴展名進行保存。下面是一個樣式表文件的例子:hr{color:sienna;}p{margin-left:20px;}body{background-image:url("images/back40.gif");}不要在屬性值與單位之間留有空格。假如使用marginleft: 20 px而不是marginleft: 20px,它僅在 IE 6 中有效,但是在 Mozilla/Firefox 或 Netscape 中卻無法正常工作。【例51】外部樣式表示例。CSS文件程序清單5-1(test.css):body{background-color:yellow}h1{background-color:#00ff00}h2{background-color:transparent}p{background-color:rgb(250,0,255)}p.no2{background-color:gray;padding:20px;}HTML文件程序清單5-2(example5_01.html):這是標題 1這是標題 2這是段落這個段落設置了內邊距。上述例子中,使用link標簽引用了外部的test.css,在實驗時請注意將HTML文件和CSS文件放入一個目錄,否則網頁將找不到CSS文件,進而使CSS文件中的設置失效。2. 內部樣式表當單個文檔需要特殊的樣式時,就應該使用內部樣式表。可以使用 【例52】內部樣式表示例。程序清單5-3(example5_02.html):這是標題 1這是標題 2這是段落這個段落設置了內邊距。3. 內聯樣式由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。請慎用這種方法,例如,當樣式僅需要素上應用一次時,可以使用內聯樣式。要使用內聯樣式,需要在相關的標簽內使用樣式(style)屬性。style屬性可以包含任何CSS屬性。本例展示如何改變段落的顏色和左外邊距: This is a paragraph
第5章網頁布局之DIV CSS——網頁化妝師1725.1CSS基礎1725.1.1CSS的創建與使用1725.1.2CSS語法1755.1.3派生選擇器1775.1.4id選擇器1785.1.5CSS類選擇器1795.1.6CSS屬性選擇器1805.2CSS樣式1825.2.1CSS背景1825.2.2CSS文本1855.2.3CSS字體1895.2.4CSS鏈接1925.2.5CSS列表1935.2.6CSS表格1945.2.7CSS輪廓1965.2.8CSS對齊1965.3CSS框模型1975.4CSS邊距1995.5DIV CSS網頁布局1995.5.素素1995.5.2制作網頁導航條2035.5.3網頁布局設計2075.6習題211
第6章網頁布局之FlexBox——布局新秀2136.1FlexBox概述2136.1.1FlexBox的使用2136.1.2FlexBox基本概念2146.2FlexBox屬性2156.2.1flexdirection屬性2156.2.2flexgrow屬性2156.2.3flexwrap屬性2186.2.4justifycontent屬性2186.2.5alignitems屬性2186.2.6order屬性2216.2.7flexshrink屬性2226.2.8flexbasis屬性2226.3FlexBox應用舉例2226.4FlexBox布局總結2246.5習題224
第7章網頁布局之Bootstrap——布局大佬2257.1Bootstrap簡介2257.1.1Bootstrap概述2257.1.2Bootstrap的使用2257.2Bootstrap的網格繫統2277.2.1網格繫統簡介2277.2.2網格繫統的應用2287.3Bootstrap排版2307.3.1標題2307.3.2頁面主體2317.3.3對齊與改變大小寫2317.3.4縮略語2317.3.5地址2327.3.6引用2327.3.7代碼塊2337.4Bootstrap表格2347.4.1條紋狀表格2347.4.2帶邊框的表格2357.4.3鼠標懸停效果的實現2367.4.4表格緊縮效果的實現2377.4.5表格的狀態類2387.4.6響應式表格2397.5Bootstrap表單2407.5.1基本表單2407.5.2內聯表單2417.5.3水平表單2427.5.4Bootstrap支持的表單控件2447.5.5靜態控件2467.5.6表單控件的狀態2477.5.7表單控件的大小2507.5.8表單的幫助文本2517.6Bootstrap按鈕和圖片2517.6.1可作為按鈕使用的素2517.6.2預定義樣式2527.6.3按鈕的大小2527.6.4按鈕的狀態2537.6.5圖片2547.7Bootstrap布局組件2557.7.1下拉菜單2557.7.2按鈕組2567.7.3按鈕下拉菜單2577.7.4面板2597.7.5導航菜單2637.8使用Bootstrap開發網站後臺管理界面2667.8.1頁面的基本框架2667.8.2導航欄部分2667.8.3頁面的主要內容部分2687.9習題276
第8章JavaScript語言——網頁動起來2778.1JavaScript語言概述2778.1.1一個簡單的包含JavaScript語言的網頁2778.1.2JavaScript語言概述2788.1.3JSP中如何嵌入JavaScript小程序2808.2JavaScript的數據類型、運算符2808.2.1保留字2808.2.2數據類型2818.2.3變量2818.2.4運算符2828.3JavaScript的函數2848.4JavaScript的事件2858.5JavaScript對像及其使用2878.6JavaScript程序流程的控制2918.6.1if條件判斷結構2918.6.2switch多路分支結構2928.6.3for循環控制結構2958.6.4while循環控制結構2968.6.5do…while循環控制結構2988.7文檔對像模型2998.7.1文檔對像模型應用舉例2998.7.2文檔對像模型概述3018.7.3文檔對像模型的節點訪問方法3038.8習題306
第9章EasyUI——把窗口繫統搬到網頁上3079.1EasyUI簡介3079.1.1EasyUI概述3079.1.2EasyUI的使用3089.2EasyUI應用3119.3EasyUI的菜單與按鈕3219.3.1簡單菜單3219.3.2鏈接按鈕3229.3.3菜單按鈕3239.3.4分割按鈕3249.4EasyUI布局3259.4.1邊框布局3259.4.2復雜布局3279.4.3折疊面板3299.4.4標簽頁3299.5EasyUI數據網格3329.5.1數據網格3329.5.2取得數據網格選中行的數據3349.5.3添加工具欄3349.5.4格式化列3369.5.5設置排序3389.6EasyUI窗口3399.6.1簡單窗口3399.6.2自定義窗口工具欄3409.6.3窗口與布局3419.6.4對話框3439.7EasyUI樹形菜單3449.7.1使用標簽創建樹形菜單3449.7.2創建異步樹形菜單3449.8EasyUI表單3469.8.1創建異步提交表單3469.8.2表單驗證3479.8.3創建樹形下拉框3499.9習題350
第10章案例項目的頁面設計——面子很重要35110.1教學日志管理繫統的主頁面設計35110.2教學日志管理繫統的登錄頁面設計35410.3教學日志管理繫統的教師端頁面設計35510.4習題361第三部分後 端 開 發第11章Web服務器端程序——有人做面子,就得有人做裡子36511.1Web服務器端簡介36511.2Web服務器端語言迭代歷史36611.2.1靜態頁面時代36611.2.2CGI時代36611.2.3動態頁面時代36911.3習題374
第12章Servlet——Java中的CGI37512.1Servlet的工作原理37512.1.1Servlet概述37512.1.2Servlet的層次結構37612.1.3Servlet的生命周期37812.2Servlet創建與使用38012.2.1Servlet程序的編寫過程38012.2.2個Servlet程序38212.3doGet與doPost方法38412.4重定向與轉發39112.4.1請求轉發39112.4.2重定向跳轉39212.5習題393
第13章JSP頁面與標簽——雜燴飯39413.1JSP概述39413.1.1JSP39413.1.2為什麼要有JSP39613.2JSP的工作原理39713.3JSP語法39913.3.1JSP腳本39913.3.2JSP聲明39913.3.3JSP注釋40013.3.4JSP指令40013.3.5JSP表達式40013.3.6JSP控制流40213.4JSP指令40413.4.1page指令40513.4.2include指令41213.5JSP動作標簽41313.6習題415
第14章JSP內置對像——通於天地謂之神41614.1JSP內置對像簡介41614.2out對像41714.2.1輸出信息的方法41714.2.2與緩衝區相關的方法41814.3request對像42014.3.1用request讀取客戶端傳遞來的參數42014.3.2request作用範圍變量42514.3.3用request讀取繫統信息42914.3.4用request讀取HTTP請求報頭信息43214.3.5用request讀取Cookie43214.3.6用request選擇國際化信息43714.4response對像43714.4.1輸出緩衝區與響應提交43714.4.2HTTP響應報頭設置43814.4.3用response實現文件下載44114.5application對像44414.5.1用application訪問Web應用的初始參數44414.5.2application作用範圍變量44514.5.3用application對像讀取Servlet容器信息44714.5.4用application記錄操作日志44714.6session對像44814.6.1用URL重寫實現session跟蹤44914.6.2用Cookie實現session跟蹤45114.6.3用隱藏表單域實現session跟蹤45414.6.4session作用範圍變量與session跟蹤45614.7其他JSP內置對像46114.7.1config隱含對像46114.7.2exception隱含對像46214.7.3page隱含對像46314.7.4pageContext隱含對像46314.8習題464
第15章JSTL和EL表達式——混入HTML的另類46515.1概述46515.2JSTL的使用46615.2.1為JSP添加JSTL支持46615.2.2核心標簽庫簡介46715.2.3標簽46815.2.4標簽46915.2.5標簽46915.2.6標簽47015.2.7、和標簽47115.2.8標簽47215.2.9核心標簽庫中的其他標簽47415.2.10格式化標簽庫47415.3EL表達式47615.3.1簡介47615.3.2EL表達式的隱含對像47815.4MVC中使用EL表達式47915.5習題483
第16章數據持久化——志不強則智不達48416.1為何要做數據持久化48416.2文件存儲48416.2.1文件讀取48416.2.2文件寫入48716.2.3文件隨機讀寫48816.2.4網頁中的讀寫48916.2.5文件數據存儲格式49016.3數據庫讀寫49216.3.1數據庫的思想49216.3.2建立數據庫49316.3.3連接數據庫50116.3.4數據庫查詢50516.4案例50616.4.1用戶登錄案例50616.4.2書籍的列表與編輯案例51316.5習題516
第17章輕量級的MVC ORM框架YangMVC——輕車簡從51717.1MVC簡介51717.1.1MVC的產生原因51717.1.2MVC基本概念51917.1.3歷史上的MVC52017.2YangMVC簡介52117.2.1框架特點52117.2.2框架配置52117.3Hello World案例52417.4CRUD案例52517.4.1案例所使用的數據庫52517.4.2數據列表52517.4.3數據添加52817.4.4數據修改53117.4.5數據刪除53317.4.6數據分頁列表53317.5控制器詳解53617.5.1控制器創建53617.5.2路徑映射53717.5.3控制器方法53817.5.4獲取參數53817.5.5輸出文本或網頁53917.5.6輸出JSON54017.5.7使用FreeMarker輸出54117.5.8session訪問54217.5.9application訪問54217.5.10上傳文件54317.5.11外鍵54617.5.12單例模式54817.6數據庫訪問54817.6.1簡介54817.6.2Model與DBTool54817.6.3Model數據訪問54917.6.4數據修改55017.6.5數據插入55017.6.6數據查詢55117.6.7數據刪除55217.6.8LasyList的使用55217.7登錄案例55317.7.1登錄邏輯55317.7.2登錄表單55317.7.3數據庫的用戶表55617.7.4提交處理55717.8習題558
第18章Hibernate——鏡花亦花,水月亦月55918.1使用Hibernate進行數據庫讀寫55918.2Hibernate的配置55918.3使用Hibernate進行開發56618.4習題573第19章MVC架構與Struts——三權分立,各司其職57419.1自己動手實現MVC57419.2Struts入門57819.2.1Struts簡介57819.2.2Struts環境配置57919.2.3Hello Struts58219.3Struts進階58519.3.1Struts處理表單和URL參數58519.3.2Action屬性的輸出58619.3.3用戶登錄實例58619.4習題590
第20章Spring之旅——保姆改變世界59120.1依賴注入思想59120.1.1“喫飯問題”的硬編碼59120.1.2“喫飯問題”的工廠模式59220.1.3“食品工廠”的反射機制實現59320.1.4“喫飯問題”的反轉控制59420.2Spring中的依賴注入實現59520.2.1Spring安裝59520.2.2Spring中的“喫飯問題”59620.2.3“喫飯問題”之我的雞蛋你別喫59820.2.4“喫飯問題”之花樣繁多59820.3面向切面的編程59920.4Spring中的面向切面的編程60020.5在Web中使用Spring60220.5.1自定義Servlet初始化Spring60220.5.2使用Spring給出的Listener初始化60420.5.3使用Spring給出的Servlet初始化60720.6習題608
第21章案例繫統的功能實現——沒後端就是花架子60921.1前言60921.2數據庫設計60921.2.1數據庫應具備的功能60921.2.2數據庫表格60921.2.3數據庫工具的使用61221.3項目建立和HTML導入61221.4主頁和用戶管理61321.4.1主頁61321.4.2教師職工登錄61421.4.3院繫部門登錄61821.4.4用戶注冊62021.4.5教師用戶主頁62421.4.6查看個人信息63021.4.7修改個人信息63221.4.8修改密碼63521.4.9用戶退出63721.5課程管理63721.5.1課程信息63721.5.2課程添加63821.6教學日志管理64021.6.1查看所有教學日志64021.6.2新建教學日志64121.6.3查詢教學日志64421.6.4我的未完成日志64721.6.5教學日志信息64821.6.6修改教學日志項64921.6.7刪除教學日志項65221.7期末總結管理65221.7.1新建期末總結65321.7.2待評價期末總結65321.7.3已評價期末總結65421.8院繫管理功能65421.9本章小結65421.10習題655
前言基於B/S架構的Web信息繫統已經成為當前計算機信息繫統的主流實現方案,在政府、企業、公共事業服務等領域得到廣泛應用。Web技術是目前網絡信息應用的基礎,是信息管理、計算機等專業的一項主要信息技術,是當今從事信息專業的技術人員和管理者需要掌握的重要技能。本書包含JSP Web應用開發需要熟練掌握的以下3方面內容。(1) JSP Web開發與運行環境搭建技術。主要涉及JSP Web應用開發軟、硬件平臺搭建的基本技術。(2) Web前端開發。主要內容包括HTML基礎,Web前端開發工具,網頁的創建和編輯,網頁布局、CSS和 JavaScript,目前業界流行的前端開發類庫ExtJs以及基本的Web編程能力。(3) Web後端開發。主要內容包括Web服務器的安裝與配置、Servlet、JSP頁面標簽、內置對像、JavaBean、數據持久化、MVC架構,以及業界流行的Struts、Spring和Hibernate。本書編者具有多年的JSP Web應用開發教學與多個JSP Web項目的開發經歷,積累了豐富的JSP Web應用開發經驗。因此,本書是編者豐富的理論和實踐經驗相結合的結晶。本書具有以下4個特點。 (1) 從動態網站開發基礎的HTML、CSS、JavaScript,到JSP的基本技術、JDBC數據庫訪問技術,到前端的UI框架EasyUI以及後端的輕量級框架YangMVC,重量級框架Struts、Spring、Hibernate。本書涵蓋JSP Web應用開發設計所需的絕大多數知識內容,讓學生從對JSP Web應用開發設計的一無所知到掌握JSP Web應用開發設計的全部技術,是一種名副其實的“JSP Web應用開發從入門到精通”的教材。(2) 面向應用型人纔培養需求。組織編寫教材內容時,以應用為導向,以Web應用開發過程為基礎,繫統全面地介紹目前市場主流和成熟的JSP Web應用開發技術。(3) 采用案例驅動方式組織教材內容,以案例帶動知識的理解和學習。本書強調在做中學,在學中做,把實踐與理論知識的學習密切結合。本書提供了豐富的案例,所有案例均在Windows 7 Tomcat MySQL和Windows XP Tomcat MySQL環境下調試通過。(4) 開發過程詳盡。針對學生的水平參差不齊、缺乏基礎知識的情況,書中對於給出的例子均配有大量的步驟說明和截圖,使學生能按照流程自行完成項目的開發。書中對開發中可能出現的錯誤進行了較為詳細的描述,使學生在實際開發中能輕松排除錯誤。書中每章後面都有大量的習題、上機練習和實訓課題,其目的是使學生掌握核心知識、概念和技術。在實訓中還提供了一些綜合應用的課題。本書由殷立峰和楊同峰統籌策劃,第1~4章和第8章由殷立峰編寫,第5、7章和第9~14章由房志峰編寫,第6章和第15~21章由楊同峰編寫。感謝讀者選擇使用本書,歡迎對本書結構、內容提出批評和修改建議。
編者2019年3月
第5章網頁布局之DIV CSS——網頁化妝師本章主要內容: CSS的概念和使用方法。 CSS的基本語法。 CSS樣式主要屬性的設置。 CSS的框模型的基本結構。 使用DIV CSS開發網頁界面的方法。5.1CSS基礎我們經常見到設計精美的網頁,也常看到簡陋的網頁。它們之間真的差異那麼大嗎?人們常說,沒有丑女人,隻有懶女人。簡陋的網頁和精美的網頁之間也許隻差CSS。 CSS就像是網頁的化妝品,讓我們學會用CSS裝扮我們的網頁吧!層疊樣式表(cascading style sheets,CSS)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言,簡稱樣式表。可以說,HTML或XML為網頁的骨架,CSS為網頁的衣服,不同CSS樣式搭配,可以展現不同的頁面效果。“CSS禪意花園”網站上就有各方CSS高手設計的CSS頁面效果,即在同一個HTML基礎上,套用不同的CSS,終頁面展示出各式各樣的絢麗效果。CSS目前版本為CSS3,它是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言,CSS能夠對網頁中的對像的位置排版進行像素級的精確控制,支持幾乎所有的字體、字號樣式,擁有對網頁對像和模型樣式編輯的能力,並能夠進行初步交互設計,是目前基於文本展示秀的表現設計語言。CSS能夠根據不同使用者的理解能力,簡化或者優化寫法,針對各類人群,有較強的易讀性。5.1.1CSS的創建與使用如何插入樣式表呢?當讀到一個樣式表時,瀏覽器會根據它來格式化HTML文檔。插入樣式表的方法有4種。 1. 外部樣式表當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,可以通過改變樣式表文件來改變整個站點的外觀。每個頁面使用 標簽鏈接樣式表。 標簽在(文檔的)頭部,語法如下:
這是段落
這個段落設置了內邊距。
This is a paragraph
請選擇顏色、尺碼等選項!
已成功加入購物車!