Java理论-JavaWeb

HTTP请求的GET与POST方式的区别

GET方法会把参数名和值追加在请求的URL后面。因为URL对字符数目有限制,进而限制了用户在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能用这种方式传递。

POST方法通过把请求参数值放在请求体中来克服GET方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过POST请求传递的敏感信息对外部客户端是不可见的。

  1. session是存储在服务器端的,cookie是存储在客户端的,所以session的安全性要高于cookie。
  2. session中保存的是对象,cookie中保存的是字符串。
  3. 无论客户端浏览器做怎么样的设置,session都应该能正常工作。客户端可以选择禁用cookie,但是客户端无法禁用服务端的session。
  4. 再者,我们获取的session里的信息是通过存放在会话cookie里的sessionId获取的。
  5. 因为session是存放在服务器里的,所以session里的东西不断增加会增加服务器的负担,会把一些重要的东西放在session里,不太重要的放在客户端cookie里。
  6. cookie分为两大类,一个是会话cookie和持久化cookie,他们的生命周期和浏览器是一致的,浏览器关了会话cookie也就消失了,而持久化会存储在客户端硬盘中。

Servlet生命周期

  • init()方法:
    在Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init();
  • service()方法:
    它是Servlet的核心,每当一个客户请求一个HttpServlet对象,该对象的service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
  • destroy()方法:
    仅执行一次,在服务器端停止且卸载Servlet时执行该方法。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

HTTP协议

HTTP方法

https://blog.csdn.net/vikeyyyy/article/details/80655115

Tomcat

restful

https://www.jianshu.com/p/ee92c9accedd

原文地址:https://www.cnblogs.com/mihuk/p/13296159.html