JavaWeb-request和response整理

1.HttpServletRequest和HttpServletResponse: 访问某个servlet的时候,方法调用之前就创建好了. servey方法结束后就销毁 

servlet是单实例,只创建一次. 而server方法多线程,每次访问执行一个单独的servey,每次都创建一个request和reponse

 

2.request常用方法:

请求行:

    getMethod()//GET

    getRequestURL();全路径

    getRequestURI();项目名称下的路径

    getContextPath();得到项目名称 重点

请求消息头

    getHeader(name); 根据头名称得到头信息值

    getHeaderNames(); 得到所有头信息 枚举

    getHeaders(name);  根据头名称得到相同头名称信息值 枚举

请求正文

    获取表单数据的方法

    getParameter("userName");

    getParameterValues(name);

    getParameterNames();

    getParameterMap();

    getInputStream();上传文件的时候以流的方式获取数据

 

    非表单数据

    setAttribute(String name, Object value);

    Object getAttribute(name);

    removeAtribute(name);

 

    转发

    getRequestDispatcher(path).forward(request,response);

    包含

    getRequestDispatcher(path).include(request,response);

    解决乱码:

    request.setCharacterEncoding("UTF-8");//只能解决post方式的乱码

    new String(name.getBytes("ISO-8859-1"),"UTF-8");

 

页面--转发--servlet1--转发--servlet2

这个叫一次请求,servlet2能访问到页面表单中的数据(forward将request传递下去了)

如果说servlet1验证用户名密码后, 从数据库取出邮箱, 想传下去到2,那么request.setAttribute,这就叫操作非表单数据(邮箱来自数据库查询,不是来自页面的表单)

 

3.response相关方法   从服务器到浏览器

    response.setContentType("text/html;charset = UTF-8");

    setStatus(int);

    输出

    getWriter();

    getOutputStream();

    重定向

    response.sendRedirect(request.getContextPath+path);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值