
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
JSTL是一个已经被标准化的标记库集合 她支持迭代 条件 XML文档的解析 国际化 和利用SQL与数据库交互的功能 JSTL主要包括四个基本部分的标记库 Core XML 国际化 和对SQL的支持 由于这篇文章的主要是以其中的SQL部分的应用来快速了解JSTL 所以我们这篇文章只介绍了 Core和SQl标签库的一些基本功能
这项技术简单而且功能强大 足以和PHP ColdFusion一较高下 他在拓展Java的应用领域方面有足够的能力 这些领域不只包括大型的可再升级的Web应用程序 对于仅拥有简单主页的Web程序一样没问题 这允许你在建立站点的时候可以避免那些经常考虑的XML的集成和与数据库的连接 JSTL的关键点就是简单易用 还有 那就是JSTL是基于JSP构建的 他允许我们使用所有的Java技术
开始之前 我们需要弄清楚怎样才能运行JSTL 由于是基于JSP技术的 所以我们运行它就需要一个能够编译JSP的容器 这里我们使用免费的JSP容器 TOMCAT() 至于如何安装这个产品已经超出了本文所讲述的范围 毫无疑问 这个软件产品现在已经很普及了 而且关于如何安装的文档资料也是很多 这里假设您已经安装并成功配置了这个容器 你只需再安装JSTL运行所需文件它可以从这里下载你不需要真正的安装它 只需要将其中的 JAR文件包含到你的应用程序的WEB INF/lib目录下即可
因为我们要在一个支持标准SQL的数据库上运行程序 你需要在你的电脑上安装有一个数据库 数据库的类型有许多种 这里我选择了MySql 我之所以选择他的原因在于首先 我们需要展示JSTL对于构造简单快速的应用程序领域所起的作用 同时能和一直在这个领域处于主导地位的PHP+MySql有所比较第二点那就是MySql是可以免费下载并包含有一个针对JAVA的JDBC驱动 总之 为了使用下面的例子 你需要下载一个MYSQL服务器( MySql Connector/J JDBC驱动程序 还有就是MySql control center ) 这个产品可以让你非常容易的 *** 作管理Mysql数据库文件 全部下载完成后 你需要安装mysql和mysql Control Center 另外还有就是mysql的JDBC驱动需要放到你的web应用程序中的/Web INF/lib目录中
在创建程序代码之前 你需要创建并填写数据库表 关于这方面的主题文章也相当广泛 具体如何 *** 作超出了本文的范围 这里我推荐给你我们上面提及的一个可视化的管理工具 MySQL Control Center 你可以用他来创建一个用来运行程序的测试用户 数据库以及创建一个测试表 并填写若干记录 关于登陆名及密码数据库名称这些配置环境参数 你应该记住他们 稍后需要应用到我们的代码中
现在 你就可以准备创建自己的第一个JSTL应用程序了它需要我们做下面一些事情
整个实例程序代码包括两个文件Hello jsp和 Continue jsp
Hello jsp文件允许你输入数据库名称 登陆名称 登陆密码 数据库表名 Continue jsp 接受Hello jsp中的数据信息并且连接数据库 并对数据库中的表执行一个Select请求
下面是这个系统所有的代码文件 我将逐一进行解释 这些代码相当简单 对于代码的结构 我相信你即使没有我的解释你也能理解的
: <! Hello jsp >
: <>
: <head>
: <title>Hello</title>
: </head>
: <body bgcolor="#ffffff">
: <h >Please enter all necessary information and click OK </h >
: <form method="post" action="Continue jsp">
: <br>Your login to database:
<input type=text name=login size=" ">
: <br>Your password to database:
<input type=password name=password size=" ">
: <br>Your database name:
<input type=text name=database size=" ">
: <br>Your database table:
<input type=text name=table size=" ">
: <br><br><input type=submit name=submit value=" OK ">
: </form>
: </body>
: </>
(请注意文本左侧的数字只是为你提供一些标记信息 你不需要将他们输入到你的代码文件中 )
上面就是所有Hello jsp的源代码 很惊奇吧 他仅仅是纯粹的HTML代码 就这么简单 我想应该没有注释的必要了 我之所以将这些代码片段包含进文章中就是为了展示一下JSTL集成到那些需要快速扩充额外功能的HTML站点中是多么的简单 让我再为你展示一下Continue jsp的全部代码 看过之后 你就会对 JSTL有些了解了
: <! Continue jsp >
: <%@ taglib prefix="c" uri="%>
: <@ taglib prefix="sql" uri="%>
: <c:set var="h" value="localhost"/>
: <c:set var="l" value="${param login}"/>
: <c:set var="p" value="${param password}"/>
: <c:set var="d" value="${param database}"/>
: <c:set var="t" value="${param table}"/>
: <>
: <head>
: <title>Continue</title>
: </head>
: <body bgcolor="#ffffff">
: <sql:setDataSource driver=" mysql jdbc Driver"
url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
: <sql:query var="result">
: SELECT * FROM <c:out value="${t}"/>
: </sql:query>
: <c:forEach var="row" items="${result rowsByIndex}">
: <c:out value="${row[ ]}"/><br>
: </c:forEach>
: </body>
: </>
(请注意文本左侧的数字只是为你提供一些标记信息 你不需要将他们输入到你的代码文件中 )
这就是我们所有的代码了 是不是非常不错?现在我门来解释一下上面这些代码的作用
行 是 HTML 的注释说明
行 这些 JSP 标签是为了引用外部的 标签库 更确切的说这里是引用了JSTL库中的 Core 和SQL标签库部分 我们为他们都设置了前缀名称 以便于我们通过这些前缀名称访问被引入的标签库中的功能方法
行 正如 Hello jsp 真正运行的样子 他将请求continue jsp Continue jsp获得请求后就需要得到并解析来自Hello jsp的若干变量 我们使用了这样的方式${param YOUR_VAR} 在第 行<c:set标签 将变量${h}设置为 "localhost" 第五行变量${l}将获取我们在 Hello jsp中的login文本域中输入的信息 第 行的变量将分别获得来自Hello jsp中用户所输入的密码 数据库名称 数据表名称
行 是一些我经常用来常见HTML网页头的简单的HTML标签 马上 重要的功能马上要到了
行 我们试图用我们先前获得的mysql驱动程序( mysql jdbc Driver)建立数据库连接 在URL中 我们指明数据库连接所需要的参数 象数据库名称 主机名称 登陆名及登陆密码 依此 我们可以用其它任何的JDBC驱动程序连接其相对的数据库 如果我们需要连接其他的SQL数据库 只需更改这个 URL就够了
行 这里我们执行了一个Select 查询 请特别注意第 行 我们使用了另一个JSTL功能函数<c:out 用来输出我们所获取的数据表名称 这里我们同样可以使用其他的SQL命令 比如说 INSERT DELETE 等等 要执行这些没有返回值的查询请求 你就需要使用<sql:update JSTL功能函数了 他可以直接执行他们就象<SQL:query一样 只是执行它是不需要特别指定结果变量来存储语句执行返回的结果
行 既然我们执行了上面的SELECT查询语句 我们就应该把他的返回结果显示出来 <c:forEach 就是JSTL 中一个具有迭代功能的函数 执行它时 我们通过${result rowsByIndex}将返回的每一个数据行信息返回给变量${row} 紧接着在第 行 我们通过<c:out value="${row[ ]}"/>显示返回的每个数据行的第一个数据列中的值 只要你的数据表中包含的字段 你都可以通过改变变量 ${row}中的数字大小来对请求表中的任意一个字段中的值对他们进行访问
行 是HTML 页脚
在你亲自创建JSTL应用程序过程中 可能你还没有发现它有多么的强大 但你应该能够意识到JSTL的功能函数的简单和高效性 试想有了JSTL 整合出一个基于SQL的新闻专栏是何等的快速 集成你现有的web站点是何等的容易
很好 我们的代码很容易理解的 即使一个非专业程序员的话 打个比方就算是一个设计师也能够读懂它 理解它 还可能进行部分的修改 起码是页面布局上的修改
正如我们开始的时候所提到的 为了使我们的JSTL代码正常的运行 我们需要安装Mysql Connector/J 中的JAR 文件 当然还有 JSTL 因为我们使用了Tomcat这个JSp 容器 你需要在Tomcat的文件目录Webapps下创建你自己的文件夹 将你的Hello jsp Continue jsp文件放在你创建的文件目录中 在你创建的目录中你还要创建一个叫做WEB INF 的文件夹 将你的配置文件Web xml放在里面 web xml文件如下
<?xml version=" " encoding="UTF "?>
<!DOCTYPE web app
PUBLIC " //Sun Microsystems Inc //DTD Web Application //EN"
">
<web app />
接下来我们还需要在WEB INF下创建一个叫做lib的子目 并将下列文件放进去
jstl jar
saxpath jar
standard jar
lishixinzhi/Article/program/Java/JSP/201311/20216
第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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)