一个特别简单的cookie小程序--回忆一下cookie

login.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page pageEncoding="GB2312"%>
<%
Cookie a[]=request.getCookies();
if(a!=null)
{for(int i=0;i<a.length;i++)
 { if(a[i].getName().equals("User"))
  { String user=a[i].getValue();
    response.sendRedirect("zy.jsp?user="+user);}
  
 }
}
%>
<html>
<head><title>自动登录测试</title></head>
<body>
<form action="dealLogin.jsp" method="post">
用户名:<input type=text name=user size=10><p>
密码:<input type=password name=pw size=10><p>
不保存用户名 <input type=radio name=ch value="0"><p>
保存用户名
  <input type=radio name=ch value="86400">一天
  <input type=radio name=ch value="604800">一周
  <input type=radio name=ch value="2592000">一月
  <input type=radio name=ch value="31536000">一年
<p> 

<input type=submit name=sm value="登录">

</form>


</body>
</html>

 

dealLogin.jsp

<%@ page language="java" pageEncoding="GB2312"%>
<%@ page contentType="text/html;charset=GB2312" import="java.net.URLEncoder"%>
<html>
<body>
<%
 request.setCharacterEncoding("GB2312");
 String user=request.getParameter("user");
   
   
    String ch=request.getParameter("ch");
   
    if(ch!=null)
    {int time=Integer.parseInt(ch);
  
    if(time>0)
   { Cookie c=new Cookie("User",URLEncoder.encode(user));
  c.setMaxAge(time);
  response.addCookie(c);
   }
 }

    response.sendRedirect("zy.jsp?user="+URLEncoder.encode(user));


 %>
  </body>
</html>
zy.jsp

<%@ page pageEncoding="GB2312"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<body>
<%
String user=request.getParameter("user");
out.println("欢迎,"+user+"<p>");
out.println("这里是主页");


%>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序是基于微信客户端的应用,微信客户端在HTTP请求中默认会禁用Cookie,因此在小程序中使用Set-Cookie是无效的。如果需要在小程序中实现类似的功能,可以考虑使用微信提供的Storage API或者自定义HTTP请求头来实现。 1. 使用Storage API Storage API是微信提供的本地存储API,可以用来存储一些小程序需要的数据。在请求接口时,可以将服务端返回的需要存储的信息存储到本地,在后续的请求中通过自定义HTTP请求头将这些信息带上,这样服务端就可以根据请求头中的信息来判断当前请求是哪个用户发起的。 以下是一个示例代码: ```javascript // 存储需要的信息 wx.setStorageSync('sessionId', sessionId); // 发送请求时带上自定义请求头 wx.request({ url: 'https://example.com/api/xxx', header: { 'sessionId': wx.getStorageSync('sessionId'), }, success: function (res) { console.log(res.data); } }) ``` 在上面的代码中,我们使用`wx.setStorageSync()`方法将服务端返回的`sessionId`存储到本地,然后在后续的请求中通过自定义请求头`sessionId`将这个值带上,服务端就可以根据这个值来判断当前请求是哪个用户发起的。 2. 自定义HTTP请求头 如果不想使用Storage API,也可以考虑使用自定义HTTP请求头来实现类似的功能。在服务端返回Set-Cookie时,可以将需要存储的信息存储在本地,然后在后续的请求中通过自定义HTTP请求头将这些信息带上,这样服务端就可以根据请求头中的信息来判断当前请求是哪个用户发起的。 以下是一个示例代码: ```javascript // 存储需要的信息 wx.setStorageSync('sessionId', sessionId); // 发送请求时带上自定义请求头 wx.request({ url: 'https://example.com/api/xxx', header: { 'Cookie': 'sessionId=' + wx.getStorageSync('sessionId'), }, success: function (res) { console.log(res.data); } }) ``` 在上面的代码中,我们使用`wx.setStorageSync()`方法将服务端返回的`sessionId`存储到本地,然后在后续的请求中通过自定义请求头`Cookie`将这个值带上,服务端就可以根据这个值来判断当前请求是哪个用户发起的。 需要注意的是,以上两种方法都需要服务端进行相应的处理才能实现类似Set-Cookie的功能。 希望这个回答能够帮助你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值