当前位置: 首页 > 知识库问答 >
问题:

设置Cookie在Spring web mvc 4中不起作用

倪阳飇
2023-03-14

我需要在我的登录控制器中设置一个重定向cookie。我使用下面的代码来设置cookie。

@RequestMapping("/fbresponse")
public String getToken(@RequestParam(required = false, value = "code") String code, HttpServletResponse sResponse) {
    sResponse.addCookie(new Cookie("logged", "123"));
    return "redirect:"+user.getLastPage();
}

在我的索引中,我尝试使用以下代码检索cookie:

@RequestMapping("/")
public String getIndex(@CookieValue(value="logged", required=false)String test){
    user.setLastPage("/");
    loginCheck();
    System.out.println(test);
    return "index";
}

但它总是返回null。我试着返回新的ModelAndView。它也不起作用,因为我需要模型中的一些组件,所以它不适合我的要求。如何设置和检索cookie?可以用重定向来做吗?

更新我的登录控制器中有class-level@RequestMapping。

@Controller
@RequestMapping("/login")
public class LoginController {

   @RequestMapping("/fbresponse")
   public String getToken(@RequestParam(required = false, value = "code") String code, HttpServletResponse sResponse) {
       sResponse.addCookie(new Cookie("logged", "123"));
       return "redirect:"+user.getLastPage();
   }
}

当我删除类级请求映射时,添加cookie起作用。如何使用类级别请求映射正确添加cookie?

共有1个答案

夏令秋
2023-03-14

您需要设置cookie的路径,否则它只对当前路径有效。

 类似资料:
  • 问题内容: 我正在研究一个简单的Java聊天客户端gui应用程序。(服务器等由其他人完成)。 这不是一个大项目,但是我唯一的问题是,无论如何尝试调整上述GUI上任何组件的大小,都将无法正常工作。 例如: 不行 谢谢您的帮助。 问题答案: 在Swing中,您有两个用于布局的选项:手动执行所有操作或为您处理。 仅当您不使用时,通话才有效。由于您使用的是A,因此您必须使用其他方式来指定所需的内容。 尝试

  • 我正在指定一个上下文根,如下面的XML所示。但是,当我在Glassfish admin web控制台中手动上传war文件时,它不起作用。如果我通过glassfish的maven插件部署它,它就能工作。Glassfish似乎没有读取文件,而是使用默认名称...我是不是漏掉了什么,或者这是一个错误?我正在使用Glassfish 3.1.2.2构建5。 glassfish-web.xml

  • 我正在使用SQLcl生成csv输出。 但我得到了我不想要的标题。我认为set heading off应该关闭heading(就像在SQLPlus中一样)为什么它在SQLcl中不工作。如果我清除了sql格式(设置sqlformat),那么标题就行了。它是SQLcl中的一个bug吗?

  • 问题内容: 我正在尝试使用Spring Boot和MySQL开发应用程序。正如文档所述,首先,我使用Intelij Idea使用Spring initializr创建了项目,配置了文件,并编写了文件和文件。运行项目后,我发现MySQL数据库中没有表或数据。我的配置有什么问题?请帮忙。 application.properties文件, pom.xml文件中的依赖项, schema-mysql.sq

  • 我有一个php版本为7.0的Linux apache2 Web服务器。22.看起来设置根本不起作用:( 这个ini文件位于以下位置:根据。当我查看文件夹时,我看到三个文件(设置告诉我正在使用的文件),和。 所以我查找了,它是,我将它改为,然后。我对所有的人都这样做了。ini文件保存了它们,重新启动apache2并刷新了phpinfo()页面,但什么都没有发生。我试图在所有窗口中更改其他设置。ini

  • 我尝试将ini文件解析为可以在ant脚本中使用的属性。我有以下几点: 我试图做的是解析所有的name=value对,并将它们放入属性中,如:section。名称=值; 不知何故,“echoMsg”目标中没有记住该部分。我想记住部门名称。 所以 应该成为: 这是我的ant脚本的输出: 如您所见,未设置最后一个“${prevSection}”。我希望它是“全球性的”。 我试着用它来代替财产,但没有区别