华信教育资源网
JSP Web应用程序开发教程(第2版)
丛   书   名: 新工科建设之路·计算机类专业规划教材
作   译   者:杨占胜,王鸽,王海峰 出 版 日 期:2018-01-01
出   版   社:电子工业出版社 维   护   人:戴晨辰 
书   代   号:G0332440 I S B N:9787121332449

图书简介:

JSP是Java EE的核心技术之一,它是一种与平台无关、基于Java Servlet技术及整个Java体系的Web开发技术,它秉承了Java语言的优势,开发周期短、代码执行效率高、可扩展性和可移植性强、技术规范公开,因此成为了开发Web应用程序(动态网站)的主要技术之一。本书系统地介绍了Tomcat服务器的使用、JSP的基本语法、JSP的内置对象、Servlet技术、Java Bean的使用、JDBC数据库应用开发等JSP基本技术;还介绍了Servlet事件监听器、过滤器、表达式语言、自定义标签、标准标签库(JSTL)等JSP高级技术;使用JSP解决Web应用程序开发中的常见问题,包括:页面间数据的传递、JSP中文问题、国际化、日志组件、文件上传组件、安全设置等。本书力求深入浅出,例程精练典型,是系统学习JSP技术的教材和参考手册。本书没有介绍JSP Web程序模式二(MVC)开发技术,即各种JSP开发框架,但为进一步学习这些技术打下了必要的基础。本书内容丰富、突出应用、例程详尽,对JSP中的疑难点进行了辨析。本书可作为高等学校本、专科的教材及各类培训班的教材,也可供从事计算机应用和开发的各类人员学习参考。
定价 55.0
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    JSP是Java EE的核心技术之一,它是一种与平台无关、基于Java Servlet技术及整个Java体系的Web开发技术,它秉承了Java语言的优势,开发周期短、代码执行效率高、可扩展性和可移植性强、技术规范公开,因此成为了开发Web应用程序(动态网站)的主要技术之一。本书系统地介绍了Tomcat服务器的使用、JSP的基本语法、JSP的内置对象、Servlet技术、Java Bean的使用、JDBC数据库应用开发等JSP基本技术;还介绍了Servlet事件监听器、过滤器、表达式语言、自定义标签、标准标签库(JSTL)等JSP高级技术;使用JSP解决Web应用程序开发中的常见问题,包括:页面间数据的传递、JSP中文问题、国际化、日志组件、文件上传组件、安全设置等。本书力求深入浅出,例程精练典型,是系统学习JSP技术的教材和参考手册。本书没有介绍JSP Web程序模式二(MVC)开发技术,即各种JSP开发框架,但为进一步学习这些技术打下了必要的基础。本书内容丰富、突出应用、例程详尽,对JSP中的疑难点进行了辨析。本书可作为高等学校本、专科的教材及各类培训班的教材,也可供从事计算机应用和开发的各类人员学习参考。

    图书详情

    ISBN:9787121332449
    开 本:16开
    页 数:348
    字 数:599

    本书目录

    目    录
     
    第1篇  JSP基本技术
    第1章  JSP运行环境	1
    1.1  动态网页技术	1
    1.1.1  Web发展的三个阶段	1
    1.1.2  Web应用程序开发的三个阶段	2
    1.1.3  HTTP请求地址——URL	3
    1.1.4  HTTP状态码	3
    1.1.5  JSP动态网页的处理过程	5
    1.2  Tomcat服务器的安装与配置	5
    1.2.1  安装Java SE	5
    1.2.2  安装Tomcat	7
    1.2.3  Tomcat服务器的目录结构	9
    1.2.4  Tomcat服务器的配置文件	9
    1.3  JSP Web应用程序的目录结构与
        发布	11
    本章小结	15
    思考题	15
    第2章  JSP基本语法	16
    2.1  JSP的构成	16
    2.2  指令元素	16
    2.2.1  page指令	17
    2.2.2  include指令	20
    2.2.3  taglib指令	21
    2.3  脚本元素	21
    2.3.1  Scriptlet	22
    2.3.2  表达式	22
    2.3.3  声明	23
    2.4  动作元素	26
    2.4.1  <jsp:include>	26
    2.4.2  <jsp:param>	28
    2.4.3  <jsp:forward>	28
    2.4.4  <jsp:plugin>	29
    本章小结	31
    思考题	31
    第3章  JSP内置对象	32
    3.1  out	32
    3.2  request	33
    3.3  response	38
    3.4  Cookie	40
    3.5  session	42
    3.6  application	45
    3.7  pageContext	46
    3.8  page	48
    3.9  JSP作用域	49
    3.10  config	49
    3.11  exception	50
    3.12  内置对象综合例程	50
    本章小结	53
    思考题	53
    第4章  Servlet	54
    4.1  Servlet技术	54
    4.1.1  Servlet技术概述	54
    4.1.2  Servlet的特点	54
    4.1.3  Servlet的生命周期	54
    4.2  Servlet接口	56
    4.2.1  Servlet实现相关	57
    4.2.2  Servlet配置相关	59
    4.2.3  请求和响应相关	60
    4.2.4  会话相关	61
    4.2.5  Servlet上下文相关	61
    4.2.6  Servlet协作相关	61
    4.2.7  过滤器相关	62
    4.2.8  Servlet异常相关	62
    4.3  Servlet设计与配置	63
    4.3.1  Servlet的开发流程	63
    4.3.2  JSP的配置路径	69
    4.3.3  Servlet的注解配置	70
    4.4  JSP Web应用程序的开发模式	72
    本章小结	73
    思考题	74
    第5章  Java Bean	75
    5.1  Java Bean简介	75
    5.1.1  Java Bean的特性	75
    5.1.2  Java Bean的属性	75
    5.1.3  Java Bean的编写	76
    5.2  JSP中使用Java Bean	77
    5.2.1  <jsp:useBean>	78
    5.2.2  <jsp:getProperty>	79
    5.2.3  <jsp:setProperty>	79
    本章小结	83
    思考题	83
    第6章  JDBC	84
    6.1  JDBC介绍	84
    6.2  JDBC API	85
    6.2.1  Driver接口	85
    6.2.2  DriverManager类	85
    6.2.3  Connection接口	86
    6.2.4  Statement接口	86
    6.2.5  ResultSet接口	87
    6.3  JDBC访问数据库	88
    6.3.1  使用JDBC-ODBC桥访问
          数据库	90
    6.3.2  使用All-Java JDBC Driver
          访问数据库	98
    6.3.3  通过Java Bean访问数据库	107
    6.3.4  JDBC的其他操作	125
    6.4  数据分页显示	131
    6.5  数据库连接池	143
    6.6  JSP数据库开发实例	145
    本章小结	159
    思考题	160
    第7章  Eclipse	161
    7.1  Eclipse开发环境的建立	161
    7.1.1  Eclipse的下载安装	161
    7.1.2  插件安装	162
    7.2  Eclipse的界面与参数设置	165
    7.2.1  Eclipse的界面	165
    7.2.2  Eclipse的参数设置	167
    7.3  使用Eclipse开发JSP	171
    7.3.1  动态Web项目的建立	171
    7.3.2  Eclipse内嵌Web服务器	173
    7.3.3  增强的代码编辑功能	177
    7.4  Eclipse项目管理	183
    7.4.1  项目导出	183
    7.4.2  导入项目	184
    本章小结	186
    思考题	186
    第2篇  JSP应用开发专题
    第8章  页面之间数据的传递	187
    8.1  同一个会话页面间数据的传递	187
    8.2  不同会话页面间数据的传递	192
    本章小结	193
    思考题	193
    第9章  JSP中文问题	194
    9.1  字符编码	194
    9.2  Java语言中的编码	196
    9.2.1  Java程序处理中的编码转换	196
    9.2.2  JSP程序处理过程中的
          编码转换	197
    9.2.3  JSP中文处理	199
    9.2.4  数据库中文问题	203
    本章小结	207
    思考题	207
    第10章  JSP应用程序的安全性	208
    10.1  安全配置元素	208
    10.2  Tomcat安全域	211
    10.3  安全控制实例	213
    本章小结	215
    思考题	216
    第3篇  JSP高级技术
    第11章  Servlet监听器	217
    11.1  Servlet事件监听相关的API	217
    11.1.1  ServletContext监听API	217
    11.1.2  HttpSession监听API	218
    11.1.3  ServletRequest监听API	219
    11.2  监听器程序的开发	219
    11.2.1  监听器的设计与配置	220
    11.2.2  Servlet上下文监听程序
           实例	222
    11.2.3  会话监听程序实例	223
    11.2.4  请求监听程序实例	228
    本章小结	231
    思考题	231
    第12章  Servlet过滤器	232
    12.1  Servlet中与过滤器相关的API	232
    12.1.1  Filter接口	232
    12.1.2  FilterChain接口	233
    12.1.3  FilterConfig接口	233
    12.2  过滤器程序的开发	234
    12.2.1  过滤器的设计与配置	234
    12.2.2  简单的过滤器实例	237
    12.2.3  处理参数的过滤器实例	239
    12.2.4  过滤器的简单应用	241
    本章小结	242
    思考题	243
    第13章  表达式语言	244
    13.1  表达式语言的语法	244
    13.1.1  EL保留字	244
    13.1.2  EL字面量(Literals)	244
    13.1.3  EL默认值与自动类型
           转换	244
    13.1.4  表达式语言中的设置	245
    13.2  表达式语言中的普通运算	246
    13.3  表达式语言中的Java Bean	248
    13.4  表达式语言中的隐式对象	249
    13.5  EL函数	251
    本章小结	253
    思考题	253
    第14章  自定义标签	254
    14.1  自定义标签简介	254
    14.1.1  自定义标签的优点	254
    14.1.2  自定义标签的特点	254
    14.1.3  自定义标签的设计过程	254
    14.1.4  taglib指令	254
    14.1.5  自定义标签的类型	255
    14.1.6  自定义标签的接口与类	255
    14.2  经典标签	255
    14.2.1  Tag接口	256
    14.2.2  tld文件	260
    14.2.3  自定义标签的属性	263
    14.2.4  IterationTag接口	265
    14.2.5  BodyTag接口	268
    14.2.6  标签的嵌套	271
    14.3  简单标签	272
    14.4  标签文件	274
    本章小结	281
    思考题	281
    第15章  标准标签库	282
    15.1  JSTL简介	282
    15.1.1  JSTL的安装配置	282
    15.1.2  JSTL的优点	282
    15.1.3  JSTL标签库	282
    15.2  核心标签库	283
    15.2.1  c:out	283
    15.2.2  c:set	285
    15.2.3  c:if	288
    15.2.4  c:choose、c:when、
           c:otherwise	288
    15.2.5  c:forEach	289
    15.2.6  c:forToken	291
    15.2.7  c:import	292
    15.2.8  c:url	293
    15.2.9  c:redirect	294
    15.2.10  c:param	294
    15.2.11  c:catch	295
    15.3  SQL标签库	295
    15.3.1  sql:setDataSource	295
    15.3.2  sql:query	296
    15.3.3  sql:param	299
    15.3.4  sql: update	301
    15.4  国际化与标准化标签库	302
    15.4.1  <fmt:setLocale>	303
    15.4.2  <fmt:bundle>、
           <fmt:setBundle>	303
    15.4.3  <fmt:message>	304
    15.4.4  <fmt:param>	305
    15.4.5  <fmt:requestEncoding>	306
    15.4.6  <fmt:timeZone>、
           <fmt:setTimeZone>	306
    15.4.7  <fmt:formatNumber>	306
    15.4.8  <fmt:parseNumber>	307
    15.4.9  <fmt:formatDate>	308
    15.4.10  <fmt:parseDate>	309
    本章小结	312
    思考题	312
    第4篇  JSP常用组件
    第16章  文件上传和下载组件	313
    16.1  jspSmartUpload API	313
    16.1.1  File类	313
    16.1.2  Files类	314
    16.1.3  Request类	315
    16.1.4  SmartUpload类	315
    16.2  文件上传	318
    16.3  文件下载	322
    本章小结	323
    思考题	323
    第17章  日志组件	324
    17.1  Log4j	324
    17.1.1  Log4j API	324
    17.1.2  Log4j的配置	328
    17.1.3  Log4j的使用	329
    17.2  commons-logging	333
    17.2.1  commons-logging API	333
    17.2.2  commons-logging的使用	335
    本章小结	335
    思考题	336
    附    录
    附录A  Tomcat版本简介	337
    附录B  MySQL使用说明	337
    附录C  实验指导书	337
    附录D  实验参考答案	337
    参考文献	338
    展开

    前     言

    第2版前言
    自本书出版以来,Java Web界发生了一些重要的事件。Oracle公司于2010年完成了对SUN公司的收购;2014年发布了变更较大的JSDK8,其中取消了对JDBC-ODBC桥驱动的支持;Apache Software Foundation于2010年首次发布Tomcat 7,Tomcat 7支持Java EE 6,实现了Servlet 3.0/ JSP 2.2规范,新增的注解功能,简化了 Servlet、过滤器(Filter)和监听器(Listener)的配置,精简了部署描述文件web.xml。由于JSP技术在不断地更新发展,本书有必要进行修订再版。
    本书第2版在第1版的基础上修订编写而成,主要修改了1.2节JSDK与Tomcat下载安装的内容;重写了第6章JDBC,增加了使用Access JDBC驱动访问Access数据库的内容,增加了JDBC访问SQL Server 2005的注意事项,以及JDBC访问更高版本SQL Server数据库的问题,简化了6.4节数据分页部分;在相关的章节增加了运用Annotation配置Servlet、Filter、Listener的内容;各章之后新增了本章小结和思考题;重写了附录A;修改了附录C的实验3;重写了附录C的实验5;书中的例程组织为一个网站,提供Eclipse项目,供读者学习参考。
    The Eclipse Foundation于2007年Eclipse3.3 Eruopa版开始,发布集成了Java Web开发插件的Eclipse IDE for Java EE Developers工具,使得Java Web开发者无须再安装配置众多的Java Web插件,或者依赖于庞大的MyEclipse商业软件,就能轻松、方便地使用功能强大的Eclipse IDE来进行Java Web开发。为使本书的知识体系更加完善,第2版补充一章介绍Eclipse的使用,以Eclipse4.4 Luna版的Eclipse IDE for Java EE Developers为基础。
    本书第2版秉承第1版的特点,力求克服以往教材的不足,减少与相关课程知识的重叠;吸取多年来的教学经验,注重反映Web应用程序开发技术的最新成果;按照知识关联和循序渐进的学习路线,构建更加完善和清晰的知识体系;对JSP技术进行了系统、深入的介绍。本书的结构经过精心编排设计,讲解深入细致,例程精练典型,主要特点如下。
    (1)对JSP的各种技术进行了简练的、实质性的解释。指令是对JSP解析器环境的设置;动作是服务器端的动态标记,JSP解析器调用特定的方法处理相应的动作标记;内置对象是服务器提供的API类库;Servlet是一个实现了特定接口,运行在服务器环境中的特殊Java类;监听器是Web方式的Java事件处理机制;过滤器是对HTTP请求的预处理和后处理;分页显示是对数据的二次选择。
    (2)对JSP语法中容易混淆且较难理解的概念进行了解释和辨析。如page指令中有关页面编码的contentType属性与pageEncoding属性,声明中的变量定义与Scriplet中变量的定义,include指令与include动作,forward动作转向与response内置对象sendRedirect方法转向,request内置对象的getParameter方法与getAttribute方法等。
    (3)对各类程序的开发过程进行了总结。包括Servlet的开发步骤,JDBC访问数据库的步骤,Web监听器的设计步骤,过滤器的设计步骤,EL函数的应用步骤,自定义标签的设计步骤。
    (4)对JDBC访问各类数据库的注意事项进行了详细总结。
    (5)附录实验指导书中采用程序填空的方式进行代码设计的训练,并对每个实验的注意事项进行了说明,对实验程序填空、上机作业、实验思考题给出了参考答案。
    (6)本书只专注于JSP技术的介绍。不讲HTML、CSS、JavaScript,不讲Java,不讲XML,不讲数据库原理,这些知识应从前置课程中系统地学习;也不讲Structs、Spring、Hibernate或iBatis,这些MVC和数据访问框架是后续的进阶课程。
    (7)本书包含配套教学PPT及相关资源,读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。
    使用本书作为教材,64学时(不包括实验学时)可讲完全书大部分内容;课时为32学时,建议讲授第1篇JSP基本技术的7章,其余部分可供学生自学、参考。第7章Eclipse可提前讲授,也可在各章节中穿插讲解应用。
    本书得到山东省高校精品课程基金项目的支持,基金编号为2013BK106。杨占胜编写了本书中的第1章至第14章、第17章与附录部分;王海峰与杨占胜共同编写了第15章;王鸽编写了第16章。孙琳、刘士彩参与了部分习题的编写,并对部分章节提出了许多宝贵的意见和建议;全书由杨占胜统稿。感谢电子工业出版社的鼎力支持和通力合作,由于戴晨辰编辑和其他工作人员付出的辛勤劳动,使得本书得以尽快出版,以应教学之需。
    这次修订再版希望能反映一些最新的Java Web技术,并使本书更加严谨完善,但这并非易事,敬请广大读者们批评指正,特别是使用本教程的各位教师和同学,如果有什么问题和建议,欢迎大家随时向作者提出,作者E-mail:670418190@qq.com。
    
    作  者         
    2017年8月于临沂    
     
    第1版前言
    程序设计可分为系统程序设计和应用程序设计,系统程序如操作系统、编译程序、数据库管理系统、驱动程序等。应用程序按应用范围有:多媒体程序、网络程序、数据库程序等;按其运行方式有:命令方式程序、图形用户界面(窗口)程序、Web应用程序、手机及PDA程序等。命令方式程序是我们在学习C、C++、汇编、Java等各种计算机语言时常遇到的例子和练习程序,这类程序通过在命令方式下的输入/输出与用户进行交互,人机界面单一,设计较为简单,实际应用中已很少将其作为单独的一类程序使用。图形用户界面(GUI)程序是我们最常见的,因为Windows是一个图形用户界面的操作系统,其中的大部分程序都是图形界面的。这类程序是事件驱动的,以菜单、工具栏、对话框等窗体元素作为人机交互的界面。如果单纯使用操作系统的API,用任何一种语言设计一个图形界面的程序都是很复杂、很低效的,即使用面向对象的程序设计语言,再辅以类库也还是有一定的复杂性。所幸的是组件技术的出现,大大地降低了窗口程序的设计难度;再加上功能强大的集成开发环境(IDE),使窗口程序设计达到了简单高效的地步。手机及PDA程序目前很热门,这类程序与一般的计算机程序原理基本一致,只是运行环境受限,比如CPU的运算速度、存储器的容量等,一般使用专有类库及API进行设计。Internet的迅速普及,电子商务的广泛应用,促使Web应用程序爆炸式发展,Web程序已经成为企业应用的主要形式。在Web应用程序流行之前,有一种基于客户机/服务器(C/S)的网络程序,这类程序都有一个专用的服务器程序和一个客户端程序,双方通过底层的TCP/IP协议通信。编程时主要使用Socket技术,Socket是操作系统TCP/IP API的高层抽象。C/S程序的缺点是每个客户端必须安装专用的客户程序,在使用的方便性和安全性方面存在很大的问题,使用底层的传输协议,常被防火墙拦截,在安全性要求高的领域不能应用。Web应用程序也是基于客户机/服务器模式的,但它的服务器统一为Web服务器,客户机统一为浏览器,所以又称为B/S(Browser/Server)结构的程序。B/S程序使用HTTP协议进行通信,利用Web服务器和浏览器的安全机制,克服了C/S程序的缺点。Web应用程序是一个服务器端动态的网站,它通过浏览器与用户交互,最终返回给用户的是一个HTML文档,所以学习Web应用程序开发,需要“Web技术基础”知识:HTML、JavaScript、CSS;JSP Web应用程序使用Java语言编写服务器端动态程序,所以又需要“Java语言程序设计”方面的知识;Web应用程序通常要访问数据库,数据库访问是Web应用程序设计的重点和难点,所以还需要“数据库基础与应用”方面的知识,如结构化查询语言(SQL)、数据库的安全机制与权限设置等,JSP中的大量配置文件都使用XML格式,所以也需要“XML基础与应用”方面的知识。本书介绍的JSP Web应用程序开发技术是以上述先修课程的知识为基础的。
    JSP应用开发涉及的软件技术多,综合性强。JSP技术本身的知识也较繁杂,各知识点之间相互关联,如自定义标签中会用到表达式语言(EL),而EL函数又会用到自定义标签中的标签库描述。要系统地介绍JSP技术体系,合理地组织和编排JSP的知识结构很重要。在JSP技术的发展过程中,是先有Servlet,后有JSP的。介绍JSP技术的教材主要有两种顺序,一种是先介绍JSP基本语法,然后介绍Servlet;另一种是先介绍Servlet,后引入JSP。鉴于Servlet的复杂性和几年来的教学实践,本书在结构安排上,从动态网页的发展入手引入JSP,然后介绍Servlet,但将Servlet提到Java Bean之前。在JSP高级技术部分,由于表达式语言较为简单,标准标签库(JSTL)使用到了表达式语言,而自定义标签与JSTL应有连贯性,所以将表达式语言提到了自定义标签之前。在内容方面,本书力求对各种技术进行简练、实质性的解释,如指令是对JSP解析器环境的设置;动作是服务器端的动态标记,JSP解析器调用特定的方法处理相应的动作标记;内置对象是服务器提供的API类库;Servlet是一个实现了特定接口,运行在服务器环境中的特殊Java类;监听器是Web方式的Java事件处理机制;过滤器是对HTTP请求的预处理和后处理;分页显示是对数据的再次选择。JSP语法中有些概念容易混淆且较难理解,如page指令中有关页面编码的contentType属性与pageEncoding属性;声明中的变量定义与Scriptlet中变量的定义;include指令与include动作;forward动作转向与response内置对象sendRedirect方法转向;request内置对象的getParameter方法与getAttribute方法,本书都进行了详细的辨析。对于JSP技术中的两大难点,数据库访问和自定义标签,本书重点进行了讲解。数据库访问部分按访问方式和要访问的数据库类型,分别进行了大量示例,并对各种可能出现的问题列出了注意事项。阐述自定义标签中的属性时,提出了属性在何处声明、何处定义、何处赋值、何处使用几个问题来帮助理解。其中数据分页、中文乱码、容器可控安全性等章节写得较有新意。书中的例程主要来源于教学实践,在本书的写作过程中,又重新进行了选择设计,尽可能使每个程序都很典型。阅读源代码是学习程序设计语言的最有效途径,为了鼓励和方便读者阅读源程序,对于书中各个例程所代表的知识点都做了详细的注释。所有的程序都在Tomcat6.0中进行了调试运行。本书所附光盘包含了书中所有例程的源代码,以及支持软件。总之,本书在结构安排上,内容讲解方面力求有所特色和创新,但作者水平有限、编写时间仓促,不足之处在所难免,希望阅读本书的师生多提宝贵意见,E-mail:zsyoung@sohu.com。
    本书按照21世纪高等学校计算机规划教材及计算机实用软件应用系列教材的要求编写。杨占胜编写了第1章至第14章、第16章与附录部分,刘士彩与王鸽共同编写了第15章,山东科技大学信息学院与临沂师范学院信息学院Java Web应用程序开发课程团队的其他老师参与了部分实验思考题的编写,并对部分章节提出了许多宝贵的意见和建议。全书由杨占胜统稿,临沂师范学院信息学院党委书记赵铭建教授对本书的编写给予了高度的关心和热情的帮助,并对全书进行了审核。
    最后,衷心感谢出版社的编辑,是他们的辛勤劳动,使本书得以顺利出版。此外,本书参考了许多国内外同行的著作、博文,引用了其中的观点、数据和结论,在此一并表示感谢。
    
    作  者      
    2009年8月
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网