day10Tomcat与HTTP协议.docx
- 文档编号:28885864
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:23
- 大小:782.40KB
day10Tomcat与HTTP协议.docx
《day10Tomcat与HTTP协议.docx》由会员分享,可在线阅读,更多相关《day10Tomcat与HTTP协议.docx(23页珍藏版)》请在冰豆网上搜索。
day10Tomcat与HTTP协议
Tomcat与HTTP协议
1主要内容介绍
Ø1.Web概述(了解)
Ø2.Tomcat服务器安装配置(掌握)
Ø3.Web项目的搭建(掌握)
Ø4.HTTP协议(掌握)
2Web概述
2.1C/S与B/S的区别
1.C/S与B/S都是软件架构模式
C/S:
Client/Server:
客户端/服务端架构
B/S:
Browser/Server:
浏览器/服务器架构
2.C/S
开发语言:
VB,Delphi,VC++,C#,Javaawt/swing等.
示例:
比如桌面QQ,扫雷,拱猪,LOL等运行在桌面的程序.
特点:
在服务端主要就是一个数据库,把所有业务逻辑以及界面的渲染操作交给客户端完成.
优点:
较安全,用户界面很丰富,用户体验不错等
缺点:
每次升级都需要重新安装,针对于不同的操作系统开发,可移植性很差.
3.B/S
开发语言:
JSP,ASP,PHP等
示例:
WebQQ,淘宝,京东....
特点:
基于浏览器访问的应用,把业务逻辑交给服务端完成,客户端仅仅只做界面渲染和数据交换.
BS是特殊的CS,此时浏览器充当了客户端.基于HTTP协议的.
优点:
只开发服务端,可以跨平台,移植性很强等.
缺点:
安全性较低,用户体验较差等.
4.富(胖)客户端技术RIA
结合BS和CS的优点产生了富客户端技术,客户端会处理部分的业务逻辑,也会做界面的渲染和数据交互。
常见的开发语言有EasyUI,Flex,Extjs,JavaFX等
瘦客户端技术(相对的):
基于传统的html界面,客户端只界面的渲染和数据交互.(传统的BS)
2.2Web(网页)的发展历程
1.原始年代
1990年,HTML标记语言的出现标志Web开发时代的到来。
B/S架构开始在之后的岁月中不断的发展壮大,攻城略地蚕食传统C/S的领域。
如同所有的新生事物一样,在web的史前岁月中,web的开发技术在在html标记诞生后,无论是在服务端还客户端都缓慢的发展着,在相当长的一个时间内,它并未像今天这样辉煌,甚至于只是静态的文本标识。
技术特性:
静态文本显示,表现力和交互能力不足。
(hao123)
2.封建诸侯年代
CGI的草案带来了动态网页,WEB开始井喷式的发展,这段时间出现了一群”诸侯”急需WEB的世界,最后成为王者的:
ASP,PHP等。
注:
CGI(CommonGatewayInterface)(Perl&&C&&Python)是Web服务器端组件,都能产生Web动态页面输出
技术特性:
实现了客户端和服务器端的动态交互,在程序代码中写html标记,是面向过程的开发方式。
3.工业文明
Java开始有了自己的WEB英雄(97年):
Servlet规范
98年,JSP的出现(JavaBean),标志着Java的WEB正式启航
1998年,Sun发布了EJB1.0标准(spring)
1999年,Sun正式发布了J2EE的第一个版本
这个时期ASP没落,现在已经很少有人使用asp技术了,微软出现了ASP.NET战略
PHP调整战略,专门针对网站开发,也是这个时期的霸者之一
2.3动态网页和静态网页
静态网页:
随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。
动态网页:
页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
注意:
不要将动态网页和页面内容是否有动感混为一谈。
这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。
常用动态web资源开发技术:
JSP/Servlet、ASP、PHP等。
在Java中,动态web资源开发技术统称为JavaWeb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。
2.4Web服务器
2.4.1服务器分类--
1.分类一:
软件服务器:
就是一个软件;
硬件服务器:
就是一台计算机,一般是装有软件服务器的,性能相对比较好;
2.分类二:
HTTP服务器,专门处理静态页面的.
JavaWeb服务器,Tomcat等.仅仅实现了JavaEE13种规范中的几个规范.(Servlet容器)
不能运行EJB.-》SpringJavaee的春天
Tomcat实现了Servlet规范
应用服务器:
实现了JavaEE13种规范.WebSphere(IBM),WebLogic(Oracle),JBoss(redhat)
2.4.2常见JavaWeb服务器
1.WebLogic
WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求(收费)
2.WebSphere
另一个常用的Web服务器是IBM公司的WebSphere,支持JavaEE规范(收费)
3.Jboss
大名鼎鼎的红帽的产品,原来属于开源组织Jboss,后被红帽收购。
支持JavaEE规范,免费。
4.Tomcat
是一个开源免费,占用内存小的javaWeb服务器,我们要学的就是它
缺点:
没有完整实现13种规范(不支持EJB)
2.4.3Servlet容器
1.我们学习jee,其实基本上就是学习两个重要的东西:
Servlet,Jsp(Jsp也是Servlet)
2.什么是Servlet容器:
也称为JavaWeb容器,或者Servlet/JSP容器
为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据
3.目前比较流行的Servlet容器:
Tomcat(apache):
也是一个Servlet容器
我们如果写了一个Servlet,那么一定要记住,把这个Servlet交给Tomcat去管理
Resin(Resin是CAUCHO公司()
J2EE服务器(如Weblogic,websphere,jboss...)中也提供了内置的Servlet容器…)
3Tomcat服务器
3.1Tomcat的介绍
Tomcat是一个免费的开放源代码Servlet容器,它是Apache软件基金会的一个顶级项目,由Apache,Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与与支持,最新的Servlet和JSP规范总是能在Tomcat中的到体现。
Tomcat8支持最新的Servlet3.1和JSP2.3规范。
Tomcat用java语言开发,Tomcat是一个符合J2EE(Servlet规范)标准的WEB服务器,但J2EE中的EJB程序无法此处运行。
如果我要在电脑上运行Tomcat,必需要有java的运行环境,我们后面的JavaWeb学习都是基于Tomcat服务器的。
官方地址http:
//tomcat.apache.org。
版本:
以前的版本,都是使用xml进行配置,在Servlet3.0之后,我们可以使用注解进行配置
3.2安装Tomcat
1.安装注意事项:
路径:
中间不能有空格,不能有中文,不能有特殊符号
Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有jre.
32位的JDK--->32位的Eclipse--->32位Tomcat
64位的JDK--->64位的Eclipse--->64位Tomcat
2.安装步骤:
i.安装Java环境(JAVA_HOMEPATH)
没有JAVA_HOME会报错:
如果实在不行可以尝试配置JRE_HOME
ii.启动Tomcat
Tomcat目录结构:
打开bin目录选择启动:
启动:
双击bin目录下面是startup.bat,或者通过cmd命令提示符窗口中启动
关闭:
双击bin目录下面的shutdown.bat
如果屏幕一闪而过,请在cmd窗口中打开此文件可以看到提示
iii.浏览器中访问
Tomcat的默认端口是8080
访问:
http:
//localhost:
8080/
打开浏览器:
http:
//服务器所在主机的IP:
服务器的端口号/资源名字
http:
//服务器所在主机的名字:
服务器的端口号/资源名字
一般会有一个默认的资源名称
若服务在本机:
http:
//本机的IP:
服务器的端口号/资源名字
http:
//127.0.0.1:
服务器的端口号/资源名字
http:
//localhost:
服务器的端口号/资源名字
3.3Tomcat常见的错误
1.访问的时间一定要先把tomcat打开
2.404(代表找不到这个页面)
3.配置文件里面的东西不要随意乱改乱删
4.tomcat重复启动报错(就是端口被占用了)
5.各种不能写中文
但是我们身为中国人,你不要写中文注释,太坑爹了……
一定要写中文,我们需要把这个文件的编码改成utf-8的编码
3.4Tomcat常见配置
1.界面认识
2.安装与删除服务
把Tomcat配置到服务列表:
这样可以随着系统的启动而启动(一般用在服务器上):
1.使用cmd工具,并进入Tomcat根/bin目录
2.执行serviceinstall命令
3.就可以注册服务
删除服务:
1.使用cmd工具,并进入Tomcat根/bin目录
2.执行serviceremove命令
3.就可以删除服务
安装
删除
3.tomcat修改端口
Tomcat默认端口是8080,很多情况下我们都会把这个端口进行修改,修改成80
应该在什么位置来修改端口呢(server.xml):
80是一个默认的端口,如果端口是80,我们就不需要再输入端口
注意:
修改后记得重启Tomcat服务器
修改后访问地址:
http:
//localhost/
4.tomcat配置放开权限(了解)
4JavaWeb项目的搭建
4.1JavaWeb项目结构
开发JavaWeb的程序,必需要严格参照JavaWeb提供的规范来存放我们的资源……
结构分析如下:
注意:
1.WEB-INF里面的程序是不可见的,必需通过我们的程序访问
2.现在web.xml都不是必需的
3.index是非常特殊的,我们访问到一个文件夹,如果没有确定是哪一个文件,它就会去找index.html/index.jsp的文件
4.2Eclipse中搭建Web项目
1.创建一个普通的java项目;
2.创建Web项目的结构
3.修改classpath的路径
4.3Eclipse插件的安装(Tomcat)
1.安装方式一:
直接把插件文件扔Eclipse文件夹下面,不推荐,维护困难;
2.安装方式二:
把插件单独存放,在Eclipse的目录下面新建一个连接文件指向插件的路径;
3.在Eclipse中配置启动Tomcat服务器
5项目布署
5.1(内嵌式)把项目文件夹放到tomcat的webapps下面
在浏览器中访问:
会自动找webapp下面的index.html;
如果是其它页面需要加上页面名称:
注意:
此种方式部署项目很是简单,问题是项目越来越多会导致Tomcat目录越来越大,启动也会很慢。
。
。
5.2(外链式)在配置文件中设置
1.找到如下文件
\apache-tomcat-7.0.57\conf\server.xml
2.找到文件中的如下位置
docBase:
我们部署项目根目录
path:
如果什么都不写,浏览器中就可以直接这样访问:
localhost
如果path=”xx”,浏览器中应该这样访问:
localhost/xx
如果有多个项目一期部署就配置多个Context就可以了
5.3其它
apache-tomcat-7.0.57\conf\Catalina\localhost
oaa.xml的内容是:
\oa"/> path其实就是文件名 5.4配置虚拟主机 1.使用场景: 假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机。 2.示例演示 i.准备两个项目(最简单的,有页面就可以) ii.在Tomcat的server.xml中添加多个主机(配置多个host) iii.修改C: \WINDOWS\system32\drivers\etc\hosts文件内容 注意: 机智的你发现上面两张图的关系了吗? iv.访问 6HTTP协议 6.1协议概述 1.什么是HTTP协议? HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议之上的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。 无状态,默认端口就是80https: (是一种更加安全的协议) 2.HTTP协议到底约束了什么 i.约束了浏览器以何种格式想服务端发生数据; ii.约束了服务器应该以何种格式来接受客户端发生的数据; iii.约束了服务器应该以何种格式来反馈数据给浏览器 iv.约束了浏览器应该以何种格式来接收服务器反馈的数据 3.术语 i.浏览器给服务器发送数据: 一次请求; ii.服务器给浏览器反馈数据: 一次响应 4.HTTP协议版本 HTTP/1.0、HTTP/1.1、HTTP-NG 6.2http1.0与http1.1的区别: 在一个TCP连接上可以传送多个HTTP请求和响应 多个请求和响应过程可以重叠进行 增加了更多的请求头和响应头 http1.0每次请求都会发送,关闭 http1.1请求完再关闭 6.3http的请求(request)与响应(response) 我们可以通过firebug来查看: 响应头: 请求头: 请求消息 1、包含三大部分 1.1请求行: 位于请求消息的第一行 格式: 请求方式资源路径HTTP版本号 常用请求方式: GET和POST方式 1.1.1Get请求方式: a、若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式 b、可以通过GET方式向服务器传递数据。 具体方式就是在URL请求路径后加上? ,多个参数以&分割。 比如 http: //localhost: 8080/a.html? username=abc&password=123 注: GET请求方式,数据不安全且有URL长度限制(1K) 1.1.2Post请求方式: a、若使用Post请求方式传递数据,可以借助form表单的method="post" b、数据安全,且长度没有限制 1.2若干请求头: 从第二行开始到第一个空行。 作用: 向服务器传递客户端的一些基本信息 <1>、Accept: 浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找) <2>、Accept-Charset: 告知服务器,客户端支持哪种字符集 <3>、Accept-Encoding: 浏览器能够进行解码的数据编码方式 <4>、Accept-Language: 浏览器支持的语言。 <5>、Referer: 当前页面由哪个页面访问过来的。 <6>、Content-Type: 通知服务器,请求正文的MIME类型。 取值: application/x-www-form-urlencoded默认值 对应的是form表单的enctype属性 <7>、Content-Length: 请求正文的长度 <8>、If-Modified-Since: 通知服务器,缓存的文件的最后修改时间。 <9>、User-Agent: 通知服务器,浏览器类型. <10>、Connection: 表示是否需要持久连接。 如果服务器看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP1.1(HTTP1.1默认进行持久连接 <11>、Cookie: 这是最重要的请求头信息之一(会话有关) 1.3请求正文: 从第一个空行开始,后面的都是正文。 (可以没有) 响应信息 1、包含三大部分 1.1状态行: 位于响应消息的第一行 格式: HTTP版本号 状态码(需要讲解) 1.2若干响应头: 从第二行开始到第一个空行 <1>、Location: 制定转发的地址。 需与302/307响应码一同使用 <2>、Server: 告知客户端服务器使用的容器类型 <3>、Content-Encoding: 告知客户端服务器发送的数据所采用的压缩格式 <4>、Content-Length: 告知客户端正文的长度 <5>、Content-Type: 告知客户端正文的MIME类型 Conent-Type: text/html;charset=UTF-8 <6>、Refresh: 定期刷新。 还可以刷新到其他资源 Refresh: 3;URL=otherurl 3秒后刷新到otherurl这个页面 <7>、Content-Disposition: 指示客户端以下载的方式保存文件。 Content-Disposition: attachment;filename=2.jpg <8>、Expires: 网页的有效时间。 单位是毫秒(等于-1时表示页面立即过期) Cache-Control: no-cache Pragma: no-cache 控制客户端不要缓存 <9>、Set-Cookie: SS=Q0=5Lb_nQ;path=/search服务器端发送的Cookie(会话有关) 1.3响应正文: 从第一个空行开始,后面的都是正文。 ---------------------------------------------------------------------------------------- MIME MIME的英文全称是"MultipurposeInternetMailExtensions"多用途互联网邮件扩展,它是一个互联网标准,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。 服务器会将它们发送的多媒体数据的类型告诉浏览器, MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型 6.4get与post的区别 post 相对安全 大小没有限制 无法保留提交书签 表单提交 get 不安全(会在地址栏显示) get的总字符数是有限的 超连接的时候用 常见的响应状态码: 200: 程序正常 404: 访问资源不存在(例如页面名字写错了,或者被改名,改地方了...) 500: 程序出错(例如后台java程序出错了) 7今日要求 1.BS与CS的区别 2.服务器的概念与常用服务器 3.Tomcat的安装与配置 4.Tomcat中布署项目 5.手动在Eclipse中搭建Web项目 6.安装Eclipse插件 7.HTTP请求与响应头分析 8作业 1.在自己的电脑上安装配置好tomcat 2.在Eclipse中安装上Tomcat插件 3.手动在eclipse中搭建Web项目(一定要熟练掌握)并且运行起来 今天的作业比较简单,大家完成后,好好看一下今天所讲的理论部分。 明天会进行抽查。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- day10Tomcat HTTP 协议