HttpServletRequest和HttpServletResponse

27 篇文章 0 订阅
13 篇文章 0 订阅

HttpServletRequest是ServletRequest的子接口,它获取http请求

request编码格式设置

1.对get和post请求都有效
String name=request。getParameter("");
byte[] byte1=name.getBytes(“iso-8859-1”);
String name1=new String (byte1,“utf-8”);
2.只对post请求都有效
request.setCharacterEncoding(“utf-8”);

请求流程:

  1. 用户向Servlet发出请求
  2. Servlet容器(tomcat等服务器)收到,并创建request和response对象
  3. Servlet容器把request和response发给Servlet做处理
  4. Servlet处理完,发送回Servlet容器
  5. Servlet容器销毁request和response对象,然后将结果返回给用户

request接受用户参数的常用方法:

  1. getParameter(String) 获取name值为string的标签
  2. getParameterValues(String)获取一组值
  3. getParameterNames() 获取所有参数的name属性
  4. getParameterMap() 获取所有数据,返回类型map

二。HttpServletResponse是ServletResponse的子接口
是针对于http协议的,封装了响应信息

功能
  1. 设置响应内容
    response.getWrite():返回一个PrintWriter对象,可以调用这个方法的write()或print()方法,把响应内容输出到浏览器上

    设置响应内容格式:response.setContentType("text/html;charset=utf-8");
    
  2. 设置响应头

  3. 重定向

关于请求转发和请求重定向

请求转发(request域对象中的数据进行共享):

  1. 地址栏还是请求的地址栏
  2. 在最终的servlet中request对象和中转的request是同一个对象
  3. request.getRequestDispatcher(path).forward(request,response),其中path为转发路径
  4. "/"代表当前web应用的根目录,例如http://localhost:8080/chater-3/testServlet中的http://localhost:8080/chater-3(地址栏开头到工程名位置)
  5. 只能转发到当前web应用

重定向:

  1. 地址栏不再是第一次请求的地址,而是重定向后的地址
  2. 最终的servlet中request对象和中转的servlet中的request对象不是一个request对象
  3. 请求转发,发了一次请求,重定向二次
  4. "/"代表当前web站点,例如http://localhost:8080/chater-3/testServlet中的http://localhost:8080(地址栏开头到工程名前的位置)
  5. 可以定向到外部资源

一个servlet解决不了用请求转发,重定向是跳转页面用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值