zoukankan      html  css  js  c++  java
  • JavaWeb_day01_HTTP_Servlet

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

    **转载请注明 出自 : luogg的博客园 ** 谢谢配合!

    JavaWeb_day01

    HTTP协议

    HTTP(HyperText Transfer Protocol)超文本传输协议,是TCP/IP的应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式.

    Http协议版本号 : HTTP/1.0 HTTP/1.1

    交互步骤 : 基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。

    HTTP/1.1新特性 :

    1. 在一次TCP/IP连接上可以传送多个HTTP请求和响应。
    2. 多个请求和响应过程可以重叠
    3. 增加了更多的请求头和响应头,比如Host等

    HTTP请求组成:

    这里写图片描述

    HTTP响应

    这里写图片描述

    HTTP->post和get请求方式详解

    • get把参数显示在地址栏上,安全级别低,不支持大数据。
    • post把参数封装请求体中,安全级别高,支持大数据。

    HTTP常用状态码

    200(正常) : 表示一切正常,返回的是正常请求结果

    302/307(临时重定向) : 指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。

    304(未修改) : 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。

    404(找不到) : 服务器上不存在客户机所请求的资源。

    500(服务器内部错误) : 服务器端的程序发生错误

    TomCat的配置

    Tomcat:实现了JSP/Servlet规范,轻量级的服务器,Servlet容器。(雄猫)
    1.解压tomcat
    2.配置JAVA_HOME: 服务器需要,指向JDK的路径
    3.修改端口号 : 在TomCat->conf->server.xml中修改,修改端口是为了防止端口冲突,修改为http默认端口80
    4.eclipse配置tomcat->windows->preferences->搜索server
    5.创建server视图

    TomCat目录结构

    这里写图片描述

    URL(协议+主机:端口+资源地址)

    这里写图片描述

    • server 2.5版本练习

    请求消息头:(做好笔记,记住常用的头)
    作用:向服务器端传递附加信息(暗号指令)

    • Accept:告知服务器,客户端可以接受的数据类型(MIME类型)

    • 文件系统:通过文件的扩展名区分不同的文件的。txt jpeg

    • MIME类型:大类型/小类型。

    • txt--->text/plain

    • html---->text/html

    • js---->text/javascript (具体对应关系:Tomcatconfweb.xml)

    • Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip

    • Accept-Language:告知服务器,客户端支持的语言。

    • Referer:告知服务器,从哪个页面过来的。

    作用:统计广告的投放效果;防止盗链。

    • Content-Type:告知服务器,请求正文的MIME类型
    • 默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)
    • 具体体现:username=abc&password=123
    • 其他类型:multipart/form-data(文件上传时用的)
    • If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。
    • User-Agent:告知服务器,浏览器的类型
    • Content-Length:请求正文的数据长度
    • Cookie:(*****重要)会话管理有关

    Servlet

    Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应。

    Servlet中的方法

    public void service(ServletRequest req,ServletResponse res)
    throws ServletException,java.io.IOException

    ServletRequest req:代表着请求对象,该对象中有HTTP协议的请求部分的所有内容。它的实现类由服务器提供的,封装数据也是服务器来做的。
    ServletResponse res:代表着响应对象,该对象中由我们写数据(HTTP协议的响应部分)进去。它的实现类也是由服务器提供的。
    service:由服务器调用,每次请求都会调用一次。服务器采用的是多线程机制。

    Servlet执行过程

    1.客户端访问Tomcat访问地址:http://localhost:8080/firstServlet/hello
    2.Tomcat解析客户端的访问地址
    3.Tomcat找firstServlet应用。
    4.找之间先搜索web.xml
    5.接着就找到自己的类。
    6.执行service
    7.给用户看到结果

    Servlet生命周期

    1. 诞生:用户第一次访问时,由容器创建他的实例。
    2. 活着:一旦创建就驻留内存(单例)。每次用户的访问,容器都会调用sevice方法发出响应(多线程)
    3. 死亡:应用被卸载或者Tomcat关闭了
  • 相关阅读:
    flink源码阅读(概览)
    idea如何设置home目录
    博客园定制化从入门到精通
    CAP理论的理解
    几个常用的profiler工具对比jprofiler、vituralVM、yourkit、JVM profler
    kafka的使用经验
    netty高并发框架
    Mysql Explain 详解
    show engine innodb status解读
    Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的区别
  • 原文地址:https://www.cnblogs.com/luogg/p/5978869.html
Copyright © 2011-2022 走看看