Java学习之请求与会话

获取表单数据

    表单如下:

用户名:
密 码:

    在通过表单将请求提交到 servlet后,可以通过 request对象获取表单中的数据。

    获取方式:

    1.通过数据的name获取

    request.getParameter(String name);

    2.获取所有数据,存入map中

    request.getParameterMap();

    3.获取所有数据的name

    request.getParameterNames();


请求    Request域对象

    内部维护了一个map集合,可以添加获取删除值。

    作用范围:只对一次请求有效。


请求转发

    一次请求,并且响应到网页的是转发后的响应结果

// 通过请求对象获取请求转发器
RequestDispatcher requestDispatcher = request.getRequestDispatcher(path);
// 转发
requestDispatcher.forward(request, response);

请求重定向

    两次请求,超出了request域的作用范围,不能使用request域进行传值

// 参数是重定向的地址
response.sendRedirect("/sh-web-03/demo03");

请求包含

    一次请求(可以用request域传值)

    两个servlet的响应结果会一起返回给浏览器

// 获取请求转发器
RequestDispatcher dispatcher = request.getRequestDispatcher(path);
dispatcher.include(request, response);


会话技术

    会话:客户端和服务端之间的交互。

    当我们访问网页时,只要浏览器不关闭,点击多少次链接都叫一次会话,关闭浏览器就结束了这次会话。

    客户端技术:

        Cookie 保存在客户端(浏览器)中,就是一个文件。

        每个网站可以保存200个cookie,每个浏览器可以保存300个cookie,每个cookie可以保存4kb的数据。

        cookie有默认的存活时间,就是一次会话。当浏览器被关闭,cookie被清除

        cookie默认保存在浏览器的内存中,可以设置cookie的存活时间,当cookie的存活时间大于0时,浏览器就会将cookie保存到硬盘中。

        注意:cookie不能保存中文。


        cookie存活时间的设置

        setMaxAge(时间 以秒为单位)

        正值:值是多少,浏览器就保存多少秒。

        负值:浏览器不会存储cookie到硬盘当中,当会话结束时,cookie被删除。

        0:cookie被删除。 

        

        cookie的创建:

Cookie cookie = new Cookie(String name, String value);

        设置cookie的保存路径

cookie.setPath(path);

        "/"表示该工程下的所有servlet都能访问,保存时相当于按工程名来存

        设置cookie存活时间

cookie.setMaxAge(300);

        添加cookie到响应中

response.addCookie(cookie);

        在请求中获取cookie

Cookie[] cookies = request.getCookies();

 

    服务器技术 HttpSession

    Session是保存在服务端的

        

你可能感兴趣的:(Java学习之请求与会话)