码迷,mamicode.com
首页 > Web开发 > 详细

Tomcat服务器与HTTP协议

时间:2015-01-19 22:13:55      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

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.配置

                                     关于安装后注意事件

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

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

                                               2.端口被占用.

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

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

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

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

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

                                                        3.CATALINA_HOME问题

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

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

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

                                                       

                                                        安装完成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         http://localhost/

                                                                 8080端口

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

               技术分享

Tomcat服务器与HTTP协议

标签:

原文地址:http://www.cnblogs.com/lulu638/p/4234743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!