zoukankan      html  css  js  c++  java
  • Tomcat服务器与HTTP协议

    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:Javajdk1.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:WindowsSystem32driversetchosts文件

                                                            对于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        

                  

  • 相关阅读:
    堆排序(改进的简单选择排序)
    希尔排序(改进的直接插入排序)
    直接插入排序
    简单选择排序
    冒泡排序&排序算法简介
    处理器的体系结构
    虚拟存储器
    Python函数
    在主项目中添加子项目
    聚合分组查询
  • 原文地址:https://www.cnblogs.com/lulu638/p/4234743.html
Copyright © 2011-2022 走看看