• request



    总结:1.request:获取请求方式:String method=request.getMethod();
    2.获取请求地址(URI):String path=request.getRequestURI(); 获取请求地址(URL):String path=request.getRequestURL();
    3.获取WEB的名称:String name=request.getContextPath(); 4.获取如果是get请求的请求方式:String query=request.getQueryString();
    5.String ip=request.getRemotoAddr();
    6.form(input)标签的命名方式:<form action="/WEB0916/HeadServlet" method="get"> 输入框:<input type="text" name="username"> 提交:<input type="submit" value="登录">
    7.判断访问的地址是否合法//获取请求头中的referer;referer代表当前请求来自哪里,可用于内容的防盗:String referer=request.getHeader("Referer");.getHeader()里面写上头名就可以获取响应的头解决乱码问题: response.setContextType("text/html;charset=utf-8"); if(referer.startsWith("https://locationhost"){response.getWriter().write("吴亦凡女朋友否认恋情");}else{response.getwrite().write("你是小偷,不给你看") };这里是判断是否是本地访问过来的(是否是以hettp:\locationhosr)拉下来的
    8.获取请求体单个值:String username=request.getParamenter("username");
    9.获取请求体多个值:String[] hobbys=request.getParamenterValues("hobby");
    遍历得到的多个值:for(String s:hobbys){system,out.println(s)}
    10.获取所有值的Map集合:Map<String,String[]) map=request.getParamenterMap();将所有的key值放入set集合:Set<String> set=map.setkey();
    11./因为这里得到的是所有key所在set集合所有需要增强for遍历所有的key然后再.get(key)获取值:for(String key:set){String[] value=map.getkey();system.out.prin("key") for(String s:value){system.out.println(s)}
    12.重定向:response;(302+location(谁有写谁的地址)):1.URL地址栏会变化.2.请求服务器两次
    13.请求转发:request:1.地址栏不变化,2.访问服务器一次
    14.post请求方式解决中文乱码(因为post方式通过请求体传过去所以需要在创建request对象之前就要解决zw乱码):request.setCharacterEncoding("UTF-8");
    15.get请求方式解决中文乱码(因为get是通过地址栏传过去的,所以在request创建之后创建就行):String username=request.getParameter("username");
    这里需要给username重新赋值:username=new String(username.getbytes("ISO-8859-1"),"UTF-8");
    这里先把ISO-8859-1的字符串转成字节数组,再用new String(转后的字节数组,"UTF-8")的方式转成String字符串在页面输出
    16.向request域中存值:request.setAttribute("name","张三");通过键和值的方式向request域中存值
    17.请求转发:request.getRequestDispatcher("setvlet03(这里写要跳转的servlet)").forward(request,response);
    因为请求转发只请求一次服务器所以直接写Servlet03就可以,重定向是请求服务器两次所以Servlet03前面要加上WEB名
    这里后面必须要加上.forward(request, response)不然不会跳转;因为这里给Servlet03传递了(request, response),所以Servlet03可以获取Servlet02的值
    这里是访问的Servlet02但打印的是Servlet03的内容
    18.获取request域中的值:String name=(String)request.getAttribute("name");因为这里的request.getAttribute("name")是通过键(name)的到值(小明)
    但是返回的是Object类的值,需要强转(String)才能得到字符串。

  • 相关阅读:
    字符串转换日期,日期转换字符串
    List中的Map
    一维数组
    流程控制的基本语法和应用
    《代码阅读方法与实践》读书笔记1
    专业实训题目需求分析
    2015年秋季个人阅读计划
    《人件集 人性化的软件开发》阅读笔记03
    《人件集 人性化的软件开发》阅读笔记02
    《人件集 人性化的软件开发》阅读笔记01
  • 原文地址:https://www.cnblogs.com/hankai2735/p/11597990.html
Copyright © 2020-2023  润新知