• [Java]Servlet&JSP


    在这里学习Servlet和JSP

    >> Servlet&JSP的那些事儿

    >> servlet

    【书籍】

    孙鑫的《Servlet/JSP深入详解:基于Tomcat的Web开发》

    林信良的《JSP&Servlet学习笔记(第二版)》

    Servlet容器处理请求的过程

      在开始正文之前,让我们复习并细化一下Servlet容器处理请求的过程。

      1)用户点击一个链接,指向了一个servlet而不是一个静态页面。

      2)容器“看出”这个请求是一个Servlet,所以它创建了两个对象HttpServletRequest和HttpServletResponse。

      3)容器根据请求中的URL找到正确的Servlet,为这个请求创建或分配一个线程,并把请求和响应对象传递给这个Servlet线程。

      4)容器调用Servlet的service()方法。根据请求的不同类型,service()方法会调用doGet()或doPost()方法。这里假设调用doGet()方法。

      5)doGet()方法生成动态页面,并把这个页面“塞到”响应对象里,需要注意的是,容器还有响应对象的一个引用!

      6)线程结束,容器把响应对象转换为一个HTTP响应,并把它发回给客户,然后删除请求和响应对象。

    那么问题来了:doGet()和doPost()的区别?

      1.doGet和doPost的区别,在什么时候调用,为什么有时doPost中套用doGet
      2.提交的form     method=Post就执行DOPOST,否则执行GOGET 套用是不管method是post还是get都执行dopost方法
      3.get:你可以通过URL传参数。http://www.csdn.net/index.asp?user=1234    , Post不行  
      4.你的表单提交都有方法的,如果提交为get就调用get方法,用post就调用post方法.   get显示你传过去的参数,post则不显示.
      5.通常的写法:先用doGet(),然后在doPost()中调用doGet(),这样就万无一失了
      6. 简单的说,get是通过http     header来传输数据,有数量限制,而post则是通过http     body来传输数据,没有数量限制。
      7.还有一点:get和post提交的数据量是不一样的.  
          get好像最多只能在url后跟64K(?具体多少忘记了),  
          post好像没这个限制,至少我post过5M以上的文本    
          还有url刷新时get好像可以不用重复提交原来提交的数据,  
          而post则会说内容已提交,想刷新请再提交.

  • 相关阅读:
    sqli-labs 第四关
    sqli-labs 第三关
    sqli-labs 第二关
    sqli-labs 第一关
    Buuctf-misc-假如给我三天光明
    Buuctf-misc-另外一个世界
    Buuctf-misc-FLAG
    量化投资_合成数据
    量化投资_止盈止损在策略中的有效性(改编)
    量化投资_金融数据信息处理的新维度(A New Dimension to Deal Data Information of Finance)【论文/时海涛】
  • 原文地址:https://www.cnblogs.com/lkboy/p/4208749.html
Copyright © 2020-2023  润新知