HTTP

概念

 需要遵守的规则!!!

 浏览器向我发送请求,我向浏览器做出响应。

 基于TCP/IP的一个协议,用于连接web服务器和浏览器。

 协议版本:HTTP/1.1

特点

 1.遵守一个请求响应模型

 2.请求和响应成对存在

 3.必须先有请求后有响应

设置编码

Request

 请求行

  Get:显示传参,大小有限制,没有请求体。

  Post:隐式传参,大小没限制,有请求体。

  只有表单中的method方法设置为post,其他的都是get请求。

 请求头

  通常都是键值对方式,一般情况下是一个key对应一个value,有时是一个key对应多个value。

 请求体

  Post方式,提交的请求参数。

 方法

  URL:绝对路径,URI:相对路径

  req.getRequestURL()

  req.getMethod():form表单提交方式

 解决中文乱码

  req.setCharacterEncoding("utf-8");

 req.getParameter("name")的使用

  可以在HTML文件中的form表单的Action方法中跳转到该Servlet文件,然后,request中获取参数传的值即为input表单中name中设置的值。

 怎么抓包请求头和响应头的?

Response

 响应行

  状态码:200、302、304、404、500

  以上类似于200-299、 300-399

  状态描述:响应成功、重定向、查找本地缓存、资源不存在、服务器内部错误。

 响应头

  通常都是键值对方式,一般情况下是一个key对应一个value,有时是一个key对应多个value。

 响应体

  页面要显示的内容

 解决中文乱码

 向浏览器输出信息

  resp.getWriter().write("向浏览器输出信息");

 重定向

  resp.setHeader("任意字符串", "/Day40/index.html");

从前端form表单中拿取数据

Servlet的映射流程

 1.Tomcat启动,到WEB-INF下的xml文件中匹配url-pattern

 2.匹配到就可以获取到servlet-mapping,可以找到servlet-name

 3.通过匹配servelt-name,找到servlet,可以找到servlet-class

 4.通过全路径可以加载.class字节码文件,接着运行servlet程序

 匹配方式

  1.精确匹配,输入访问地址的全路径。例如:

  2.模糊匹配,要用到通配符*。例如:

  注意事项

   1.模糊匹配不能同时使用/和*号

   2.精确匹配优先级最高,后缀名的模糊匹配最低

   3.要求url不能只含/,不允许和默认的servlet冲突

Servlet的生命周期

 生命周期:成员变量,局部变量,类对象,线程

 由Tomcat服务器控制的

 调用的四个方法

  1.构造方法,用于创建对象,只执行一次

  2.init方法,初始化对象,只执行一次

  3.service方法,调用几次执行几次

  4.destroy方法,用于销毁servlet对象只执行一次

  Tomcat运行,方法不执行,网页刷新后执行前三个方法,每刷新一次,执行一次service方法,在服务器点击stop时,调用destory方法。

Servlet的自动加载

 假如数据量很大,要在Tomcat服务器启动时1和2方法就执行,此时就需要修改xml配置文件,设置自动加载的优先级

 在servlet中加入

 数字越小,优先级越高

你可能感兴趣的:(HTTP)