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. Delphi中的关键字与保留字

    Delphi中的关键字与保留字 分类整理 Delphi 中的“关键字”和“保留字”,方便查询 感谢原作者的收集整理! 关键字和保留字的区别在于,关键字不推荐作标示符(编译器已经内置相关函数或者留给保留 ...

  2. Http状态码枚举(摘自 Microsoft 程序集 System.dll)

    // 摘要: // 包含为 HTTP 定义的状态代码的值. public enum HttpStatusCode { // 摘要: // 等效于 HTTP 状态 100. System.Net.Htt ...

  3. 电信学院第一届新生程序设计竞赛题解及std

    首先非常感谢各位同学的参加,还有出题验题同学的辛勤付出 昨天想偷懒就是不想再把我C++11的style改没了,大家看不懂的可以百度一下哦,懒得再写gcc了,毕竟代码是通的 //代表的是行注释,所以那个 ...

  4. zedboard zynq 学习 sobel 边缘检测 IP核 制作 根据 文档 Xapp890

    官方文档http://www.xilinx.com/support/documentation/application_notes/xapp890-zynq-sobel-vivado-hls.pdf ...

  5. 团队项目-第二次Scrum 会议

    时间:10.24 时长:30分钟 地点:线上 工作情况 团队成员 已完成任务 待完成任务 解小锐 学习官方样例 根据初步讨论结果编写初步的api文档 陈鑫 学习cocos creator基本使用 采用 ...

  6. 第二阶段团队冲刺-six

    昨天: 完成打印名单的功能. 今天: 合并程序(添加打印txt). 遇到的问题: web.xml中配置url-pattern一直不合适,不知道为什么会影响界面.

  7. SVN基本介绍

    SVN是一种项目合作开发的软件,参与项目的人员可以在不同的地方实现文件和目录的超时空共享. 两个重要的概念: 1.配置库(Repository) SVN的核心是配置库,储存所有的数据,配置库按照文件树 ...

  8. HTTPS和HTTP的区别:

    https协议需要到ca申请证书,一般免费证书很少,需要交费.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议http和https使用的是完全不同的连接方式用的 ...

  9. [转]Linux下阅读源代码:(g)vim+Taglist+ctags

      Linux下阅读源代码的方法很多,聪明人从标题应该就可以知道,需要(g)vim+Taglist+ctags.3者配合,真是珠联璧合,功力无限啊! vim/gvim什么是vim/gvim,如果看官连 ...

  10. java.net.BindException: Address already in use: JVM_Bind <null>:8080错误

    今天打开myeclipse出现java.net.BindException: Address already in use: JVM_Bind <null>:8080错误 从网上搜了一下大 ...