Tomcat服务器与HTTP协议

一.  Tomcat服务器

1.tomcat服务器

1.web :网页,它代表的是网络上的资源。(java技术开发动态的web资源,即动态web页面,在Java中,动态web资源开发技术统称为Javaweb。)

网络的资源分为两种

1).静态资源------主要用于展示信息     html

2).动态资源------交 互                 jsp asp php

2.javaweb开发中常见的服务器.

weblogic  BEA公司------它是一个javaEE规范的web服务器.

--学习weblogic 成本比较低。中文资源在网络上比较多。

-- weblogic是收费。

WebSphere IBM  -------- 它是一个javaEE规范的web服务器.

--webSphere是收费。

--学习成本高。相关资料比较少。

tomcat    --------     它是开源免费的. 它是一个servlet规范的web服务器.

Jboss       ------     hibernate公司   javaEE规范的web服务器.

3.tomcat服务器介绍

在公司中应用比较多的 tomcat5  tomcat5.5

我们学习的是tomcat7   servlet3.0技术

1).在apach的官网下载tomcat7.

2).配置

关于安装后注意事件

a). 机器上必须安装jdk,并且配置了JAVA_HOME

--JAVA_HOME=D:\Java\jdk1.7.0_10

b). 端口被占用.

--关闭占用8080端口的软件.

--在win7下可以使用netstat命令查看占用端口的程序

--在cmd/ netstat -ano 查看占用端口的程序的PID

--在资源管理器中根据PID查找程序,关闭这个进程。

注意:有些情况下,进程是系统进程,不能关闭,这时我们可以通过修改tomcat端口来让tomcat服务器启动.

c). CATALINA_HOME问题

--CATALINA_HOME它配置的是tomcat的根目录.

--如果在环境变量中配置了CATALINA_HOME,那么

--你执行  startup.bat文件,启动永远是CATALIN_HOME指定的tomcat。

d). 安装完成tomcat后,怎样运行它.

tomcat/bin/startup.bat   ---开启服务器

tomcat/bin/shutdo-wn.bat ----关闭服务器.

测试是否启动成功

http://localhost:8080

--------------------------------------------------------------------------------------------------------------------

web应用程序.

1.web应用程序的基本的目录结构(重点)

目录

|-----可以直接放置web资源

可以是静态的也可以是动态的

html,js,css或图片,音频.

动态可以是 jsp

|------WEB-INF (它是区别静态web与动态web,不对外发布)

-----classes 目录  ----它是用于放置java文件.

-----lib目录 -----------它是用于存放  web应用的jar 包.

-----web.xml文件(******)---它是web应用的配置文件.

2.关于tomcat加载web应用(虚拟目录)----重点**********************

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,

这个过程称之为虚似目录的映射。A啊

(1).在tomcat/conf/servic.xml文件中进行配置.

在service.xml文件的</Host>上面添加一句话.

<Context path="虚拟目录名称"  docBase="web应用的路径"/>

---path代表应用的访问路径,一定要有"/"

---docBase代表的是应用的真实路径

例如: <Context path="abc" docBase="D:\myweb"/>

(2)在tomcat/conf/catalina/localhost目录

---- 在其下创建任意一个名称的xml文件

----  在文件中写入  <Context docBase="web应用的路径" />

例如:

创建的xml文件的名称是   aaa.xml文件,其内容是

<Context docBase="d:/myweb" />

例:http://localhost:8080/abc/index.jsp

------------------------------------------------------   ------------------------------------------

小知识点

          访问URL地址解析的过程 ? http://localhost:8080/应用名/html/1.html

http:

<Connector   protocol="HTTP1.1">

localhost:代表主机是本地主机

<Engine name="Catalina" defaultHost="localhost">

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true">

:8080  代表http协议使用的端口号  server.xml的69行

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

定位文件夹:

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

1.关于web应用的首页设置

在tomcat/conf/web.xml文件对首页进行默认设置.

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

在tomcat/conf/web.xml文件设置的内容是对tomcat下所有工程生效。

上面内容的意思是它如果有index.html  index.htm  index.jsp

那么我们在访问web应用时,如果没有指定资源,就默认访问上面页面。

我们web应用中有一个页面叫  a.html,我们想让其是默认被访问的页面。

可以在自己的web.xml文件中进行设置.

2.关于war包生成.

java application -----jar文件.

web application------war文件。

使用压缩工具将web应用压缩成zip文件,修改后缀名为war,

将war文件直接复制到tomcat/webapps下,当服务器启动时,可以自动解压。

-------------------------------------------------------------------------------

配置主机

1.本地的域名解析文件

C:\Windows\System32\drivers\etc\hosts文件

对于http协议,默认访问的端口是80端口。

2.修改tomcat的默认端口为80.

在tomcat/conf/service.xml文件中.

3.关于tomcat默认访问的工程

默认访问的工程是webapps/ROOT

二.  http 协议

什么是协议?

在web开发,使用的绝大部分都是http协议。

用于定义浏览器与web服务器进行通信的格式.

基于请求---响应模式.

tcp协议是在传输应用

http协议是在应用层.

http是基于tcp协议。

--------------------------------------------------------

1.使用telnet

向tomcat服务器发送的请求是

GET /index.jsp HTTP/1.1

host:localhost

2.使用httpwatch进行抓包

--------------------------------------------------------

       http请求:

分为三部分

1.请求行

2.请求头

3.请求正文.

注意:请求正文与请求头之间有一个空白行.

如果要想有请求正文我们需要使用form表单,只有在post时,才能出现请求正文。

------------------------------------------------------------------------   --------------------------------------------------

http请求协议详解

1.请求行

1. 请求方式  常用的是get/post

2. 请求资源路径.

3. http版本协议

http协议版本 (1.1与1.0区别)

1.0---请求响应结束,会断开链接

1.1---请求响应结束,可以在次发送请求,直到超时,断开.

2.请求头中的重点

Accept-Encoding:gzip  ------浏览器支持的文件类型  gzip代表的是压缩文件

if-Modify-since----与http响应中的 last-modify组合使用.

referer----- 可以完成防盗链

user-agent       ----得到浏览器的版本.

请求头中的信息都是以 name:values的方式出现的.

一个name可以对应多个value,value与value之间使用","分开;

--------------------------------------------------------------------------------------------------------------------------

                http响应

1。响应行

响应状态码

1xx------informational  服务器端什么都没做,直接响应。

2xx------successful 成功                 **200  响应成功

3xx------redirection   客户端向服务器发送请求,服务器做了一些操作,没做完,通过浏览器继续执行其它操作-                                                                                                                    * 302  重定向      304  not modify  没有改变----是一种缓存策略.

4xx------客户端错误  client error  **  404  页面找不到.

5xx------服务器端错误  server error  **     500  服务器挂掉了。

2.响应头.

Location: http://www.it315.org/index.jsp ----与302状态码完成重定向

Content-Encoding: gzip ----filter是使用,进行压缩

Content-Type: text/html; charset=GB2312  --设置响应数据的mimeType类型.

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT

与if-modify-sinze组合使用.(见下图)

Refresh: 1;url=http://www.it315.org

上面操作时在1秒后跳转到url指定的路径。

Content-Disposition: attachment; filename=aaa.zip

上面的操作我们会在文件下载是讲到

Expires: -1

Cache-Control: no-cache

Pragma: no-cache

这三个可以进行浏览器缓存设置.

3.响应正文,

响应正文的内容会被显示在浏览器窗口中。

-------------------------------------------------------------

tomcat服务器本身也提供压缩优化

在server.xml文件中对8080端口进行配置

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"

compressableMimeType="text/html,text/xml,text/plain"

compression="on"

/>

这时在通过8080端口访问时,可以册封指定类型的响应的数据进行压缩。

80端口

00:00:00.000 0.074        11690       GET  200  text/html;charset=ISO-8859-1

8080端口

00:00:00.000 0.063        2328         GET  200  text/html;charset=ISO-8859-1

Tomcat服务器与HTTP协议的更多相关文章

  1. 关于Tomcat服务器中的协议及请求过程

    关于Tomcat服务器中采用的协议:在Tomcat的server.xml文件中可以找到如下几个Connector <!-- 1. HTTP --> <Connector port=& ...

  2. tomcat服务器和http协议笔试题

    tomcat与web程序结构与Http协议与HttpUrlConnection 考查的知识点:tomcat服务器相关信息 1.下面关于tomcat服务器描述正确的是() (难度A) A. tomcat ...

  3. tomcat服务器和HTTP协议

    tomcat:一个服务器的服务器软件,发布资源要用的 服务器组成: 1.服务器硬件 2.服务器软件 3.项目(一堆资源的集合) 4.资源tomcat本身是一个java程序,必须依赖jre运行eclip ...

  4. JavaWeb 后端 <一> 之 Tomcat服务器 - Http协议 学习笔记

    1.Web开发概述 1.1服务器上的资源分类: a.静态资源:指web页面中供人们浏览的数据始终是不变.html css js 图片 多媒体 b.动态资源:指web页面中供人们浏览的数据是由程序产生的 ...

  5. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  6. JavaWeb开发学习(二)-配置Tomcat服务器

    1. 下载Tomcat服务器 Tomcat是一个免费.开源的JavaWeb服务器. Tomcat官网是http://tomcat.apache.org/ 我使用的是版本是Tomcat7.0,下载Zip ...

  7. JavaWeb---总结(三)Tomcat服务器学习和使用(一)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  8. [Java Web] 6、Tomcat服务器的安装及配置以及JSP技术笔记

    目录  1.Web容器简介  2.Tomcat粗介及配置粗讲  3.Tomcat服务器配置 3-1.修改端口号  3-2.配置虚拟目录 3-3.配置首页  4.JSP执行流程  5.JSP粗略了解 1 ...

  9. JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

随机推荐

  1. 《Cracking the Coding Interview》——第12章:测试——题目3

    2014-04-24 23:28 题目:玩象棋游戏,你要设计一个bool型的方法来检测一个棋子能否移动到指定位置. 解法:不同的棋子有不同的移动规则,那么应该采取棋子基类实现接口,各个棋子子类来实现的 ...

  2. 《Cracking the Coding Interview》——第8章:面向对象设计——题目7

    2014-04-23 23:38 题目:你要如何设计一个聊天服务器,有什么技术难点? 解法:这是基于工作经验的面试题吗?否则,一个new grad碰上这种题目能打点草稿也就算不错了. 代码: // 8 ...

  3. Python urllib模块详解

    在Python 2中,有urllib和urllib2两个库来实现请求的发送.而在Python 3中,已经不存在urllib2这个库了,统一为urllib,其官方文档链接为:https://docs.p ...

  4. Python 3基础教程5-while循环语句

    本文开始介绍循环语句,和其他编程语言一样,Python中有while循环和for循环,这里介绍while循环. 语法: while 条件表达式为真: 做一些事情 实际生活中有很多这样的循环场景,这里举 ...

  5. node.js和npm的安装

    1.进入node.js官方网站,下载和系统对应的版本,我下载的是这个最新版本:node-v8.2.1-x64.msi https://nodejs.org/en/download/ 2.windows ...

  6. 求:斐波那契数列的第n项

    def he (n): if n < 3 : return 1 return he(n-1)+he(n-2)print(he(n))

  7. VB.NET视频总结——基础篇

    VB.NET视频是台湾讲师曹祖胜和林煌章共同带来的经典视频,视频中老师的台湾腔特别重,听起来有些别扭.而且对于计算机方面的术语翻译的与大陆有很大差异,所以刚开始看视频的时候总是进入不了状态,一头雾水的 ...

  8. PHP面向对象练习2

    思路:构造函数完成数据库连接,增删改一个方法,查询一条记录一个方法,查询多条一个方法,sql执行失败则返回提示,并交出sql语句方便查错 代码: <?class dbcontroll{ priv ...

  9. perf 的事件

    perf的事件包括: 硬件事件:branch-instrctions / branch-miss / bus-cycles / cache-miss / cache-reference / cycle ...

  10. 【bzoj2879】[Noi2012]美食节 费用流+动态加边

    原文地址:http://www.cnblogs.com/GXZlegend 题目描述 CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他 ...