大二上假期学习——Day04——javaweb简介、tomcat、HTTP协议简介

一、JavaWEB入门

1.两种架构:C/S  和  B/S

Client/Server:QQ、游戏客户端、网盘

  优点:客户端可以任意的设计,可以实现非常绚丽的效果和特殊的功能;

     只需要下载一次客户端,以后只依赖网络传输变化的数据,对网络的依赖没有B/S那么强

  缺点:第一次使用时需要下载客户端;

     当需要更新时,所有的客户端都需要进行更新,有的情况下这是不可接受的;

Browser/Server:WebQQ、网页游戏

  优点:不需要客户端就可以使用,有浏览器就能使用;

     当程序需要更新时,只需要在服务器进行就可以了;

  缺点:浏览器的展示能力还比较有限,对于绚丽的画面难以展示;

     所有资源都需要从服务器获取,对网速的依赖严重;

2.javaweb:互联网开发  和  开发B/S架构的企业级应用

互联网开发:

  门户网站:广告

  搜索引擎:竞价排名 广告联盟

  电子商务:卖

开发B/S架构的企业级应用:

  金融行业/能源行业/电信行业/国安行业/物流行业......

3.Android:

  管理、设计、销售

二、Tomcat

1.端口占用:netstat -ano

  查看占用端口的进程pid,再用任务管理器关闭

  JAVA_HOME环境变量:指定tomcat启动时使用的jdk所在的位置

  Catalina_Home环境变量:指定tomcat在启动时启动哪个位置的tomcat

PS:tomcat5:jdk1.4  

  tomcat6:jdk1.5  

  tomcat7:jdk1.6

2.tomcat目录结构:

3. 虚拟主机/web应用:

  1)虚拟主机:  

    一个tomcat可以认为是一台真实主机,在一台真实主机中可以配置多个站点。这些站点在访问者看来,访问他们就像在访问各自独立的主机一样,所以我们可以认为,这些站点都运行在tomcat这台真实主机当中的各自虚拟主机当中,一个网站就可以认为是一个虚拟主机。

  2)web应用:

    一个虚拟主机中会有很多的web资源,但是web资源不能直接交给虚拟主机,需要按照一定方式组织成web应用,虚拟主机才能使用,一般来说我们会按照功能将某一功能相关的所有web资源组织成一个web应用后再交给虚拟主机。

    ·1.web应用目录结构:若目录结构不合法可能会出现各种问题

      news

      |

      | -- 静态资源和jsp文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到

      |

      | -- WEB-INF -- 可以没有,但是最好有,如果有一定要保证它的目录结构是完整的,放置在WEB-INF目录下的所有资源,浏览器没办法直接进行访问

        | -- classes -- 动态web资源运行时的class文件要放在这个目录下

        | -- lib -- 动态web资源运行时所依赖的jar包要放在这个目录下

        | -- web.xml -- 整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行

  3)配置虚拟主机:

    在conf/server.xml中<Engin>标签下配置<Host>标签就可以为tomcat增加一台虚拟主机。

    name -- 指定虚拟主机的名称,浏览器通过这个名称访问虚拟主机。

    appBase -- 虚拟主机管理的目录,放置在这个目录下的web应用,当前虚拟主机可以自动加载。

    *由于浏览器访问地址时,需要将地址翻译成对应的IP才能找到服务器,这其中翻译的过程是DNS服务器来实现的,我们在做实验的时候没有办法去修改DNS服务器,此时可以使用hosts文件模拟DNS的功能,从而完成实验。 

    缺省虚拟主机:如果来访者是通过ip来访问,这个时候服务器无法辨别当前要访问的是哪台虚拟主机中的资源,此时访问缺省虚拟主机,缺省虚拟主机可以在server.xml中engin标签上通过defaultHost属性进行配置。

  4)为虚拟主机配置web应用:

    (1)在Server.xml的<Host>标签中,配置<Context>标签,就可以为该虚拟主机配置一个web应用。name -- docBase

    若将path设置为空,则这个web应用为缺省web应用。

    这种配置方式需要重启服务器,不推荐。

    (2)在tomcat/conf/[Engine]/[Host]/ 在这个目录下写一个xml文件,其中xml文件的名字就是虚拟路径,在这个xml中可以配置<Context>标签,其中配置真实路径,如果所配置的虚拟路径中有“/”,由于文件名不允许包含“/”需要用“#”替代。

    只要将文件名设置为ROOT.xml,则这个xml描述的web应用就成为了缺省web应用。

    这种配置方式不需要重启服务器,推荐。

    (3)直接将web应用放置到虚拟主机管理的目录下,虚拟主机就可以找到这个web应用,从而管理这个web应用。

    只要将web应用文件夹的名称改为ROOT,这个web应用就是缺省web应用。

  5)*web应用的虚拟路径映射 -- 为web应用的真实存在的路径配置一个浏览器访问的虚拟路径

  6)*配置缺省web应用 -- 默认的web应用,当不写web应用名时,就访问这个web应用

 

4.零散知识

1.war包:减少web应用的体积方便传输,并且在虚拟主机管理的目录下,war默认可以自动解压。

cmd命令:jar -cvf xxx.war *

2.通用Context配置、通用web.xml配置

3.tomcat服务器的管理平台

4.tomcat体系架构

三、HTTP协议

1.HTTP = hypertext transfer protocol(超文本传输协议),它是TCP/IP协议的一个应用层协议,用于定义web浏览器与web浏览器之间交换数据的过程。

2.

规定客户端和服务器如何进行交互;

基于TCP/IP协议的应用层协议;

3.

HTTP协议基于请求响应模型;

一次请求对应一次响应;

请求只能由客户端发出,服务器只能被动的等待请求做出响应;

4.HTTP请求 和 HTTP响应

  1)HTTP请求

    ·1.请求行

      GET /books/java.html HTTP/1.1

      请求方式:GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT;

        真正使用:POST/GET

        请求区别在于请求参数在传递的过程中方式不同

        GET:请求参数将会附加在请求的URL后面作为请求地址的一部分带到服务器端,可传输的数据大小一般有限制,一般不允许超过1k

        POST:请求参数将会在HTTP请求的实体内容中进行传输,传输数据大小无限制

        除了利用form表单提交数据时,form表明明确的声明要用POST提交,这时请求参数就是POST提交;

        除此以外所有方式的请求参数都是GET提交。 

      请求的资源部分的名称

      所遵循的协议版本

    ·2.若干请求头

    ·3.实体内容

  2)HTTP响应

    ·1.状态行

      HTTP/1.1 200 OK

      协议版本

      状态码 -- 用来表示本次请求的处理结果的代码

        200 -- ok

        302 -- 请求重定向

        304/307 -- 使用缓存

        404 -- 找不到资源

        500 -- 服务器端错误

      原因叙述

    ·2.若干响应头

      Expires:-1 -- 通知浏览器是否缓存当前资源,;若值以毫秒为单位,则通知浏览器缓存资源到指定的时间点;若值为0或-1,则通知浏览器禁止缓存。

      

    ·3.实体内容

posted @ 2023-02-12 20:37  sodamate  阅读(13)  评论(0编辑  收藏  举报