Java学习日记(四)

Request

前台传数据

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="${pageContext.request.contextPath}/r1" method="post">
        用户名:<input type="text" name="name"><br>
        爱好:
        <input type="checkbox" name="hobby" value="听歌">听歌
        <input type="checkbox" name="hobby" value="代码">代码
        <input type="checkbox" name="hobby" value="电影">电影
        <br>
        <input type="submit">

    </form>
</body>
</html>

后台接收

resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String[] hobby = req.getParameterValues("hobby");
resp.getWriter().write(name);
resp.getWriter().write(Arrays.toString(hobby));

问题:重定向和转发的区别?
答:相同点页面都会跳转
不同点:重定向路径会改变 302,
转发不会改变路径 307

Cookie

客户端技术(响应请求)

// 新建Cookie
Cookie ck = new Cookie("name","加菲猫");
// 设置Cookie有效时间
ck.setMaxAge(1000);
// 添加到Response中
resp.addCookie(ck);
// 获取Requset传过来的Cookie
Cookie[] cookies = req.getCookies();
// 判断是否为空
if (cookies != null)
// 获取name
cookie.getName()
// 获取值
cookie.getValue()

Session

服务器技术,利用这个技术,可以保存用户的会话信息,我们可以把信息或者数据放在Session中!

 // 获取Session
HttpSession session = req.getSession();

// 在session存储东西
session.setAttribute("name","加菲猫");

// 获取session的id
String id = session.getId();

// 获取值
session.getAttribute("name")

// 注销
session.invalidate();
    <!--设置Session有效时间-->
    <session-config>
        <session-timeout>1</session-timeout>
    </session-config>

常见:网站登录之后,下次就不用再登录了

Session和cookie的区别

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
  • Session把用户的数据写到用户独占的Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
    使用场景
  • 保存一个登录用户的信息
  • 购物车信息
  • 在整个网站中经常会使用到的数据,我们将它保存在Session中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值