Cookie cookie = new Cookie("JSESSIONID", session.getId()); cookie.setMaxAge(60 * 30 * 30); cookie.setPath("/Servlet"); resp.addCookie(cookie);
时间: 2024-04-21 12:25:14 浏览: 159
根据您提供的代码,您正在创建一个名为“JSESSIONID”的cookie,并将其添加到HTTP响应中。该cookie的最大寿命为半个小时,其路径为“/Servlet”。
请确保您已经在您的代码中正确设置了cookie,并且已经启用了cookie。此外,请确保您正在访问的网站已经启用了cookie。如果您仍然遇到问题,您可以尝试清除浏览器缓存和cookie,并重新启动浏览器。如果问题仍然存在,请提供更多的信息,这样我才能更好地帮助您。
相关问题
@RequestMapping(value = "/do_login.do", method = RequestMethod.POST) public SverResponse<UserEntity> doLogin(String account, String password, HttpSession session) { SverResponse<UserEntity> response = userService.doLogin(account, password); if (response.isSuccess()) { // 登陆成功,将用户信息存入session // Cookie cookie = new Cookie("JSESSIONID", session.getId()); // respons.addCookie(cookie); // respons.addHeader("Set-Cookie", "JSESSIONID=" + session.getId()); // 设置Cookie session.setAttribute(ConstUtil.CUR_USER, response.getData()); // System.out.println(session.getAttribute(ConstUtil.CUR_USER)); } return response; } 在这端程序中设置cookie响应头
在 Spring MVC 中,可以通过 `HttpServletResponse` 对象来设置响应的 Header,从而设置 Cookie。具体来说,可以在控制器方法中通过注入 `HttpServletResponse` 对象来实现,代码如下:
```
@RequestMapping(value = "/do_login.do", method = RequestMethod.POST)
public SverResponse<UserEntity> doLogin(String account, String password, HttpSession session, HttpServletResponse response) {
SverResponse<UserEntity> response = userService.doLogin(account, password);
if (response.isSuccess()) {
// 登陆成功,将用户信息存入session
session.setAttribute(ConstUtil.CUR_USER, response.getData());
// 设置 Cookie
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(30 * 60); // 设置 Cookie 的过期时间为 30 分钟
cookie.setPath("/");
response.addCookie(cookie);
}
return response;
}
```
在上面的代码中,我们通过 `response.addCookie(cookie)` 方法来设置 Cookie。其中,`cookie` 是要设置的 Cookie 对象,`setMaxAge` 方法用于设置 Cookie 的过期时间(单位为秒),`setPath` 方法用于设置 Cookie 的路径。需要注意的是,如果不设置 Cookie 的路径,则默认为当前请求的路径。
除了通过 `addCookie` 方法来设置 Cookie,还可以通过设置响应头的方式来实现。具体来说,可以通过以下代码来设置响应头:
```
response.setHeader("Set-Cookie", "JSESSIONID=" + session.getId() + "; Path=/; Max-Age=1800");
```
其中,`setHeader` 方法用于设置响应头,`Max-Age` 用于设置 Cookie 的过期时间(单位为秒)。需要注意的是,如果要设置多个 Cookie,可以将它们用分号和空格隔开,例如:
```
response.setHeader("Set-Cookie", "cookie1=value1; Path=/; Max-Age=1800; " +
"cookie2=value2; Path=/; Max-Age=1800; " +
"cookie3=value3; Path=/; Max-Age=1800");
```
以上就是在 Spring MVC 中设置 Cookie 响应头的基本步骤。
java实现创建一个session,保存用户信息到session,然后生成一个包含sessionID的cookie
可以使用下面的代码实现:
```java
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class SessionUtil {
public static void createSession(HttpServletRequest request, String attributeName, Object attributeValue) {
HttpSession session = request.getSession(true);
session.setAttribute(attributeName, attributeValue);
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(-1);
cookie.setPath("/");
request.setAttribute("COOKIE", cookie);
}
}
```
在上面的代码中,我们首先获取当前请求的session,然后将用户信息保存到session中。接着,我们创建一个名为“JSESSIONID”的cookie,将session的ID值设置为cookie的值,并将cookie的域设置为“/”表示整个应用都可以访问。最后,我们将cookie保存在request中,以便在返回响应时可以将其添加到响应中。
阅读全文
相关推荐






