手记

任何值得拥有的东西,都值得去等待!

1.request.setCharacterEncoding("utf-8");只适用于以post方式提交的数据,并不适用于get方式。

2.get方式传参的乱码问题解决方法:

    例:String flightId=request.getParameter("flightId");

        flightId=new String (flightId.getBytes("iso-8859-1"),"utf-8");

    3.请求转发与重定向的区别:

    (1):在请求转发过程中,页面只显示的是第一次被请求的页面的地址。(地址不变)

        例:
        dosearch.jsp页面中:

        if(temp!=null){

            request.setAttribute("key",temp);//将数据temp保存到请求范围中(可以存放很多数据)。

            request.getRequestDispatcher("result.jsp").forward(request,response);//将请求转发到request.jsp页面。

         result.jsp页面中:

         FlightInfoModel model=(FlightInfoModel)request.getAttribute("key");

    (2):在重定向过程中,只显示最后一次被重定向的地址(地址会变)

        例:if (temp != null) {

                        response.sendRedirect("result.jsp?flightId=" + flightId);

                    } else {

                        response.sendRedirect("result.jsp");
                    }

    (3):请求转发时只有一个请求可以一直延续。

    (4):重定向是指前一个请求结束了,后一个新的请求结束了,两个请求之间毫无关系,重定向几次就发出几次请求。

    (5):请求转发用request操作。

    (6):重定向用response操作。

4.将temp字符保存到当前页面范围中:

    pageContext.setAttribute("page","temp");

    String temp=(String)pageContext.getAttribute("page");

5.放到request中的数据只有请求结束后才失效。(请求开始-->请求结束)

6.将数据保存到session范围中,只要session没有销毁,在任何页面都可以访问。(同一连接者,所有页面共用)

    session.setAttribute("user",temp);

7.将数据放到application范围中。(所有连接者,所有页面共用的对象)

    application.setAttribute("app",temp);

    例:群聊模式,在线人数等公共数据应用。
1人推荐
随时随地看视频
慕课网APP