1、Java Web应用开发应用开发学习目的:学习目的:基于基于Java语言学习语言学习Java Web相关技术相关技术 掌握掌握B/S体系结构的程序设计方法体系结构的程序设计方法 具备动态网站应用程序的开发能力具备动态网站应用程序的开发能力课程内容课程内容lWeb技术概述技术概述lJava程序设计程序设计l网页基础网页基础lJSP页面元素页面元素lJSP内置对象内置对象lJDBC数据库操作数据库操作lJavaBean技术技术lEL表达式和表达式和JSTL标签库标签库lServlet技术技术lWeb设计模式设计模式lWeb 2.0和和Ajax简介简介第1章 Web技术概述Web应用演化:桌面应用程
2、序应用演化:桌面应用程序l以前,普通以前,普通PC桌面上有哪些应用程桌面上有哪些应用程序的图标?序的图标?lWindows Media Player等音乐播放器等音乐播放器lQQ等聊天工具等聊天工具l网络游戏客户端网络游戏客户端lOffice等办公软件等办公软件lWeb应用演化:桌面应用程序应用演化:桌面应用程序音乐播放器音乐播放器用户选择一个用户选择一个 MP3 文件文件音乐播放器播放音乐播放器播放 MP3 文件文件用户用户l音乐播放器的演化音乐播放器的演化l单机版单机版:本地安装播放器程序(:本地安装播放器程序(Windows Media Player等),存储音乐文件(等),存储音乐文件
3、(mp3等)。等)。Web应用演化:桌面应用程序应用演化:桌面应用程序音乐播放器音乐播放器用户选择一个用户选择一个 MP3 文件文件音乐播放器播放音乐播放器播放 MP3 文件文件用户用户l音乐播放器的演化音乐播放器的演化lC/S网络版网络版:本地安装播放器程序,音乐文:本地安装播放器程序,音乐文件存储在远程服务器上。件存储在远程服务器上。远程服务器远程服务器Web应用演化:桌面应用程序应用演化:桌面应用程序用户用户本机音乐播放器本机音乐播放器请求请求 =选择要播放的文件选择要播放的文件用户发送一个请求用户发送一个请求播放器发送一个响应播放器发送一个响应响应响应 =音乐播放器播放选定的文件音乐播
4、放器播放选定的文件桌面应用程序的特点桌面应用程序的特点l音乐播放器的演化音乐播放器的演化lB/S网络版:本地只需浏览器,应用程序运网络版:本地只需浏览器,应用程序运行在行在Web服务器,音乐文件也存储在远程服服务器,音乐文件也存储在远程服务器上。务器上。Web应用演化:应用演化:Web应用程序应用程序WebWeb服务器服务器 播放一首歌作为响应播放一首歌作为响应用户请求播放一首歌用户请求播放一首歌Web应用程序的特点应用程序的特点Web应用演化应用演化l C/S和和B/S两种体系结构的特点和优劣比较。两种体系结构的特点和优劣比较。lC/S(Client/Server),客户端),客户端/服务器
5、结构,适用于中服务器结构,适用于中小型应用程序,将任务合理分配到小型应用程序,将任务合理分配到Client端和端和Server端端来实现。来实现。l系统的通讯开销低,应用服务器运行数据负荷较轻,系统系统的通讯开销低,应用服务器运行数据负荷较轻,系统升级或功能更新代价高、效率低。升级或功能更新代价高、效率低。lB/S(Browser/Server),浏览器),浏览器/服务器结构,适用服务器结构,适用于大中型应用程序,极少事务逻辑在前端(于大中型应用程序,极少事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(实现,主要事务逻辑在服务器端(Server)实现。)实现。l简化客户端电脑载荷
6、,减轻系统维护与升级的成本和工作简化客户端电脑载荷,减轻系统维护与升级的成本和工作量,降低用户的总体成本,但应用服务器运行数据负荷较量,降低用户的总体成本,但应用服务器运行数据负荷较重。重。Web应用演化:静态应用演化:静态WebHTTPHTTP请求请求HTTPHTTP响应响应返回所请求返回所请求的的HTMLHTML页面页面查找所请查找所请求的页面求的页面静态静态Web应用程序的缺点应用程序的缺点Web应用演化:动态应用演化:动态WebHTTP请求请求HTTP响应响应返回动态生成返回动态生成的的HTML页面页面生成生成响应响应CGIPHPASPJSP调用调用程序程序静态静态Web和动态和动态W
7、eb应用程序的优劣比较应用程序的优劣比较HTTP协议协议l 超文本传输协议超文本传输协议lHyperText Transfer Protocoll使用端口发送和接收消息,默认为使用端口发送和接收消息,默认为80端口端口lHTTP 协议发送请求信息的方法协议发送请求信息的方法lGET 方法方法l参数以字符串形式作为请求信息的一部分发送,参数以字符串形式作为请求信息的一部分发送,明文传输明文传输l发送的数据有大小限制,发送的数据有大小限制,240-255个字符之间个字符之间lPOST 方法方法l用于发送敏感信息,密文传输用于发送敏感信息,密文传输l发送的数据没有大小限制发送的数据没有大小限制HTT
8、P协议协议lHTTP 消息包括:消息包括:l请求l响应请求消息请求消息请求行请求头方法资源名称版本GET/POSTbar01.jpgHTTP/1.1浏览器类型内容类型User-Agent:Mozilla/4.0(compatible;MSIE 4.0:Windows 95 Accept:image/gif,image/jpeg,text/*,*/*响应消息响应消息 状态行响应头版本状态代码说明HTTP/1.1200OK服务器软件修改日期大小(字节)内容类型Server:JavaWebServerLast modified:Tuesday,07-Sep-04 1:14:34 GMTContent
9、-length:100Content-type:text/plainHTTP协议协议l HTTP协议具有无状态的特点。协议具有无状态的特点。获取文件HTTP获取图像 /bar01.jpg HTTP/1.1HTTP/1.1 200 OK收到bar001.jpg 获取文件HTTP获取图像 /bar02.jpg HTTP/1.1HTTP/1.1 200 OK收到bar002.jpg 再次需要获取再次需要获取bar001.jpgbar001.jpg时,必须再次发起连接时,必须再次发起连接用户登录网站后,如何以合法身份继续其他操作用户登录网站后,如何以合法身份继续其他操作JSP概述概述lJSP(Java
10、 Server Pages)是基于)是基于Java语言的服务器端脚本技术。语言的服务器端脚本技术。lJSP页面是在页面是在HTML静态内容中加入动态静态内容中加入动态JSP元素。元素。lJSP是在服务器端应用的一种脚本,它接是在服务器端应用的一种脚本,它接受请求并生成响应。受请求并生成响应。JSP工作原理工作原理客户端客户端JSP 页面页面(.jsp)3执行执行2转译转译编译编译1Servlet(.java)请求请求响应响应JSP 执行过程执行过程JSP页面的生命周期页面的生命周期lJSP经过转译、编译成经过转译、编译成Servlet类后,类后,Servlet 容器创建容器创建 该类的一个实例
11、该类的一个实例lJSP 的的生命周期就是指创建生命周期就是指创建 Servlet 实例实例之后其存在的时间以及何时消失之后其存在的时间以及何时消失l生命周期的生命周期的 3个方法为:个方法为:jspInit()jspService()jspDestroy()Web 应用程序开发过程应用程序开发过程l设计目录结构设计目录结构l编写编写 Web 应用程序代码应用程序代码l编写部署描述符编写部署描述符l编译代码编译代码l将将 Web 应用程序打包应用程序打包l部署部署 Web 应用程序应用程序l执行执行 Web 应用程序应用程序Web 应用程序目录结构应用程序目录结构 Web 应用程序应用程序lHT
12、ML 文件文件l图像图像lServletlJSP 页面页面lJavaBeanlJar 文件文件l标签文件标签文件l标签库描述符文件标签库描述符文件l部署描述器部署描述器.war 文件文件Web 应用程序目录结构应用程序目录结构文档根目录Web 应用程序目录结构index.html,login.jsp,contactus.jspViewBooks.jsp,logo.jpgbook1.jpgAddBook.class,DeleteBook.class mbase.jar,msqlserver.jar,msutil.jarDisplayBook.tag web.xml,books.tld 文档根目录
13、文档根目录静态文件(html,images)WEB-INF JSPclasseslibtag.tld,web.xml Web服务器配置服务器配置lJSP服务器配置环境服务器配置环境lJDK+TomcatlTomcat可从可从http:/tomcat.apache.org/免费下免费下载。载。l配置方法:配置方法:l新建环境变量新建环境变量JAVA_HOME:C:jdk1.6.0_01l添加环境变量添加环境变量Path:%JAVA_HOME%binlTomcat启动方法:启动方法:l双击双击Tomcat路径下,路径下,bin目录中的目录中的startup.bat文件文件第一个第一个JSP程序程序
14、MyFirstJSP%=out.println(“This is my first JSP page”);%JSP的优点的优点l将内容与表示分离将内容与表示分离请求请求响应响应JSP 页面页面静态内容静态内容动态内容动态内容客户端客户端服务器服务器JSP 程序员程序员页面设计人员页面设计人员JSP的优点的优点l使用不同工具分工开发使用不同工具分工开发JSP 页面页面静态内容静态内容动态内容动态内容Web 开发工具开发工具DreamweaverMyEclipseJBuilder.页面设计人员页面设计人员 JSP 程序员程序员JSP的优点的优点l强调可重用组件强调可重用组件JSP 页面页面 1静态
15、内容静态内容 动态内容动态内容JSP 页面页面 2静态内容静态内容 动态内容动态内容JSP 页面页面 3静态内容静态内容 动态内容动态内容组件组件多个多个 JSP 页面使用相页面使用相同的同的 组件组件Eclipse+MyEclipse开发环境简介开发环境简介lEclipse 是一个开放源代码的、基于是一个开放源代码的、基于 Java 的可扩展开发平台,用于通过插件的可扩展开发平台,用于通过插件组件构建开发环境。组件构建开发环境。lMyEclipse是是Eclipse的插件,也是一款的插件,也是一款功能强大的功能强大的J2EE集成开发环境集成开发环境。创建创建Web 工程工程 开发过程开发过程
16、创建创建 JSP部署部署Web模块模块启动启动Web服务器服务器调试运行调试运行Eclipse平台简介平台简介使用使用Eclipse+MyEclipse开发开发JSPl使用向导创建使用向导创建Web工程工程项目名称站点名称使用使用Eclipse+MyEclipse开发开发JSPl创建创建JSP“新建”|”JSP”JSP文件名使用使用Eclipse+MyEclipse开发开发JSPl创建创建JSP使用使用Eclipse+MyEclipse开发开发JSPl部署部署 Web 模块模块使用使用Eclipse+MyEclipse开发开发JSPl启动启动Web 服务器服务器使用使用Eclipse+MyEclipse开发开发JSPl运行运行JSP总结总结lC/S与与B/S体系结构的不同体系结构的不同l静态静态Web与动态与动态Web的不同的不同lHTTP协议的两种请求信息的方法协议的两种请求信息的方法lHTTP协议的特点协议的特点lJSP工作原理、生命周期、优点工作原理、生命周期、优点lWeb 应用程序开发过程应用程序开发过程lWeb 服务器搭建与开发环境配置服务器搭建与开发环境配置lMyEclipse的使用的使用