java實現文件搜索主要使用類和正則表達式,如下示例:
packagecom.kiritor.util;
importjava.io.File;
importjava.io.FileFilter;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
/**
*文件的相關操作類
*
*@authorKiritor
*/
publicclassFileOperation{
;
privatestaticStringfilePath;
privatestaticFile[]fileList=null;//保存文件列表,過濾掉目錄
publicFileOperation(){
}
/**構造函數的參數是一個目錄*/
publicFileOperation(Stringpath){
Filefile=newFile(path);
if(file.isDirectory())
this.contentPath=path;
else
this.filePath=path;
}
/**獲取文件列表*/
publicstaticFile[]getFiles(){
if(contentPath==null){
Filefile=newFile(filePath);
fileList=newFile[1];
fileList[0]=file;
returnfileList;
}
fileList=newFile(contentPath).listFiles(newFileFilter(){
/**使用過濾器過濾掉目錄*/
@Override
publicbooleanaccept(Filepathname){
if(pathname.isDirectory())
{
returnfalse;
}else
returntrue;
}
});
returnfileList;
}
/**對當前目錄下的所有文件進行排序*/
publicstaticFile[]sort(){
getFiles();
Arrays.sort(fileList,newFileComparator());
returnfileList;
}
publicstaticvoidtree(Filef,intlevel){
StringpreStr="";
for(inti=0;i<level;i++){
preStr+="";
}
File[]childs=f.listFiles();
//返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
for(inti=0;i<childs.length;i++){
System.out.println(preStr+childs[i].getName());
if(childs[i].isDirectory()){
tree(childs[i],level+1);
}
}
}
//提供一個"比較器"
.util.Comparator<File>{
@Override
publicintcompare(Fileo1,Fileo2){
//按照文件名的字典順序進行比較
returno1.getName().compareTo(o2.getName());
}
}
}
Ⅱ Java軟體工程師主要學習哪些課程
一般學習分為幾個階段:
第一個階段:需要學習Java編程基礎,基礎是後面學習的基石,打好基礎才能更好的學習進階課程。這個階段主要學習Java編程語言基礎知識,面向對象,常見基礎類和集合&IO等。
第二個階段:主要學習資料庫編程,MYSQL資料庫,JDBC資料庫,加上綜合實踐。
第三階段:Web前端編程,HTML、CSS、JavaScript和JQuery。
第四階段:JavaWeb編程,XML、Tomcat服務、網路編程、Servlet、jsP、文件上傳&下載、過濾器、監聽器。
第五階段:實戰階段,主要涉及技術有MVC模式、SpringMVC框架、Spring框架、JPA/Hibernate/SpringDataJPA、Mybatis、SpringBoot、Redis、負載均衡、BootStrap、EasyUI、Vue、WebService、Activiti、SpringSecity/Shrio、Maven/Gradle、Linux、全文檢索、消息中間件、微信開發、設計模式和解決方案。
Ⅲ 如何用 Node.js 和 Elasticsearch 構建搜索引擎
安裝 Elasticsearch
Elasticsearch 受Apache 2許可證保護,可以被下載,使用,免費修改。安裝Elasticsearch 之前你需要先確保在你的電腦上安裝了Java Runtime Environment (JRE) ,Elasticsearch 是使用java實現的並且依賴java庫運行。你可以使用下面的命令行來檢測你是否安裝了java
推薦使用java最新的穩定版本(寫這篇文章的時候是1.8)。你可以在找到在你系統上安裝java的指導手冊。
接下來是下載最新版本的Elasticsearch (寫這篇文章的時候是2.3.5),去下載ZIP 文件。Elasticsearch 不需要安裝,一個zip文件就包含了可在所有支持的系統上運行的文件。解壓下載的文件,就完成了。有幾種其他的方式運行Elasticsearch ,比如:獲得TAR 文件或者為不同Linux發行版本的包。
如果你使用的是Mac操作系統並且安裝了,你就可以使用這行命令安裝Elasticsearch brew install elasticsearch.Homebrew 會自動添加executables 到你的系統並且安裝所需的服務。它也可以使用一行命令幫你更新應用:brew upgrade elasticsearch.
想在Windows上運行Elasticsearch ,可以在解壓的文件夾里,通過命令行運行binelasticsearch.bat 。對於其他系統,可以從終端運行 ./bin/elasticsearch.這時候,Elasticsearch 就應該可以在你的系統上運行了。
就像我之前提到的,你可以使用Elasticsearch的幾乎所有的操作,都可以通過RESTful APIs完成。Elasticsearch 默認使用9200 埠。為了確保你正確的運行了Elasticsearch。在你的瀏覽器中打開http://localhost:9200/ ,將會顯示一些關於你運行的實例的基本信息。
圖形用戶界面
Elasticsearch不須圖形用戶界面,只通過REST APIs就提供了幾乎所有的功能。然而如果我不介紹怎麼通過APIs和 Node.js執行所有所需的操作,你可以通過幾個提供了索引和數據的可視化信息GUI工具來完成,這些工具甚至含有一些高水平的分析。
, 是同一家公司開發的工具, 它提供了數據的實時概要,並提供了一些可視化定製和分析選項。Kibana 是免費的。
還有一些是社區開發的工具,如,, 甚至谷歌瀏覽器的擴展組件.這些工具可以幫你在瀏覽器中查看你的索引和數據,甚至可以試運行不同的搜索和匯總查詢。所有這些工具提供了安裝和使用的攻略。
創建一個Node.js環境
彈性搜索為Node.js提供一個官方模塊,稱為elasticsearch。首先,你需要添加模塊到你的工程目錄下,並且保存依賴以備以後使用。
然後,你可以在腳本里導入模塊,如下所示:
最終,你需要創建客戶端來處理與彈性搜索的通訊。在這種情況下,我假設你正在運行彈性搜索的本地機器IP地址是127.0.0.1,埠是9200(默認設置)。
注意:這篇導讀的所有源代碼都可以在GitHub下載查看。最簡單的查看方式是在你的PC機上克隆倉庫,並且從那裡運行示例代碼:
獲取短語推薦的時候,採用與上文相同的格式並替換推薦器的類型欄位即可。如下的例子中,返回數據將與上例格式相同。
Ⅳ JSP網站開發詳解的目錄
第1篇 基礎篇
第1章 JSP開發基礎 1
1.1 JSP的概念和作用 1
1.1.1 什麼是JSP 1
1.1.2 JSP和Servlet扮演的角色 2
1.1.3 JSP和其他框架的集成 3
1.1.4 學習JSP網站編程 7
1.2 安裝和配置JDK 8
1.2.1 安裝JDK 8
1.2.2 配置JDK 11
1.3 安裝和配置Tomcat 12
1.3.1 安裝Tomcat伺服器 13
1.3.2 測試安裝是否成功 15
1.4 開發第1個JSP頁面 16
1.4.1 創建Form提交表單 16
1.4.2 創建表單處理Servlet 16
1.4.3 創建JSP顯示頁面 17
1.4.4 部署第1個Web應用 18
1.5 小結 19
第2章 JSP 基本語法 20
2.1 JSP基礎 20
2.1.1 JSP和Servlet的關系 20
2.1.2 典型的JSP文件 24
2.1.3 JSP文件組成結構 25
2.1.4 JSP的生命周期 27
2.2 JSP頁面元素 28
2.2.1 頁面指令元素 29
2.2.2 腳本元素 37
2.2.3 動作元素 38
2.3 JSP內建對象 45
2.3.1 輸出對象out 46
2.3.2 請求對象request 47
2.3.3 響應對象response 50
2.3.4 會話對象session 52
2.3.5 頁面上下文對象pageContext 55
2.3.6 全局對象application 56
2.3.7 Servlet初始化參數對象config 57
2.3.8 頁面對象page 58
2.4 使用JSP實現簡單登錄實例 59
2.4.1創建登錄HTML表單 59
2.4.2 使用Request獲得數據 60
2.4.3 處理表單數據 61
2.4.4 使用Session保存用戶對話 62
2.5 小結 63
第3章 Servlet 基礎 64
3.1 Servlet概念 64
3.1.1 什麼是Servlet 64
3.1.2 Servlet技術的特點 65
3.1.3 Servlet的生命周期 66
3.1.4 開發並部署一個簡單的Servlet 68
3.2 基本Servlet結構 69
3.2.1 init方法 70
3.2.2 service方法 72
3.2.3 doGet、doPost和doXxx方法 72
3.2.4 destroy方法 75
3.3 Servlet的基本配置 77
3.3.1 Servlet的名稱及路徑配置 79
3.3.2 初始化參數 80
3.3.3 啟動裝入優先順序 80
3.3.4 Servlet映射 81
3.4 Servlet請求和響應 83
3.4.1 Request實現請求 83
3.4.2 Response處理響應 90
3.5 Servlet請求轉發 96
3.5.1 使用sendRedirect轉發 96
3.5.2 使用Dispatch轉發 98
3.5.3 Redirect和Request Dispatch的區別 104
3.6 使用Servlet改進登錄實例 104
3.6.1 在Servlet中獲得數據 105
3.6.2 使用Servlet將用戶轉向到指定頁面 107
3.6.3 在Servlet中使用Session 108
3.7 小結 109
第4章 JSP和Servlet的集成 110
4.1 JSP和Servlet結合的兩種模式 110
4.1.1 模式一 110
4.1.2 模式二 113
4.1.3 兩種模式的比較 117
4.1.4 MVC模式 117
4.1.5 JSP和Servlet實現的MVC模式 119
4.2 使用MVC編程改進登錄實例 120
4.2.1 JSP實現表現層 120
4.2.2 JavaBean模型層 121
4.2.3 Servlet控制層Control 123
4.3 小結 124
第5章 JDBC資料庫訪問技術 125
5.1 JDBC和驅動程序 125
5.1.1 為什麼需要JDBC 126
5.1.2 資料庫驅動程序 126
5.1.3 使用JDBC訪問資料庫的過程 127
5.2 JDBC處理資料庫方法 129
5.2.1 載入並注冊資料庫驅動 129
5.2.2 建立到資料庫的連接 130
5.2.3 訪問資料庫 131
5.2.4 Statement和PreparedStatement 133
5.2.5 ResultSet結果集 140
5.2.6 事務處理 142
5.3 連接不同的資料庫 145
5.3.1 連接MySQL資料庫 145
5.3.2 連接MSSQL資料庫 146
5.3.3 連接Oracle資料庫 147
5.4 存取二進制文件 147
5.4.1 二進制文件的存取過程 147
5.4.2 在資料庫中存取圖片 148
5.5 使用JDBC操作資料庫示例 151
5.5.1 在JSP頁面中查詢數據 151
5.5.2 分頁 155
5.5.3 增、刪及改數據 161
5.6 使用JDBC改進用戶登錄模塊 167
5.6.1 在JSP中訪問資料庫 167
5.6.2 在Servlet中訪問資料庫 169
5.6.3 在JavaBean中訪問資料庫 170
5.7 小結 172
第6章 JSP常用技巧 173
6.1 會話跟蹤技巧 173
6.1.1 使用session的會話跟蹤 174
6.1.2 使用cookie跟蹤會話 176
6.2 數據共享技巧 179
6.2.1 使用Java static屬性 179
6.2.2 基於session會話 181
6.2.3 基於Web范圍 182
6.3 錯誤處理技巧 185
6.3.1 JSP錯誤的常見類型 185
6.3.2 定向錯誤到友好頁面 186
6.3.3 Web.xml中的配置HTTP錯誤 188
6.3.4 在JSP頁面中處理錯誤 189
6.4 JSP文件上傳技巧 190
6.4.1 使用JSP SmartUpload上傳 190
6.4.2 SmartUpload文件上傳實例 193
6.5 在JSP中使用JavaBean 196
6.5.1 使用JavaBean的原因 196
6.5.2 JavaBean的基本概念 196
6.5.3 在JSP中使用JavaBean 198
6.5.4 訪問JavaBean屬性 200
6.5.5 設置JavaBean屬性 201
6.6 小結 202
第7章 JSP中常見問題及其處理 203
7.1 中文亂碼問題 203
7.1.1 出現中文亂碼的原因 204
7.1.2 JSP顯示中文亂碼處理 205
7.1.3 JSP頁面傳遞中文亂碼處理 206
7.1.4 Servlet接收參數中文亂碼處理 208
7.1.5 URL參數中文亂碼處理 209
7.1.6 資料庫中文亂碼處理 210
7.2 資料庫處理問題 211
7.2.1 找不到資料庫驅動Driver 212
7.2.2 無法連接資料庫 212
7.2.3 資料庫連接線程不足的問題 213
7.2.4 資料庫查詢性能差的問題 215
7.3 國際化問題 219
7.3.1 在JSP中實現國際化 219
7.3.2 時間格式的國際化 222
7.3.3 語言國際化 225
7.4 JSP安全問題 227
7.4.1 防範SQL注入式攻擊 227
7.4.2 JSP中使用認證授權 229
7.5 小結 235
第8章 在Eclipse中開發JSP和Servlet 236
8.1 MyEclipse的下載與安裝 236
8.1.1 安裝Eclipse 237
8.1.2 安裝Eclipse多國語言包 237
8.1.3 下載和安裝MyEclipse 238
8.1.4 綁定Tomcat伺服器與My-Eclipse 241
8.1.5 在Eclipse中啟動Tomcat伺服器 241
8.2 在Eclipse中創建Web工程 242
8.2.1 新建工程向導 242
8.2.2 Web工程目錄結構 244
8.2.3 在Eclipse中添加類庫 245
8.3 新建JSP頁面 247
8.3.1 使用向導新建JSP頁面 247
8.3.2 在Eclipse中編輯JSP頁面 249
8.3.3 添加表單Form元素 251
8.4 新建Servlet 253
8.4.1 使用向導新建Servlet 253
8.4.2 查看Web.xml 256
8.4.3 編寫處理代碼 256
8.5 連接資料庫 257
8.5.1 添加MySQL資料庫驅動程序 258
8.5.2 建立資料庫表 258
8.5.3 新建連接資料庫類 259
8.5.4 修改Servlet處理資料庫 260
8.6 在Eclipse中調試JSP和Servlet 261
8.6.1 部署Web項目 261
8.6.2 運行JSP 263
8.6.3 在Servlet中設置斷點 263
8.6.4 在JSP中設置斷點 263
8.6.5 跟蹤監控變數 264
8.7 小結 266
第9章 表達式語言EL 267
9.1 表達式語言概述 267
9.2 語法 268
9.2.1 [ ]和.操作符 268
9.2.2 算術運算符 269
9.2.3 關系運算符 270
9.2.4 邏輯運算符 271
9.2.5 Empty運算符 272
9.2.6 條件運算符 272
9.2.7 改變運算符的優先順序 272
9.3 隱含對象 273
9.4 命名變數 278
9.5 保留字 279
9.6 表達式語法實例 279
9.7 其它功能 280
9.8 小結 281
第10章 標准標簽庫JSTL 282
10.1 JSTL概念 282
10.1.1 JSTL概述 283
10.1.2 安裝JSTL標簽庫 283
10.2一般用途的標簽 285
10.2.1 <c:out>標簽 285
10.2.2 <c:set>標簽 286
10.2.3 <c:remove>標簽 288
10.2.4 <c:catch>標簽 288
10.3 條件標簽 291
10.3.1 <c:if>標簽 291
10.3.2 <c:choose>標簽 292
10.3.3 <c:when>標簽 293
10.3.4 <c:otherwise>標簽 293
10.4 迭代標簽 294
10.4.1 <c:forEach>標簽 294
10.4.2 <c:forTokens>標簽 297
10.5 與URL有關的標簽 299
10.5.1 <c:import>標簽 299
10.5.2 <c:redirect>標簽 302
10.5.3 <c:url>標簽 303
10.5.4 <c:param>標簽 304
10.6 函數標簽 305
10.6.1 <fn:startsWith>標簽 305
10.6.2 <fn:endsWith>標簽 305
10.6.3 <fn:indexOf>標簽 306
10.6.4 <fn:replace>標簽 306
10.6.5 <fn:substring>標簽 306
10.6.6 <fn:split> 306
10.7 使用標簽庫改進用戶登錄實例 307
10.8 小結 309
第11章 定義標簽擴展 310
11.1 JSP標簽擴展 310
11.1.1 自定義標簽的原因 310
11.1.2 標簽類型及結構 312
11.2 自定義標簽介面 313
11.2.1 Tag介面 314
11.2.2 IteratorTag介面 315
11.2.3 BodyTag介面 316
11.2.4 SimpleTag介面 317
11.3 標簽開發實例 318
11.3.1 實現Tag介面 319
11.3.2 從TagSupport繼承 321
11.4 標簽庫配置 322
11.4.1 創建標簽庫描述文件 322
11.4.2 在Web中使用標簽 324
11.5 小結 325
第2篇 擴展篇
第12章 基於MVC的Struts框架 326
12.1 JSP集成Struts框架 326
12.1.1 Struts體系結構 326
12.1.2 Struts的MVC模式 327
12.1.3 Struts流行的原因 329
12.1.4 在Struts中集成JSP 329
12.2 Struts核心組件 330
12.2.1 控制組件Action 330
12.2.2 模型組件 331
12.2.3 視圖組件ActionForm 335
12.3 Struts HTML標簽庫 336
12.3.1 Struts的標簽體系 336
12.3.2 HTML標簽庫 337
12.3.3 HTML標簽 338
12.3.4 Form標簽 340
12.4 Struts Bean標簽庫 342
12.5 Struts Logic標簽庫 344
12.6 Struts驗證Validator框架 347
12.6.1 Validator框架 347
12.6.2 安裝與配置及應用Validator框架 349
12.7 小結 351
第13章 Eclipse中開發Struts登錄實例 352
13.1 MyEclipse對Struts的支持 352
13.1.1 文件創建向導支持 353
13.1.2 struts-config.xml可視化編輯器 353
13.2 在Eclipse中創建Struts工程 355
13.2.1 新建Struts工程向導 355
13.2.2 Struts項目結構 356
13.2.3 Struts類的包結構 356
13.2.4 查看web.xml和struts-config.xml文件 357
13.3 利用向導創建JSP 359
13.3.1 創建JSP頁面 359
13.3.2 創建ActionForm 359
13.3.3 創建Action 362
13.3.4 創建Forward 363
13.3.5 查看Struts-config.xml文件 364
13.4 在Eclipse中編輯JSP頁面 365
13.4.1 Struts標簽輸入支持 366
13.4.2 編寫struts-config.xml文件 367
13.5 Struts驗證支持 367
13.5.1 添加驗證支持配置 367
13.5.2 添加頁面輸入驗證 369
13.6 在Eclipse中調試Struts 371
13.6.1 部署Struts項目 371
13.6.2 運行入口頁面 372
13.6.3 在Action中設置斷點 372
13.6.4 跟蹤ActionForm變數 372
13.7 小結 374
第14章 使用Hibernate實現JSP持久層 375
14.1 Hibernate ORM技術 375
14.1.1 Hibernate概念和體系結構 375
14.1.2 Hibernate資料庫處理API 377
14.2 Hibernate基本配置 380
14.2.1 Hibernate的下載和安裝 380
14.2.2 Hibernate開發的基本步驟 381
14.2.3 Hibernate配置文件 382
14.2.4 持久化類 382
14.2.5 對象/關系映射文件 384
14.3 Hibernate基本操作 385
14.3.1 持久化對象 385
14.3.2 查詢對象 385
14.3.3 更新對象 387
14.3.4 刪除對象 388
14.3.5 Hibernate基本操作實現實例 388
14.4 Hibernate對象標識符 392
14.5 Hibernate查詢HQL語言 393
14.5.1 HQL語言特點 394
14.5.2 HQL查詢構成 394
14.5.3 子查詢 396
14.6 在JSP中使用Hibernate 396
14.6.1 使用Hibernate的JSP項目結構 396
14.6.2 在JSP中使用Hibernate訪問資料庫 397
14.7 小結 402
第15章 使用Spring集成JSP 403
15.1 Spring概述 403
15.1.1 控制反轉IoC容器 404
15.1.2 面向方面的AOP編程 405
15.1.3 Spring如何集成JSP 407
15.2 基於Spring IoC容器開發 407
15.2.1 Spring的依賴注入 407
15.2.2 Bean封裝機制 409
15.2.3 Bean的基本配置 410
15.3 Spring 集成JDBC 414
15.3.1 Spring及JDBC支持 414
15.3.2 JDBCTemplate API技術 415
15.3.3 JDBCTemplate與Template設計模式 419
15.3.4 JDBCTemplate對JDBC的改進 420
15.3.5 JDBCTemplate與資料庫事務管理 422
15.3.6 在JSP中使用Spring集成JDBC 424
15.4 Spring集成Hibernate 429
15.4.1 Spring的Hibernate支持 429
15.4.2 HibernateDaoSupport支持 429
15.4.3 Hibernate SessionFactory注入 431
15.4.4 使用HibernateTemplate模板 432
15.4.5 HibernateTemplate的簡捷方法 435
15.4.6 在JSP中使用Spring集成Hibernate 435
15.5 小結 440
第16章 在Eclipse中開發Hibernate和Spring 441
16.1 在Eclipse中開發Hibernate 441
16.1.1 為已有JSP項目添加Hibernate支持 442
16.1.2 Hibernate項目結構 443
16.1.3 Hibernate類包結構 444
16.1.4 hibernate.cfg.xml文件 445
16.2 創建映射文件 446
16.2.1 連接到資料庫 447
16.2.2 新建Java類和映射文件 449
16.2.3 完善Java類及映射文件 450
16.3 應用DAO模式 451
16.3.1 編寫業務層及其方法 451
16.3.2 編寫DAO業務介面 452
16.3.3 編寫DAO Hibernate實現 453
16.3.4 在JSP和Servlet中調用Hibernate 458
16.3.5 調試Hibernate應用 460
16.4 在Eclipse中開發Spring 461
16.4.1 為已有JSP項目添加Spring支持 461
16.4.2 Spring項目結構 462
16.4.3 Spring類包結構 462
16.4.4 applicationContext.xml文件 463
16.5 使用Spring ORM改進Hibernate 464
16.5.1 修改Spring配置文件 464
16.5.2 創建Hibernate sessionFactory連接 465
16.5.3 創建pojo映射 466
16.5.4 創建HibernateTemplate 467
16.6 小結 468
第3篇 實戰篇
第17章 登錄驗證模塊 469
17.1 在MySQL中建立用戶信息表 469
17.1.1 確定用戶欄位 470
17.1.2 創建資料庫和用戶表 470
17.2 登錄驗證的建模分析 471
17.2.1 活動圖 471
17.2.2 登錄與注冊的運行流程分析 471
17.3 創建用戶數據連接緩沖池 472
17.3.1 下載與設置數據連接緩沖池類包 472
17.3.2 創建數據連接緩沖池 473
17.3.3 重載ActionServlet以應用連接緩沖池 474
17.3.4 配置web.xml應用重載的DataActionServlet 476
17.4 實現用戶登錄 476
17.4.1 創建登錄視圖組件 476
17.4.2 創建登錄的控制器組件 478
17.4.3 創建模型組件 480
17.4.4 配置web.xml和struts-config.xml文件 481
17.4.5 驗證用戶輸入數據的有效性 484
17.4.6 登錄演示 485
17.5 實現新用戶注冊 485
17.5.1 創建注冊視圖組件 486
17.5.2 創建注冊的控制器組件 487
17.5.3 創建模型組件 489
17.5.4 驗證用戶輸入數據的有效性 489
17.5.5 配置web.xml和struts-config.xml文件 490
17.5.6 配置資源包屬性文件 491
17.5.7 注冊演示 492
17.6 小結 492
第18章 網站統計模塊 493
18.1 需求分析及資料庫設計 493
18.1.1 需求分析 494
18.1.2 資料庫設計 494
18.2 獲取統計數據 495
18.2.1 獲取客戶端信息 495
18.2.2 截取用戶操作系統和瀏覽器信息 497
18.2.3 保存信息到資料庫 498
18.2.4 防止重復記錄 500
18.3 顯示網站訪問計數器 502
18.3.1 顯示當前在線人數計數器 502
18.3.2 顯示網站訪問量計數器 503
18.3.3 使用圖片樣式顯示計數器 504
18.4 生成統計分析結果 505
18.4.1 使用SQL命令統計分析 505
18.4.2 JFreeChart簡介 507
18.4.3 生成日流量統計折線圖 509
18.4.4 生成月流量統計柱狀圖 513
18.4.5 生成訪問時段分布統計柱狀圖 516
18.4.6 生成瀏覽器類型統計餅狀圖 518
18.4.7 生成操作系統類型統計立體餅狀圖 520
18.5 小結 523
第19章 郵件收發模塊 524
19.1 郵件相關協議簡介 524
19.2 JavaMail簡介 525
19.2.1 配置JavaMail開發環境 526
19.2.2 JavaMail郵件處理過程 526
19.2.3 JavaMail常用類 526
19.2.4 一個簡單的郵件發送程序 529
19.3 發送HTML格式的郵件 531
19.3.1 撰寫郵件頁面 531
19.3.2 郵件發送Servlet 532
19.3.3 配置web.xml文件及運行 534
19.3.4 處理主題與正文中的亂碼問題 535
19.4 發送帶附件的郵件 536
19.4.1 發送本地文件形式的附件 537
19.4.2 發送遠程文件形式的附件 537
19.5 實現郵件接收 538
19.5.1 接收郵件的一般過程 538
19.5.2 一個簡單的郵件接收Servlet程序 539
19.6 小結 541
第20章 網頁搜索模塊 542
20.1 搜索引擎概述 542
20.1.1 搜索引擎分類 543
20.1.2 搜索引擎的實現原理 545
20.1.3 搜索引擎的相關技術 546
20.2 用第三方API實現站內搜索 547
20.2.1 使用Google API 547
20.2.2 使用網路API 548
20.3 基於Java的全文搜索引擎Lucene 549
20.3.1 Lucene概述 550
20.3.2 搜索應用程序與Lucene之間的關系 550
20.3.3 Lucene類包簡介 551
20.3.4 建立索引 551
20.3.5 搜索索引 554
20.4 構建Lucene Web搜索程序 556
20.4.1 搜索程序的工作流程 556
20.4.2 建立搜索頁面 557
20.4.3 建立搜索控制Servlet 558
20.4.4 創建索引 559
20.4.5 搜索索引 561
20.4.6 運行程序 564
20.5 小結 565
第21章 上傳和下載模塊 566
21.1 上傳和下載簡介 566
21.2 一個簡單的文件下載程序 566
21.3 通過Servlet實現文件上傳 568
21.3.1 建立文件上傳表單 568
21.3.2 利用Servlet實現文件上傳 569
21.3.3 配置web.xml並運行 570
21.4 使用FileUpload組件上傳文件 571
21.4.1 FileUpload上傳處理過程 571
21.4.2 一個簡單的文件上傳實例 573
21.4.3 配置web.xml並運行 576
21.4.4 查看上傳進度 577
21.5 小結 578
第22章 新聞發布系統 579
22.1 系統分析與總體設計 579
22.1.1 需求分析 580
22.1.2 總體設計 580
22.2 資料庫設計與實現 581
22.2.1 資料庫需求分析 581
22.2.2 資料庫邏輯設計 582
22.2.3 創建數據表 583
22.3 編寫資料庫處理類 585
22.4 編寫JavaBean實現 587
22.4.1 處理管理員數據JavaBean 587
22.4.2 處理一級欄目數據JavaBean 588
22.4.3 處理二級欄目數據JavaBean 588
22.4.4 處理新聞數據JavaBean 589
22.5 設計後台頁面與功能實現 590
22.5.1 實現管理員登錄 591
22.5.2 實現一級欄目的功能 597
22.5.3 實現二級欄目的功能 604
22.5.4 實現欄目下的相關新聞功能 607
22.5.5 後台管理主頁面集成 614
22.5.6 演示後台功能 619
22.6 前台頁面設計與功能實現 624
22.6.1 主頁面設計與功能實現 624
22.6.2 新聞顯示頁面設計與功能實現 626
22.7 小結 627
第23章 在線相冊系統 628
23.1 系統分析與總體設計 628
23.1.1 系統功能描述 628
23.1.2 選擇平台與架構 629
23.2 資料庫設計與實現 629
23.2.1 資料庫需求分析 629
23.3 實現DAO層 631
23.3.1 DAO組件的定義 632
23.3.2 實現DAO組件 633
23.4 實現Web層 651
23.4.1 相冊管理 651
23.4.2 相冊列表 655
23.4.3 上傳相片 659
23.4.4 查看相片 664
23.4.5 管理相片 667
23.5 小結 667
第24章 在線購物系統 668
24.1 系統分析與總體設計 668
24.2 資料庫設計與實現 669
24.2.1 資料庫需求分析 669
24.2.2 資料庫邏輯設計 670
24.3 設計與搭建架構 673
24.3.1 設計視圖層 674
24.3.2 設計控制層 674
24.3.3 設計對象模型 676
24.3.4 設計數據訪問層 678
24.4 在線購物頁面 682
24.4.1 實現購書主頁 682
24.4.2 實現二級分類頁 685
24.4.3 實現圖書詳細頁 686
24.5 商品查詢 687
24.5.1 實現表示層 687
24.5.2 實現業務邏輯 688
24.5.3 實現數據訪問層 689
24.6 管理購物車 689
24.6.1 添加商品到購物車 690
24.6.2 更新圖書數量 696
24.6.3 取消購物車中的商品 699
24.7 生成訂單導航頁面 700
24.7.1 確認收貨及定貨地址 701
24.7.2 選擇送貨時間及運費 706
24.7.3 選擇包裝類型及費用 708
24.7.4 選擇付款方式 709
24.7.5 選擇缺貨處理及餘款處理方式 709
24.7.6 確認訂單 711
24.7.7 成功生成訂單 715
24.8 小結 717