设为首页 加入收藏

TOP

Java基础之HttpServletRequest请求(二)
2019-08-04 00:09:37 】 浏览:93
Tags:Java 基础 HttpServletRequest 请求
nbsp;       //1.单个值的参数
        String name=request.getParameter("username");
        //get解决乱码:得先将获取到的信息用原来的编码表进行解码,然后再用后来的编码表进行编码
        name=new String(name.getBytes("ISO-8859-1"),"UTF=8");
        String sex=request.getParameter("sex");
        System.out.println(name+" ......"+sex);
        //2.获取多个值的
        String[] hobbys=request.getParameterValues("hobby");
        //遍历
        for(String s:hobbys){
            System.out.println(s);
        }
        //3.获取所有的请求参数MAP
        Map<String,String[]> map=request.getParameterMap();
        //遍历
        Set<String> set=map.keySet();
        for(String str:set){
            String [] value=map.get(str);
            for(String v:value){
                System.out.println(str+"..."+v);
            }
        }       


 


 


六、request的其他功能:


1、request 也是个域对象,也是具有以下功能:


  setAttribute(String name, Object o)


  getAttribute(String name)


  removeAttribute(String name)


2、request完成请求转发:


  获得请求转发器----path是转发的地址


RequestDispatcher getRequestDispatcher(String path)


  通过转发器对象转发


requestDispathcer.forward(ServletRequest request, ServletResponse response)


七、ServletContext域与Request域的生命周期比较:


1、ServletContext:


      创建:服务器启动


      销毁:服务器关闭


      域的作用范围:整个web应用


2、request:


      创建:访问时创建request


      销毁:响应结束request销毁


      域的作用范围:一次请求中


八、转发和重定向的区别:


1、重定向两次请求,转发一次请求


2、重定向地址栏的地址变化,转发地址不变


3、重新定向可以访问外部网站 转发只能访问内部资源


4、转发的性能要优于重定向


(需要带数据的时候用请求转发,由第一个Servlet01带数据到Servlet02!需要地址转变的用重定向)


 


public class Servlet01 extends HttpServlet {


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //向request域中存值
        request.setAttribute("name", "张三" );
        //请求转发
        request.getRequestDispatcher("/Servlet02").forward(request, response);
   
       
    }


 


 


public class Servlet02 extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //从request 域中取值
        String name =(String)request.getAttribute("name");
        //解决中文乱码
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().write("hello"+name);
    }


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java基础之HttpServletResponse响.. 下一篇Java中转发和重定向的说明

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目