• 1. 2018/10/181教材的组织结构第一部分 JSP预备知识与环境配置 第1章 JSP技术简介 第2章 JSP预备知识 第3章 搭建JSP开发环境
  • 2. 2018/10/182第二部分 JSP应用开发基础 第4章 JSP基本语法 第5章 使用JSP内置对象
  • 3. 2018/10/183第三部分 JSP应用开发进阶 第6章 使用JavaBean分离表示与实现 第7章 使用JSP处理HTML表单 第8章 使用Cookie记录信息 第9章 使用会话追踪(session tracking) 第10章 XML在JSP中的应用 第11章 JSP开发中的常用技巧
  • 4. 2018/10/184第四部分 在JSP中使用数据库 第12章 数据库操作基础 第13章 应用JDBC进行数据库连接 第14章 JSP中的高级数据库应用 第15章 使用JSP和JavaBean开发基于数据库的网上书店
  • 5. 2018/10/185第五部分 Servlet技术 第16章 Servlet基础 第17章 使用Servlet过滤器和监听器 第18章 使用Servlet改造网上书店
  • 6. 2018/10/186第六部分 标签库与表达式语言 第19章 创建自定义标签库 第20章 标准标签库(JSTL) 第21章 表达式语言(EL) 第22章 使用JSTL与表达式语言改进网上书店
  • 7. 2018/10/187第七部分 Web编程模式和应用框架 第23章 Web编程模式 第24章 Struts应用开发
  • 8. 2018/10/188附录A 在Tomcat上部署Web应用程序 附录B web.xml元素参考 附录C 网上资源
  • 9. 2018/10/189课程的任务 熟悉JSP编程技术: 熟悉JSP的语法; 熟悉JSP对文件的操作; 熟悉JSP对数据库的操作; 熟悉JSP中采用的JavaBean; 熟悉JSP中采用的Servlet技术。
  • 10. 2018/10/1810重点和难点课程的重点:JSP开发Web应用程序,如动态网站的开发; 课程的难点:JavaBean和Servlet技术,通过系统的学习,学生能够利用JSP技术进行网站的简单设计和开发。
  • 11. 2018/10/1811第1章 JSP技术简介 1.1 什么是JSP 1.2 JSP与其他主流动态网页技术 1.3 如何成为优秀的JSP程序员
  • 12. 2018/10/18121.1什么是JSPJSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。此后JSP又经历了几个版本,最新版本是2003年发布的JSP2.0。本书介绍的技术都是基于JSP2.0规范的。
  • 13. 2018/10/18131.1.1 认识JSP以下是helloWorld.jsp的源代码: <%@page language="java"%> Hello World!

    <% out.println("JSP Hello World!"); %>

  • 14. 2018/10/1814 JSP是一种动态网页技术标准。可以将网页中的动态部分和静态的HTML相分离。您可以使用平常得心应手的 工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“<%”开始并以“%>”结束 在Eclipse+tomcat环境下的运行效果如下图所示:
  • 15. 2018/10/1815
  • 16. 2018/10/1816JSP文件的主要结构:<%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.util.*" %> ... 其他 HTML 语言 <% 符合JAVA 语法的 JAVA 语句 %> 其他 HTML 语言
  • 17. 2018/10/1817JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
  • 18. 2018/10/1818JSP的特点: 内嵌在HTML中:以较为简单直接的方式将程序代码内嵌在HTML中,降低了程序设计的难度。 丰富的内建对象:JSP的规格中包含相关的对象、卷标与指令,提供了设计主从式网络程序的功能,简化了编写servlet程序的过程。 整合Java平台:JSP程序中可运用Java所提供的各类包,以这些包为基础,扩充了JSP程序的本身的处理范围与能力。
  • 19. 2018/10/18191.1.2 JSP的技术原理从本质上说,JSP是Servlet API的一个扩展。事实上,JSP在处理请求之前都要编译成Servlet,所以它具有Servlet的所有优势,包括访问Java API。简单的说,一个JSP页面就是包含了能够生成动态内容的可执行应用代码的HTML网页。
  • 20. 2018/10/1820Java源文件JavaServlet Web服务器JSP调用客户端浏览器
  • 21. 2018/10/1821*.jsp*.java*.classrequestresponse执行jsp parserJSDKservletservlet 分析器
  • 22. 2018/10/1822Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
  • 23. 2018/10/1823JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
  • 24. 2018/10/1824随着Internet和电子商务等应用的发展,动态网页技术诞生了。 动态网页和网页上的动画根本不是一回事,它有以下几个特点: 交互性:即网页会根据用户的要求和选择而动态改变和响应。 自动更新:即无需手动更新HTML文档,自动生成新的页面,这可大大节省工作量。 因时因人而变:即当不同的时间、不同的用户访问同一网址时会产生不同的页面,这就是所谓的个性化技术1.2 JSP与其他主流动态网页技术
  • 25. 2018/10/1825 动态网页技术:CGI ASP PHP JSP CGI:Common Gateway Interface ASP:Active Server Page PHP:Hypertext Preprocessor JSP:Java Server Page 在早期,动态网页只有采用CGI技术,但由于编程困难、效率低下、修改复杂等缺陷,所以逐渐被ASP、PHP、JSP技术取代。
  • 26. 2018/10/1826Java Server Pages; 动态网页技术标准; 动态页面与静态页面分离,跨平台性; JSP (*.jsp)=HTML文件(*.htm,*.html)+Java程序片断+JSP标记; 以Servlet技术为基础,提供强大的组件(Java Bean)支持功能; 是一种开发Web应用的理想构架。JSP技术
  • 27. 2018/10/1827JSP技术JSP的优势 一次编写,到处运行 代码不用做任何更改 系统的多平台支持: 基本上可在任意环境中开发 在任意环境中部署 在任意环境中扩展 强大的可伸缩性 从一台服务器到多台服务器均能游刃有余 多样化的开发工具
  • 28. 2018/10/1828JSP技术JSP的弱势 (1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) JSP运行是用class常驻内存来完成的,虽然提高了响应速度,但要占用相当内存。 Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
  • 29. 2018/10/1829ASP ASP(全称Active Server Pages)微软系统的脚本语言,利用它可以执行动态的Web服务应用程序。执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。1.2.1 JSP与ASP/ASP.NET的比较
  • 30. 2018/10/1830ASP的语法非常类似Visual BASIC,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。但是ASP也有很大的缺点,由于是运行在WINDOWS平台上,不能跨平台运行,自身存在着许多缺陷,最重要的就是安全性。在大型项目开发和维护上非常困难。       但在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer。
  • 31. 2018/10/1831相同点: ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。 区别: ASP的编程语言是VBScript之类的脚本语言,JSP用的是Java; 两种语言引擎用完全不同的方式处理页面中嵌入的程序代码; JSP实现处理逻辑和页面表示分离,而ASP处理逻辑和页面表示混杂在一起,对于很多大型应用难以接受。 JSP的平台无关性。
  • 32. 2018/10/1832ASP.NET     ASP最新的版本ASP.NET 并不完全与 ASP 早期的版本后向兼容,因为该软件进行了完全重写。ASP.NET的优势很明显在于它简洁的设计和实施。语言灵活,可以使用脚本语言(如 VBscript、Jscript、Perlscript 和 Python)以及编译语言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp);并支持复杂的面向对象特性。而且有良好的开发环境支持。     高效性,ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。      简单性,.NET可视化编程,提供基于组件、事件驱动的可编程网络表单,大大简化了编程。一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。如ASP.net页面构架允许你建立你自己的用户分界面。      看起来是非常有前途的,可能JSP可以一拼!
  • 33. 2018/10/1833PHP一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。 PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。 PHP是一种能快速学习、跨平台、有良好数据库交互能力的开发语言。PHP与Apache可以以静态编译的方式结合起来,而与其他的扩展库也可以用这种方式结合。这种方式的最大好处就是充分利用了CPU和内存,同时极为有效地利用了Apache高性能的吞吐能力。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。1.2.2 JSP与PHP的比较
  • 34. 2018/10/1834另外,PHP具有良好的安全性,由于PHP本身的代码开放,所以它的代码在许多工程师手中进行了测试,同时它与Apache编译在一起的方式也可以让它具有灵活的安全设定。目前,Apache的安全性能已经得到了公认。 虽然PHP在短短的时间内取得了很大的成功,尤其在开源社区的推动下,它还将会获得更多的应用,但目前它相对于JSP还存在以下几个缺点:         
  • 35. 2018/10/18351、没有统一的数据库操作接口。由于PHP的所有扩展接口都是独立团队开发完成的,同时在开发时为了相应数据的个性化操作,因此针对每种数据库的开发语言和操作接口几乎完全不同。这就使得基于一种数据库的开发工作,在数据库进行升级后几乎需要对全部代码进行修改。而为了让应用支持更多种的数据库,就需要开发人员将同样的数据库操作使用不同的代码写出各种代码库来,让程序员的工作量大大增加。 2、缺少企业级的支持,只适合于中小型应用。没有组件的支持,那么所有的扩充就只能依靠PHP开发组所给出的接口,事实上这样的接口还不够多,同时难以将集群、应用服务器这样的特性加入到系统中去。而一个大型的站点或是一个企业级的应用需要这样的支持。(注意:在PHP的4.0版本以后加入了对 Serlet/Java Bean的支持,也许这样的支持会在以后的版本中更加加强,也许这样的支持会是PHP以后的企业级支持的起点。)
  • 36. 2018/10/1836PHP的特性包括: 开放的源代码:所有的PHP源代码事实上都可以得到。 PHP是免费的。 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 简单的语言:PHP坚持脚本语言为主,与Java以C++不同。 效率高:PHP消耗相当少的系统资源。 图像处理:用PHP动态创建图像
  • 37. 2018/10/18371.3 如何成为优秀的JSP程序员1.3.1 JSP知识体系结构扩展技术自定义标签JSTL表达式语言 (EL)核心技术JSPJDBCServlet预备知识HTMLJavaJavaScript
  • 38. 2018/10/18381.3.2 推荐的学习路径 1.学习HTML 2.学习Java 3.学习JavaScript 4.学习安装和配置一种Servlet容器 5.学习JSP基本语法 6.学习JDBC 7.学习Servlet 8.学习自定义标签库和JSTL 9.学习表达式语言