版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章JavaWeb基础知识与Web开发环境配置了解Web应用程序中的静态网站、动态网站、前端、后端的基本概念了解Web开发中的B/S架构、C/S架构了解HTTP协议的基本概念掌握HTTP请求报文及响应报文的格式掌握获取HTTP请求报头的方法掌握设置HTTP响应报头的方法掌握Tomcat服务器的安装及启动掌握在Eclipse中配置Tomcat服务器及创建Web应用掌握在IDEA中配置Tomcat服务器及创建Web应用学习目标1.1.1静态网站与动态网站一个Web应用程序由完成特定任务的各种Web组件(Webcomponents)构成并通过Web将服务展示给外界。在实际应用中,Web应用程序由Servlet、JSP页面、HTML文件及图像文件等多种元素组成。简单来说,Web应用程序就是各种网站,网站由一系列的网页构成,网站又分为静态网站和动态网站。1.1Web应用程序基本概念静态网站的所有网页直接用HTML(HyperTextMarkupLanguage,超文本标记语言)编写,所有的网页均是标准的HTML文件,一般文件名以htm、html或shtml等为后缀。网页上可以展现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,但是它展示的内容一般是固定不变的,用户在不同时间、不同地点访问网站的同一静态网页时,其显示出来的内容是一样的。动态网站是指网站内容可根据不同情况动态变更的网站,在相同的网站、相同的时间,不同的人访问时展示出来的内容是不同的,即使同一用户在不同时间或不同地点访问同一动态网页,其展示出的内容也可以是不同的。动态网站通过数据库进行架构,网页中变化的内容主要来自数据库中数据的变化。动态网页的技术主要有ASP、PHP、JSP等。1.1Web应用程序基本概念1.1.2Web前端与Web后端Web前端是在Web应用中用户可以看得见的部分,包括Web页面的结构、Web的外观视觉展现及Web层面的交互实现。Web前端主要涉及的技术有DIV+CSS、HTML、JS和JQuery等。Web后端主要指服务器端的工作,通常负责对数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。1.1Web应用程序基本概念1.1.3C/S架构与B/S架构C/S架构是一种早期的分布式架构,客户端需要安装专门的客户端程序,服务器端通常为高性能的PC或工作站,并采用大型数据库系统,严格意义上它是个数据库服务器,多个客户端程序可以同时访问这个数据库服务器,如图1-1所示。这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,从而降低系统的通信开销。1.1Web应用程序基本概念图1-1C/S架构模式B/S架构借助IE等浏览器来运行,它是Web兴起后的一种网络架构模式。在这种模式中,客户端不需要安装专门的客户端程序,而是使用浏览器向Web服务器发送请求,服务器进行处理后将处理结果返回给客户端,如图1-2所示。此时的服务器不仅是数据库服务器,它还是应用服务器。这种结构能够利用现在普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,能有效节约开发成本,是一种全新的软件体系结构,也是目前应用软件的首选体系结构。1.1Web应用程序基本概念图1-2B/S架构模式1.2.1HTTP协议HTTP是HypertextTransferProtocol的缩写,即超文本传输协议,是浏览器与Web服务器进行数据交互时需要遵守的规范。当客户端与服务器端建立连接后,客户端就可以向服务器发送URL(UniformResourceLacator,统一资源定位符)请求,被称为HTTP请求,服务器端在接收到请求后会做出响应,被称为HTTP响应。客户端与服务器在HTTP下的交互过程如图1-3所示。1.2Web的工作原理图1-3客户端与服务器的交互过程1.2.2HTTP报文格式1.HTTP请求报文
当用户在浏览器中访问某个网址、单击某个链接或提交网页上的表单时,浏览器会向服务器发送请求数据,即HTTP请求报文。一个完整的HTTP请求报文由三个部分组成:请求行、请求头、请求正文。1.2Web的工作原理图1-4HTTP请求报文1.2.2HTTP报文格式1.HTTP请求报文(1)请求行
请求行位于请求报文的第一行,它由请求方式、资源路径和所使用的HTTP版本三个部分组成。格式为:请求方式URL协议版本1.2Web的工作原理请求方式含义GET请求获取请求行的URI所标识的资源POST向指定资源提交数据,请求服务器进行处理(如提交表单或上传文件)HEAD请求获取由URI所标识资源的响应消息头OPTIONS请求查询Web服务器的性能,或者查询与资源相关的选项和需求PUT将网页放置到指定URL位置(上传/移动)DELETE请求服务器删除URI所指定的资源,是与PUT相反的方法TRACE请求Web服务器端将之前的请求通信环回给客户端CONNECT保留将来使用HTTP的常用请求方式1.2.2HTTP报文格式1.HTTP请示报文(2)请求头
请求头主要用于向服务器端传递附加消息,例如,客户端可以接收的数据类型、压缩方法、语言及发送请求的超链接所属页面的URL地址等信息。请求头由一个头字段名称和一个值构成,头字段名称和值之间用冒号(:)和空格分隔,格式为:头部字段名:值常用的请求头字段说明详见教材表1-2所示。1.2Web的工作原理1.2.2HTTP报文格式2.HTTP响应报文
服务器接收到请求数据时,会将处理后的数据传送给客户端,即HTTP响应报文。一个完整的响应报文由三个部分组成:响应状态行、响应头、响应实体1.2Web的工作原理图1-5HTTP响应报文1.2.2HTTP报文格式2.HTTP响应报文
(1)响应状态行
位于响应报文的第一行,它包含三个部分,即HTTP版本、一个表示成功或错误的整数代码(状态码)和对状态码进行描述的文本信息。格式为:协议版本状态码状态码描述1.2Web的工作原理1.2.2HTTP报文格式2.HTTP响应报文
(1)响应状态行1.2Web的工作原理状态码说明101(切换协议)如果客户端发送的请求使用另外一种协议与服务器进行对话,服务器发送101响应状态码表示自己将遵从客户端请求,转换到另外一种协议200(正常)客户端的请求成功,响应消息返回正常的请求结果。201(已创建)服务器已经根据客户端的请求创建了文档,文档的URL为响应消息中Location响应头的值302(找到)表示请求的资源临时从不同的URL响应请求,但请求者应继续使用原有位置进行以后的请求305(使用代理)客户端应通过Location头所指定的代理服务器获得请求的文档404(找不到)表示服务器上不存在客户端请求的资源408(请求超时)在服务器等待的时间内,客户端没有发出任何请求500(内部服务器错误)表示服务器发生错误,无法处理客户端的请求503(服务不可用)由于服务器目前过载或者处于维护状态,不能处理客户端的请求常见状态码说明1.2.2HTTP报文格式2.HTTP响应报文
(2)响应头
服务器端通过响应头向客户端传递附加信息,包括服务程序名、被请求资源需要的谁方式、客户端请求资源的最后修改时间、重定向地址等。当服务器向客户端回送响应消息时,根据情况不同,发送的响应头也不相同。1.2Web的工作原理头字段说明Accept-Range用于说明服务器是否接收客户端使用Range请求头字段请求资源Age用于指出当前网页文档可以在客户端或代理服务器中缓存的有效时间,以秒为单位Content-Length表示内容长度Content-Type表示后面的文档属于什么类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。Date当前的GMT时间。Etag用于向客户端传送代表实体内容特征的标记信息Location用于通知客户端获取请求文档的新地址,其值为一个使用绝对路径的URL地址Retry-After可以与503状态码配合使用,告诉客户端在什么时间可以重新发送请求Server用于指定服务器软件产品的名称Vary用于指定服务器软件产品的名称Refresh用于告知浏览器自动刷新页面的时间,以秒为单位常用的响应头字段1.2.2HTTP报文格式2.HTTP响应报文
(3)响应实体
响应实体用于存放需要返回给客户端的数据信息。1.2Web的工作原理
在客户端和服务器之间进行请求——响应时,两种最常被用到的方法是GET方法和POST方法。GET方法用于从指定的资源请求数据;POST方法用于向指定的资源提交要被处理的数据。1.2.3GET方法当客户端要从服务器端中读取文档时,使用GET方法。使用GET方法时,请求的参数和对应的值被附加在URL地址后面,一起被发送到服务器。举例如下。/test/form.jsp?id=1001&name=zhang从这个例子中我们可以看到,问号(?)代表URL的结尾与请求参数的开始,参数由参数名和参数值组成,中间用等号(=)连接。如果有多个参数,参数之间用&分隔。因此GET方法在通过URL提交数据时,数据在URL中是可以被看到的,若用户输入的数据是非敏感数据,则可以使用GET。1.2Web的工作原理1.2.4POST方法当客户端给服务器端发送请求时可以使用POST方法,比如当用户提交表单时,浏览器将使用POST方法提交表单内容。POST方法将请求参数放置在RequestBody内,可以传输大量数据,也可用来传送文件。举例如下。POST/form.jspHTTP/1.1Host:id=1001&name=zhangPOST方法不会像GET方法那样将参数显示在地址栏上,因此如果用户输入的数据是敏感数据,那么还是使用POST为好。1.2Web的工作原理1.2Web的工作原理GET方法的特点:以GET方法获取的数据
能够被缓存GET方法获取的数据会保存在浏览器的浏览记录中以GET方法请求的URL能够保存为浏览器书签GET方法获取的数据有长度限制GET方法主要用于获取数据GET方法不应在处理敏感数据时使用POST方法的特点:以POST方法提交的数据
不会被缓存POST方法提交的数据不会保留在浏览器历史记录POST方法提交的数据不能被收藏至书签POST方法对提交的数据长度没有要求。
在搭建Web应用的开发环境时,首先需要安装开发工具包JDK,其次安装Web服务器和数据库。1.3.1Servlet容器介绍Servlet(ServerApplet)是JavaServlet的简称,称为小服务程序或服务连接器,是用Java语言编写的运行在服务器端的程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。其主要作用包括:①通过请求对象读取用户程序发送过来的显式数据(如表单数据);②通过请求对象读取用户程序发送过来的隐式数据(请求报头);③处理数据并生成响应内容或设置响应报头。1.3Tomcat服务器1.3.2Tomcat简介Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个重要子项目,是按照Sun公司(已被Oracle收购)提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,是一个免费的开放源代码的Web应用服务器。1.3.3Tomcat的安装配置1.3.4测试Tomcat1.3.5在Eclipse中配置Tomcat1.3.6在IDEA中配置TomcatTomcat的安装、配置、测试详见教材1.3.3、1.3.4、1.3.5、1.3.61.3Tomcat服务器1.4创建Web应用示例1.4.1在Eclipse中创建Web应用1.启动Eclipse,菜单栏中选择File→New→DynamicWebProject。2.打开NewDynamicWebProject窗口,在Projectname文本框中输入项目的名称“firstProject”,其他采用默认,并依次单击Next,打开如下图所示界面,在此界面中,Contextroot用于指定Web项目的根目录,此处我们设置为chap1,Contentdirectory用于指定存放Web资源的目录,我们采用默认的设置,单击Finish按钮。1.4创建Web应用示例1.4.2在IDEA中创建Web应用1.打开IDEA,点击菜单File→New→Project,打开“NewProject”窗口,在窗口左侧选择“Java”,右侧选择项目SDK版本,再依次单击Next按钮。如下图所示。1.4创建Web应用示例1.4.2在IDEA中创建Web应用2.在打开的窗口中,输入项目名称“secondProject”,并设置好项目存放路径,单击Finish按钮。如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西南林业大学《手绘表现图技法实验》2021-2022学年第一学期期末试卷
- 西南交通大学《心理电影赏析》2022-2023学年第一学期期末试卷
- 西南交通大学《设计调查程序与方法》2022-2023学年第一学期期末试卷
- 西京学院《古代汉语》2022-2023学年第一学期期末试卷
- 西华大学《数字设计基础》2021-2022学年第一学期期末试卷
- 幼儿园区域环创培训
- 西华大学《大数据处理框架》2021-2022学年第一学期期末试卷
- 西北大学《素描》2021-2022学年第一学期期末试卷
- 西北大学《动画概论》2021-2022学年第一学期期末试卷
- 医院培训课件:《ICU常见导管护理》
- 钢板加固梁施工方案
- 宴会设计与服务 课件 项目一、了解宴会文化
- 2024年河南农业投资集团有限公司招聘笔试参考题库附带答案详解
- 急性十二指肠球部溃疡并出血个案护理
- 6s员工培训资料
- 关于管理的四个职能
- 【教学创新大赛】《管理学》教学创新成果报告
- 国家开放大学《Python语言基础》形考任务3参考答案
- 事业单位面试题-人际关系类
- 部编版小学语文一年级上册八单元整体解读
- 健康指南肾囊肿患者应该如何进行有效的治疗
评论
0/150
提交评论