Java学习之请求与会话

本文介绍了在Java中如何获取表单数据,包括通过`request.getParameter()`、`getParameterMap()`和`getParameterNames()`方法。接着讲解了Request域对象的特性和作用范围,以及请求转发、重定向和包含的区别。此外,还探讨了会话技术,客户端的Cookie管理和服务器端的HttpSession。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取表单数据

    表单如下:

<form action="#" method="post">
	用户名:<input type="text" name="userName"><br/>
	密  码:<input type="text" name="passWord"><br/>
	<input type="submit" value="提交">
</form>

    在通过表单将请求提交到 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是保存在服务端的

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值