zoukankan      html  css  js  c++  java
  • 深入理解ServletRequest与ServletResponse

     
     请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpServletResponse来表示Http请求和响应。这两个类均来自javax.servlet.http包,是J2EE Servlet与JSP规范的一部分,因此,谈及
    HttpServletRequest与HttpServletResponse的时候,其实都是和Servlet(包括JSP)有关的。与HTML、ASP、PHP是没有关系的,你也无法在HTML中使用它们。
     
     
     
    下面是一个详细过程:
     
    一、ServletRequest
     
    代表一个HTTP请求,请求在内存中是一个对象,这个对象是一个容器,可以存放请求参数和属性。
     
    1、请求对象何时被创建,当通过URL访问一个JSP或者Servlet的时候,也就是当调用Servlet的service()、doPut()、doPost()、doXxx()方法时候的时候,执行Servlet的web服服务器就自动创建一个ServletRequest和ServletResponse的对象,传递给服务方法作为参数。
     
    2、请求对象由Servlet容器自动产生,这个对象中自动封装了请求中get和post方式提交的参数,以及请求容器中的属性值,还有http头等等。当Servlet或者JSP得到这个请求对象的时候,就知道这个请求时从哪里发出的,请求什么资源,带什么参数等等。
     
    3、ServletRequest的层次结构
    javax.servlet.ServletRequest 
      javax.servlet.http.HttpServletRequest
     
    4、通过请求对象,可以获得Session对象和客户端的Cookie。
     
    5、请求需要指定URL,浏览器根据URL生成HTTP请求并发送给服务器,请求的URL有一定的规范:
     
    二、ServletResponse
     
    也是由容器自动创建的,代表Servlet对客户端请求的响应,响应的内容一般是HTML,而HTML仅仅是响应内容的一部分。
     
     
    相应对象有以下功能:
    1、向客户端写入Cookie
    2、重写URL
    3、获取输出流对象,向客户端写入文本或者二进制数据
    4、设置响应客户端浏览器的字符编码类型
    5、设置客户端浏览器的MIME类型。
     
    三、GET与POST的本质区别
     
    get请求的参数参数在url里面,不安全,post请求的参数放在请求体中,安全。
     
     
    四、认识MIME类型
     
     
     
     

     
     
    参考资料:
    HeadFirst Servlet&JSP
     

    本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/275586

  • 相关阅读:
    基于注解的mybatis(转)
    git分支删除
    java多线程同步(转)
    hadoop学习笔记(五):java api 操作hdfs
    java常用设计模式一:单例模式
    mysql CONCAT用法
    mysql date_sub用法
    hadoop学习笔记(四):hdfs常用命令
    try-catch+thows异常范围说明
    Python 类的多态
  • 原文地址:https://www.cnblogs.com/xingele0917/p/3612491.html
Copyright © 2011-2022 走看看