《javaweb清华大学出版社.ppt》由会员分享,可在线阅读,更多相关《javaweb清华大学出版社.ppt(74页珍藏版)》请在三一办公上搜索。
1、主讲教师:王春梅,Java Web 开发技术,课 程 概 述,课程目的了解Web应用开发的基础知识;掌握使用Java技术开发Web应用程序的方法;为继续学习Java EE高级技术奠定基础。课程要求掌握Java Web应用开发的主要技术;Servlet技术JSP技术能够开发一个简单Web应用程序。,预 备 知 识,HTTP、HTML知识、JavaScript、CSS、DOM、XML等Java语言知识数据库知识,使用教材,Java Web 编程技术 沈泽刚 秦玉平 主编 清华大学出版社 2010.3,主 要 内 容,第1章 Web应用概述第2章 Servlet模型第3章 Servlet容器模型第4
2、章 会话管理第5章 JSP技术模型第6章 Web组件与JavaBeans第7章 JDBC数据库访问第8章 使用表达式语言(EL)第 9章 使用自定义标签第10章 JSTL与标签文件第11章 Web事件模型与过滤器第12章 Web应用程序的安全性第13章 Struts框架基础第14章 Ajax技术基础,主要参考文献,Web 技术Jeffrey C.Jackson 陈宗斌 等译 清华大学出版社 2007.6Servlet与JSP核心编程(第2版 第1卷)Volume 1 Marty Hall 赵学良 译清华大学出版社 2004.6Servlet与JSP核心编程(第2版 第2卷)Marty Hall
3、,Larry Brown 胡书敏 译清华大学出版社 2009.6JSP完全学习手册张银鹤 等著清华大学出版社 2008.6Head First Servlet&JSP(中文版)Bryan Basham等著 苏钰函 林剑 译中国电力出版社 2006.10SCWCD Study KitHanumant Deshmukh,Manning 2005,软件与环境,运行环境:JDK 1.7.0版开发工具:MyEclipse 服务器:Tomcat 5.5.x版数据库:MySQL 5.0数据库,电子商务系统在线书店系统网上拍卖系统在线考试系统教学系统论坛系统新闻发布系统博客,可 选 项 目,第1章 Web应用
4、概述,本章主要内容:1.1 Web应用体系结构1.2 服务器的安装1.3 HTTP基础1.4 动态Web文档技术1.5 Servlet与JSP入门1.6 小结,Web应用体系结构,1.1.1 万维网概述1.1.2 浏览器和服务器1.1.3 HTML概述1.1.4 URL,万维网概述,万维网的发展万维网是英文World Wide Web的缩写,一般称为WWW,通常又简称为Web。Web 1989年诞生于欧洲原子能研究中心CERN。1989年3月,CERN的物理学家Tim Berners-Lee提出了一个新的因特网协议,并给出了使用该协议的一个文档访问系统。这个新系统被命名为万维网,其目的是让全世
5、界的科学家能利用因特网交换文档。万维网上服务器所提供的文档需要通过浏览器进行访问,浏览器是一种程序。,1993年,美国伊利诺伊大学的 Marc Andreessen开发并发布了第一个图形化的浏览器,名为Mosaic。Mosaic非常受欢迎,以至于在一年后Andreessen离开学校创办了著名的Netscape公司(Netscape Communications Corp.),其开发的浏览器称为Netscape Navigator。1994年,CERN和MIT(Massachusetts Institute of Technology)签署了建立万维网联盟(World Wide Web Cons
6、ortium,简称W3C)的协议,该组织致力于进一步开发Web、对协议进行标准化等工作。W3C的主页是http:/www.w3.org/Consortium/,在这里可以获得关于Web的最新信息。,随着Microsoft公司进入浏览器领域,Netscape Navigator与Microsoft的Internet Explore之间发生了激烈的竞争。Netscape公司于1998年被美国在线(American Online,简称AOL)以42亿美圆收购。,1.Web服务器 向浏览器提供服务的程序。服务器是一种被动的程序,只有当其他计算机的浏览器向它们发出请求时才有所动作。2.目前最流行的服务器
7、最常用的Web服务器是Apache服务器,主要运行在Unix和Linux平台上。目前在Internet上有68%的Web站点使用Apache 服务器。另一种是专门运行在Windows平台上的IIS服务器。,服务器和浏览器,3.Web浏览器 浏览器是一个程序 能够显示Web页面 能够捕捉到页面上项目的鼠标事件 浏览器向服务器发出访问某个文档的请求 4.目前最流行的几种浏览器Internet Explorer Netscape Navigator FireFox Mozilla,Tomcat是由Sun公司和Apache 开发小组共同提出的合作项目Apache Jakarta项目下的产品,是为了使
8、Servlet/JSP能够与 Apache服务器一起运行而开发的Servlet/JSP容器。下载网站:http:/tomcat.apache.org/最新版本是Tomcat 5.5版。可以下载Windows可执行的安装文件,下载后的文件名为apache-tomcat-5.5.35.exe。,服务器的安装与配置,Tomcat下载的时候有两个版本,手工安装版Windows安装版使用windows安装版可以直接在服务中进行注册,通过服务器动Tomcat服务器,而手工版的话,就必须进行单独的配置。,必须先安装Java运行时环境(Java Runtime Enviroment,简称JRE),这里假设已在
9、D:JAVA目录下安装了JRE。Tomcat有运行的时候必须使用jdk,本身必须有JAVA SE的支持。所以此时,需要在环境变量中设置好要使用的到底是那一个jdk.我的电脑-属性-高级-环境变量 新建JAVA_HOME的变量 此时,就相当于把要使用的jdk进行了设置,在以后的Tomcat运行的时候会自动的找到JAVA_HOME所指定的JDK进行操作。,安装Tomcat,Tomcat主目录中的文件夹有以下几个:bin:所有的可执行文件。common:里面存放主要的*.jar包 conf:配置文件,服务器的修改都要从此目录中进行logs:日志文件,如果服务器出现错误,会自动记录server:服务的
10、管理程序webapps:所有的可执行的WEB项目都会放在此目录之中work:此文件夹中保存了所有的临时文件,当开发中发现一个程序无论怎样调整都无法正确执行的时候,就可以考虑将此文件夹中的全部内容清空。,启动Tomcat服务器,直接使用bin目录中的tomcat5.ext即可。启动完成之后,就可以输入如下的地址访问Tomcat服务器:启动浏览器:输入地址 http:/localhost:-dns-ip地址,配置Tomcat服务器,Tomcat的所有配置都放在conf文件夹中,里面的server.xml文件时配置的核心文件。如果要想修改服务器的启动端口,则可以讲server.xml文件的Conne
11、ctor port端口修改为”80”即可。需要特别注意的是:一旦服务器中的*.xml文件一改变,则服务器必须重新启动。,配置虚拟目录,Tomcat中配置虚拟目录是必须的,因为所有的开发有可能是在其他目录中完成的,当然,如果想要配置需要目录,则首先也有严格的要求,配置的虚拟目录里必须有以下的目录结构:WEB ROOT-一般情况下虚拟目录要配置到此文件夹之中 WEB-INF web.xml:配置文件,有格式要求但是,此时不知道文件的格式是什么,那么可以直接从Tomcat中找到此配置要求。,举例:webdemoWEB-INFweb.xml,Welcome to Tomcat Welcome to T
12、omcat org.apache.jsp.index_jsp org.apache.jsp.index_jsp org.apache.jsp.index_jsp/index.jsp,但是此时,服务器并不知道在D盘上存在这样的一个工作目录,所以此时,必须在server.xml文件之中配置此工作目录(虚拟目录)修改server.xml文件。在里面加入如下配置,但是便携式,必须注意文件的编写要求(/host之上进行配置):context 表示上下文,表示配置一个新的上下文 path:表示浏览器中的输入路径,必须有“/”docBase:表示此路径对应着硬盘上的真实目录 http:/localhost:
13、80/demoD:webdemo一一对应了。,404错误表示的是客户端错误,表示路径出错Tomcat将目录的列表功能关闭了,所以现在要修改Tomcat中的web.xml文件,第一个程序Hello World。,hello.jsp HELLO WORLD!);out.println(Hello World!);%,1.HTML HTML是英文HyperText Markup Language的缩写,含义为超文本标记语言 它是一种用来制作超文本文档的简单标记语言。它不是一种编程语言,是一种标记语言。,HTML概述,1.URL Uniform Resource Locator 叫做统一资源定位符 命
14、名Web页面和其他资源。2.URL的示例:http:/http:/localhost:8080/bookstore/,URL,3.URL的组成:协议名称 http,ftp,news,mailto,file主机的DNS名 或IP地址 192.168.0.1可选的端口号80,8080,1521资源的名称/index.html,1.2.1 理解HTTP协议 1.2.2 HTTP请求结构1.2.3 HTTP响应结构,1.2 HTTP基础,1.HTTP协议HTTP(Hypertext Transfer Protocol)协议是一个基于请求-响应的无状态的协议。2.运行机制客户向服务器发送一个对某种资源的
15、 HTTP 请求 服务器返回对所需要的资源的 HTTP 响应图1.1说明了其运行机制,理解HTTP协议,图1.1 HTTP请求响应示意图,客户(浏览器),Web服务器,1.打开连接,2.HTTP请求,3.HTTP响应,4.关闭连接,理解HTTP协议,3.Internet中Web资源资源包括HTML文件、图像文件和servlet等。每个资源都通过唯一的统一资源标识符URI(Uniform Resource Identifier)标识。4.URI、URL、URN比较URI:标识任何资源的字符串 URI是URL与URN的超集。例如:files/sales/report.html是一个URI,URL:
16、指定了如http、ftp及mailto等Internet协议的URI称为URL URL是非正式的术语,因此不在技术规范中使用 例如:http:/URN:它唯一标识一个资源但不指定如何访问资源ISBN:1-930110-59-6是一个URN,因为它唯一地标识某一本书,但它不是URL,因为它没有指定如何检索该书。,动态Web文档技术,1.3.1 静态Web文档和动态Web文档1.3.2 服务器端动态文档技术1.3.3 客户端动态文档技术,1.主动资源与被动资源 Web资源可分为主动资源和被动资源。如果资源本身没有任何处理功能它就是被动的 如果资源有自己的处理功能,它就是主动的 示例:浏览器向htt
17、p:/向,静态Web文档和动态Web文档,Web应用程序通常是主动资源和被动资源的混合,主动资源的意义:正是由于主动资源才使Web应用程序几乎具有与一般应用程序同样的交互性。Web应用程序中的主动资源通常向用户提供动态内容并使它们通过浏览器执行业务逻辑。Web文档是一种重要的Web资源,Web文档又分为静态的和动态的。,2.静态Web文档 在Web发展的早期,Web文档只是一种以文件的形式存放在服务器端的文档。客户发出对该文档的请求,服务器返回这个文件。这种文档称为静态文档(static document)。静态Web文档的特点 文档创作完毕后就存放在Web服务器中,在被用户浏览的过程中,其内
18、容不会改变。用户每次对静态文档的访问所得的结果都是相同的。优点:简单 可以由不懂程序设计的人员来创建 缺点:不够灵活 信息变化时,就要由文档的作者手工对文档修改,3.动态Web文档 动态文档(dynamic document)是指文档的内容是根据需要生成的。动态文档技术分类:服务器端动态文档技术客户端动态文档技术,CGI技术 Servlet技术HTML页面中嵌入脚本技术,服务器端动态Web文档技术,1.CGI技术 CGI(Common Gateway Interface,公共网关接口)CGI是一种标准化的接口允许Web服务器与后端程序及脚本通信,这些后端程序和脚本能够接受输入信息(例如,来自表
19、单),并生成HTML页面作为响应。,CGI与Web服务器和应用程序的关系,这里的应用程序一般也称为CGI程序。CGI程序可以用服务器支持的任何语言来编写,其中最常见的是Perl语言.服务器在接收到一个对CGI程序的请求时,不会返回该文件,而是运行该文件。,2.HTML文档中调用CGI程序有两种方法:通过表单的action属性 按提交按钮后,将请求发送给该程序.使用锚标记(),这与链接文档相似。href属性中指定CGI程序文件名的完整的URL路径 示例程序:源代码,4.Servlet技术:Sun公司开发的服务器端Web编程技术.主要目的是替代CGI编程.有很多优点.本课程前5章要讨论的内容.5.
20、在HTML页面中嵌入脚本技术在HTML页面中嵌入少量的脚本,然后让服务器来执行这些脚本以便生成最终发送给客户的页面。常用技术包括:PHP、JSP和ASP,6.PHP技术:PHP(PHP:Hypertext Preprocessor)称为超文本预处理器,它是一种HTML内嵌式的语言。它可以比CGI或Perl更快速地执行动态网页。服务器要求包含PHP的Web页面的文件扩展名为php,而不是html或htm。,7.ASP技术:ASP是Active Server Page的缩写,称为活动的服务器页面。它使用Microsoft的脚本语言Visual Basic Script来生成动态内容。使用这种技术的
21、文件的扩展名为asp。8.JSP技术:JSP是JavaServer Pages的缩写,含义是Java服务器页面.页面中的动态部分是用Java语言编写的。使用这种技术的文件的扩展名为jsp。,1.客户端动态文档技术的需求响应鼠标移动事件 直接与用户交互 客户端验证等2.客户端动态文档技术的实现:在HTML页面中嵌入脚本,而且这些脚本是客户机上被执行的而不是在服务器上执行的。从HTML 4.0开始,可以通过标签来使用这样的脚本。最流行的客户端脚本语言是JavaScript。,客户端动态Web文档技术,3.JavaScript是一种脚本语言它受到了Java程序设计语言的一些思想的启发 它与Java完
22、全不是一回事。JavaScript脚本语言非常适合交互式页面的设计。4.一个包含JavaScript的页面源代码:执行结果:.chap01register.html,5.客户端动态文档的技术与服务器端动态文档的技术的区别 服务器端动态文档技术的页面,是在服务器端执行的。对一个PHP文件的请求,服务器首先执行该页面,PHP脚本将产生一个新的HTML页面,然后服务器将该页面送回给浏览器以便显示。执行过程如下图:,服务器端动态文档的执行,客户端动态文档技术的页面,是在客户端执行的。对于程序1.5的例子,当我们单击submit按钮时,浏览器解释执行该页面上包含的JavaScript函数。所有的工作都是
23、在本地的浏览器内部完成。浏览器并没有与服务器联系。执行过程如下图:,客户端动态文档的执行,1.5.1 什么是Servlet?1.5.2 什么是Servlet容器1.5.3 Servlet的开发1.5.4 错误处理1.5.5 Servlet与CGI比较1.5.6 什么是JSP页面?1.5.7 使用Servlet还是JSP?,1.5 Servlet与JSP入门,Servlet一般翻译成服务器端小程序,它是使用Servlet API以及相关的类编写的Java程序。主要用来扩展Web服务器的功能。Servlet技术实际上是CGI技术的一种替代。,什么是Servlet,Web服务器使用一个单独的模块装载
24、和运行Servlet。这个专门用于Servlet管理的单独模块称为Servlet容器(container),或称Web容器。图1.17显示了各种不同的组件构成的一个示意图。,什么是Servlet容器,Servlet容器可以分为以下三种类型:独立运行的、进程内运行的和进程外运行的。独立运行的Servlet容器通常是基于Java的Web服务器,其结构如图所示。,所有的请求,Servlet容器处理空间(JVM),主Web服务器,Servlet容器,Servlet是Web应用程序的一个组件。Web应用程序具有严格定义的目录结构。在Tomcat中,每个应用程序都应在安装目录的webapps目录下有一个目
25、录。建立一个名为helloapp的Web应用程序 1.编写代码 HelloServlet.java2.编译3.部署 web.xml4.运行,1.5.3 Servlet的开发,import javax.servlet.*;import javax.servlet.http.*;在Tomcat中,它们包含在libservlet-api.jar文件中。须将该文件所在的路径添加到CLASSPATH环境变量中。,地址栏中输入下面的URL:http:/localhost:8080/helloapp/hello,在执行Servlet时,由于各种原因可能会出现错误,下面是最经常出现的错误:HTTP Statu
26、s 404-/helloapp/hello.The requested resource(/helloapp/hello)is not available.404错误是最常见的一种错误,它表示请求的资源不可用。有多种原因可导致该错误。你可以从这几方面检查:查看给定的路径名是否正确(包括大小写);查看Servlet类文件是否在WEB-INFclasses目录中;查看web.xml文件内容是否正确;查看Tomcat服务器是否启动。,1.5.4 错误处理,优点:(1)高效性。每个请求由一个轻量级的Java线程处理(2)方便性。提供了大量的实用工具例程(3)功能强大。许多使用传统CGI程序很难完成的任
27、务都可以轻松地完成。(4)可移植性好。为一个服务器编写的Servlet无需任何实质上的改动即可移植到其他服务器上。(5)节省投资。有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,1.5.5 Servlet的优缺点,缺点:缺点是它经常既包含业务逻辑又包含表示逻辑。表示逻辑(presentation logic)是展示给用户的信息,在Servlet中产生HTML响应就是表示逻辑。业务逻辑(business logic)是完成某种数据处理和存储任务的功能。Sun在推出Servlet技术后不久又推出了JSP技术。有了JSP技术就可以实现业务逻辑和表示逻辑的分离:Servlet专门处理业务逻辑
28、用JSP实现表示逻辑。,1.5.5 Servlet的优缺点,JSP(Java Server Pages)页面是包含Java代码和HTML标签的Web页面。由主动的JSP标签和被动的HTML标签混合而成的Web页面。,1.5.6 什么是JSP页面,A Simple JSP Page Hello,World!The time now is:,hello.jsp,使用下面的URL访问它:http:/localhost:8080/helloapp/hello.jsp,square.jsp,numbersquared,1.5.7 使用Servlet还是JSP,用Servlet可以实现JSP的功能,用JSP也可以实现Servlet的功能。请记住下面两点:JSP页面主要实现可视化的表示逻辑。Servlet主要用来实现业务处理和控制逻辑。MVC称为模型-视图-控制器(Model View Control,MVC)模式。在这种设计模式中,控制器使用Servlet实现,视图使用JSP实现,而模型使用JavaBeans实现。,留个作业吧!占总成绩 5分,为某网站设计一个HTML页面作为网站的首页。主题自拟,如:电子商务网站在线书店主题论坛要求:界面包含专业网站首页的主要内容,如公司徽标,导航菜单,登录区域,广告区域Java Web编程技术 课程网站,谢 谢!Q&A,