`
Fly_m
  • 浏览: 259623 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

在Intellij idea下为tomcat7设置sessionCookieName

阅读更多

    由于现在的浏览器在对同一ip不同端口的cookie保存时,并没有区分不同端口的session信息。那么当我们时同开启两个tomcat进行开发时,由于用户验证信息是通过session进行保存的。那么就会出现,在同一个机器布置两个系统A和B,当用户A登陆A系统并成功之后,用户B登陆B系统之后,再回到A系统,当进行点击时,就会提示A用户已经不存在了,即相应的session信息已经不存在了。

    java的web系统,一般是通过jessionid来进行session标识的,即A系统和B系统均会与客户端进行jsessionid的信息交互。但由于这两个系统是在同一个ip上,所以客户端的浏览器并不能区分每一个jessionid与不同的系统之间的关系。相反,他会将后来的jessionid覆盖前一个cookie信息,即后面的登陆时,jessionid会将A系统的jsessionid信息覆盖掉,再请求A系统时,客户端就会发送系统B的jsessionid至A系统,这样A系统肯定会取不掉最开始的session信息,而被认为是新登陆了。

    解决的办法就是两个系统使用不同的session标识来保存信息,从tomcat7开始,为兼容j2ee规范,tomcat提供了一套标准的设置sessioncookiename的方法。即在整个tomcat下的conf目录下的context.xml中添加一个属性即可。官方原话如下:

 

org.apache.catalina.SESSION_COOKIE_NAME system property: This has been removed. An equivalent effect can be obtained by configuring the sessionCookieName attribute for the global context.xml (in CATALINA_BASE/conf/context.xml).

 即在tomct7之前也可以设置Sessioncookiename,不过在tomcat7之中,可以通过设置tomcat conf目录下的context.xml添加一个属性即可。如下所示:

<!-- 这里重写session cookie name,以防止同一IP下多个端口访问时,session失效 -->
<Context sessionCookieName="tomcat7utf8_session">

 这样即可(本以为是添加参数parameter或子结点,结果都不是,只需要在顶层的context节点上增加一个属性即可)

这样在tomcat启动后,相应的sessionId标识就是变成这里设置的了。

 

对于Intellij idea来说,因为这里设置的是整个tomcat的,所以intellij idea在复制tomcat配置的时候,会将这个配置一并的copy至相应的intellij tomcat配置下面。所以在intellij idea下开发项目时,不用担心这个配置会被删去。

这样,通过intellij idea启动两个项目(分别是两个tomcat时),因为不同的tomcat的session标识不一样,再也不会出现session丢失的问题了。

 

ps:之前在oschina上有提出在单个的context下添加配置也可以,这里未做测试,只因为如果在tomcat/conf/server.xml中配置其他项目时,在intellij中进行配置文件copy时,自定义的配置会被删去导致失效的问题。

 

 

分享到:
评论

相关推荐

    IntelliJ IDEA 中配置 Tomcat 服务器方式

    在 IntelliJ IDEA 中配置 Tomcat 服务器是开发 Java Web 应用程序的重要步骤,它使得开发者能够在本地环境中测试和调试应用。以下将详细解释这个过程: 1. **下载和安装 Tomcat**: 配置 Tomcat 服务器的第一步是...

    IntellijIdea配置Tomcat[整理].pdf

    二、在 IntelliJ IDEA 中配置 Tomcat 7 配置 Tomcat 服务器需要在 IntelliJ IDEA 中进行设置。用户可以按照以下步骤进行配置: 1. 打开 IntelliJ IDEA 并输入快捷键 Ctrl+Alt+S(或点击图标)弹出设置窗口。 2. 在...

    在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发

    idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何配置 Tomcat 服务器+编程知识+技术开发; idea配置tomacat,在 IntelliJ IDEA 中如何...

    intellij idea使用tomcat开发时自动部署jndi数据源

    打开IDE,选择“File” -&gt; “Settings”(或者使用Ctrl+Alt+S快捷键),然后在设置窗口中找到“Plugins”,确保已安装了“Tomcat”或“Tomcat插件”。接着,在“Build, Execution, Deployment” -&gt; “Application ...

    Intellij IDEA整合Tomcat手册

    选择 File-&gt;project properties-&gt;run/debug-&gt;web,配置 Run/Debug 设置,以便在 Intellij IDEA 中正确地运行和调试 Web 应用程序。 本手册详细介绍了如何将 Intellij IDEA 与 Tomcat 集成,旨在帮助开发者快速掌握 ...

    IntelliJ IDEA配置Tomcat9

    在使用IntelliJ IDEA进行开发时,往往需要与Web服务器集成,如Apache Tomcat,以便于测试和运行Java Web项目。本教程将详细介绍如何在IntelliJ IDEA中配置已安装的Tomcat 9.0服务器。 首先,确保您已经在本地计算机...

    IntelliJ IDEA 配置Tomcat 9 开发环境

    7. 配置artifacts:在IDEA中运行Tomcat可能会因为未配置artifacts而出错。artifacts是指定如何将项目文件打包成可部署的格式(如WAR包)。具体操作是点击Deployment标签页,然后点击小铅笔图标进行配置。创建新的...

    IntellijIdea开发工具详细使用文档.pdf

    要配置 JRE 运行环境,需要在 IntelliJ IDEA 中设置 JRE 的安装路径。 ### 1.2 IntelliJ IDEA 配置编译环境 在 IntelliJ IDEA 中,需要配置编译环境,以便编译和运行 Java 项目。编译环境包括 Java 编译器、类库和...

    IntelliJ IDEA不重启tomcat,自动部署 热发布Spring Boot

    标题中的“IntelliJ IDEA不重启tomcat,自动部署 热发布Spring Boot”涉及到的是在开发Spring Boot应用时,如何使用IntelliJ IDEA这款强大的Java集成开发环境(IDE)来实现在不重启Tomcat服务器的情况下,进行项目的...

    Intellij IDEA 2018汉化包 (设置可用)

    Intellij IDEA汉化包。支持最新版本2018.直接复制lib即可。file-seting可用。 设置下菜单可正常打开。

    IntelliJ_IDEA常用设置

    IntelliJ IDEA 的常用设置包括字体设置、光标设置、显示行号、项目启动设置、Tomcat 设置、代码提示和补全快捷键设置、快捷键设置等。通过这些设置,编程者可以更好地使用 IntelliJ IDEA,提高编程效率和质量。

    Intellij IDEA 入门教程.pdf (高清文字版)

    IntelliJ IDEA为优化体验,提供了许多实用的技巧和设置,例如修改字符集、项目字符集、自动编译JSP、生成JAVADOC文档、设置Spring支持、启动时不自动打开项目、全屏设置等。此外,对于性能优化,也介绍了启动参数...

    IntellijIdea配置Tomcat整理.pdf

    可以为 IDEA 专门配置一个 Tomcat 使用,并修改端口,删除 webapps 下的其他应用。这样可以解决端口冲突问题。 知识点总结 * 如何下载和解压缩 Tomcat 7 的 zip 文件 * 如何在 IntelliJ IDEA 中配置 Tomcat 服务器...

    IntelliJ IDEA 中文指南.pdf

    《IntelliJ IDEA 中文指南》是一份专注于介绍和指导用户使用IntelliJ IDEA集成开发环境(IDE)的文档,涵盖了从基础操作到高级特性的广泛知识点。IntelliJ IDEA是由JetBrains公司开发的一款现代化的Java集成开发环境...

    IntelliJ IDEA Tomcat配置详解.doc.pdf

    IntelliJ IDEA是一款强大的Java集成开发环境,它支持多种服务器的配置与运行,其中包括Tomcat。...遵循以上步骤,你就能在IntelliJ IDEA中成功配置并运行Tomcat服务器,为你的Java Web应用提供良好的开发环境。

    IntelliJ IDEA 12创建Java Web项目并用Tomcat发布

    在 IntelliJ IDEA 12 中,需要配置 Tomcat 服务器,以便将 Java Web 项目部署到 Tomcat 服务器上。配置步骤如下: 1. 选择 Tomcat 服务器:选择 Local,然后点击 Configure,在弹出的对话框中选择 Tomcat 安装目录...

    IntelliJ IDEA 2017配置JSP+tomcat

    这里指定了开发环境包括64位的Windows 7操作系统,JDK版本为Java SE JDK 1.8.144,以及特定版本的Tomcat服务器和IntelliJ IDEA开发工具。这些都是构建Java Web应用的基础。 2. JDK安装:Java Development Kit(JDK...

    IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    在 IntelliJ IDEA 中,每个 Project 都需要设置自己的 JDK 和 Maven 等相关配置。默认配置提供了 Default 选项,解决了每个新项目都要重新配置的问题。 4. 初始化步骤 打开默认配置:顶部导航栏 -&gt; File -&gt; Other ...

Global site tag (gtag.js) - Google Analytics