图书前言

前言

Java是目前最流行的程序开发语言,在服务器程序设计、手机程序设计等方面应用广泛。Java作为一种完全的面向对象语言,吸取了其他语言的优点,设计简洁优美,使用起来方便高效。Java是一个完整的技术平台,在这个平台上不断涌现各种新技术,其中的很多技术是免费的,因此对于中小企业应用来说,选择Java具有非常大的吸引力。在Java发展过程中,不断有过时的技术被弃用。只有那些自身具有强大生命力的技术才会存活下来,并且被不断注入新的活力。JSP(Java Server Pages)就是一种自身具有强大的生命力且一直在快速发展的技术。JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的动态网站。JSP是由Sun公司倡导、许多公司参与一起建立的一种动态页面技术标准。自JSP推出后,很多公司都推出了支持JSP技术的服务器,如IBM、Oracle公司等,所以JSP迅速成为商业应用的服务器端语言。JSP具备Java技术的简单易用、完全的面向对象、平台无关性且安全可靠、面向Internet等特点。JSP从诞生至今,内容越来越丰富,页面设计越来越简洁,是Internet上的主流开发工具之一。

全书分为11章,内容包括: 

第1章“概述”介绍Web应用基础、配置Tomcat、JSP运行机制、利用表单提交数据、处理用户提交的数据。

第2章“JSP基本语法”介绍JSP页面的组成、脚本元素、常用指令和动作的运用。

第3章“JSP内置对象”介绍request、response、cookie、session、out、application等对象的工作机制及应用,结合一个简单的购物车实例讲解各个内置对象的作用范围。

第4章“EL”介绍表达式语言的基础语法和内置对象。

第5章“数据库访问”介绍创建MySQL数据库、JDBC应用概述、使用预编译语句以及ResultSet对象等内容。

第6章“JavaBean”介绍在JSP中使用JavaBean、利用表单设置JavaBean属性、JavaBeans的scope属性及利用JavaBean实现数据库表分页显示。

第7章“Servlet”介绍Servlet基础知识、Servlet与客户端的通信、Servlet过滤器。JSP程序设计(第2版)前言第8章“MVC架构”介绍MVC架构的基本原理、用RequestDispatcher实现MVC、MVC应用实例。

第9章“标签库”介绍标准标签库和自定义标签。

第10章“Spring MVC”介绍Spring基本特性、Spring框架、Spring MVC、基于注解的控制器和文件上传。

第11章“JSP实用组件”介绍PDF文档生成组件iText和处理Excel文件的组件JXL。

本书面向具有一定静态页面设计基础的读者,如果未学习过静态页面设计,需要预先学习附录所列内容。附录内容包括JSP开发环境的安装与配置、常用字符集、HTTP以及HTML、CSS和JavaScript基础。

本书围绕一个地理知识测试项目,以教程的形式深入浅出、由易到难地介绍JSP的常用开发技术。为了便于读者阅读和理解,本书对某些特定内容采用专门的字体。新增的代码或关键代码用加粗字体表示,应该删除的代码使用了删除线。例如,在下面的代码中,将原来的out.print()方法删除,替换为粗体显示代码。

代码清单23修改页面内容显示来源 (index.jsp)<%out.print("北京是中华人民共和国首都,简称京。");%>

<%

i=(i+1)%mQuestions.length;

    out.print(mQuestions\[i\].getQuestion()); 

%>本书各章内容前后联系比较紧密,例如在前面章节定义的工具类在后面会直接调用。读者在阅读时需要按照章节顺序阅读和调试程序,建议不要在章节间跳跃阅读。

对于比较简单的项目,实现时可以采用不同的JSP技术。为了养成良好的编程习惯,希望读者最后能够使用MVC模式设计Web应用程序。为了让初学者有一个由浅入深、渐进的学习过程,不同章节的代码设计规范会存在一定的差异。例如,后面章节尽量避免将大量Java代码嵌入JSP页面中,而前面的章节并没有遵从这一思想;前几章将JSP页面放在网站根目录下,后面又将JSP页面改为放在WEBINF目录下。这些实际上都与JSP程序设计中存在的不同软件设计模式之间的差异有关。

作为初学者,没有必要也不可能掌握JSP的全部,需要掌握的是软件系统的开发设计思路与语言的核心知识技能。本书在内容选取上没有特别注重知识的完备性。另外,为了突出JSP的核心知识,在页面设计上没有大量引入复杂的样式和JavaScript脚本。由于篇幅有限,地理知识测试项目的部分内容未能在本书中详述,读者可从清华大学出版社网站下载相关电子文档及代码。本书还提供题库、讲课视频、源代码和电子教案。

白文秀、侯锟、李淑梅、吕凯参与了本书的编写工作。

本书可以作为高等院校计算机及相关专业的JSP程序设计教材,也可以作为JSP爱好者和网站开发人员的参考书。由于作者水平有限,书中难免存在错漏之处,敬请读者批评指正。

作者2020年9月