`
weifly
  • 浏览: 237853 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jetty-如何配置会话ID

 
阅读更多

jetty中文文档:www.jettycn.com

 

 

如何配置会话ID(Session IDs)

Jetty >> howto >> 如何配置会话ID(Session IDs)

介绍

应用下面的配置可以修改web应用程序的会话(session)特性:

步骤

Init参数

Context Parameter名称 默认值 描述
org.eclipse.jetty.servlet.SessionCookie JSESSIONID 会话cookie名称默认为JSESSIONID,特定的web应用可以通过这个context param设置为其他值。
org.eclipse.jetty.servlet.SessionIdPathParameterName jsessionid 会话URL参数名称。默认值为jsessionid,特定的web应用可以通过这个context param设置为其他值。设置为"none",则禁用URL重写。
org.eclipse.jetty.servlet.SessionDomain - 会话域。如果这个属性做为一个ServletContext参数设置了,那么它的值将用作会话cookie的域。如果不设置,则没有为会话cookie指定域。
org.eclipse.jetty.servlet.SessionPath - 会话路径。如果这个属性做为一个ServletContext参数设置了,那么它的值将用作会话cookie的路径。如果不设置,则context path将用作会话cookie的路径。
org.eclipse.jetty.servlet.MaxAge -1 会话的Max Age。如果这个属性做为一个ServletContext参数设置了,那么它的值将用作会话cookie的max age。如果不设置,则max age的值为-1。

示例

以上的配置即可以做为<context-param>设置在web应用程序的WEB-INF/web.xml文件中,就像这样:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">
  ...
  <context-param>
    <param-name>org.eclipse.jetty.servlet.SessionCookie</param-name>
    <param-value>XSESSIONID</param-value>
  </context-param>
  <context-param>
    <param-name>org.eclipse.jetty.servlet.SessionIdPathParameterName</param-name>
    <param-value>xsessionid</param-value>
  </context-param>
  ...
</web-app>

也可以设置到配置web应用程序的Jetty上下文xml文件中(WebAppContext好像没有setInitParams方法了):

<Configure class="org.mortbay.jetty.webapp.WebAppContext">
  <Set name="contextPath">/test</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test</Set>
  ...
  <Set name="initParams">
    <Map>
      <Entry>
        <Item>org.eclipse.jetty.servlet.SessionCookie</Item>
        <Item>XSESSIONID</Item>
      </Entry>
      <Entry>
        <Item>org.eclipse.jetty.servlet.SessionIdPathParameterName</Item>
        <Item>xsessionid</Item>
      </Entry>
    </Map>
  </Set>
</Configure>

要了解关于param的更多信息,请查看org.eclipse.jetty.server.SessionManager类的源码:http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/server/SessionManager.html

其他资源

有关详细信息,请参阅基于数据库的Session集群配置教程 教程。

分享到:
评论

相关推荐

    Jetty中文手册

    如何配置会话ID(Session IDs) 如何序列化会话(Session) 如何重定向或移动应用(Context) 如何让一个应用响应一个特定端口 使用JNDI 使用JNDI 在JNDI中配置数据源(DataSource) 内嵌Jetty服务器 内嵌Jetty教程 ...

    Jetty权威指南.pdf

    - **URL重写**:通过在URL中添加会话ID来实现会话跟踪。 **12.2 集群** 对于高可用性和负载均衡的需求,Jetty支持会话复制,通过在多个Jetty实例之间复制会话数据,实现应用的水平扩展。 #### 十三、性能优化 **...

    eclipse整合jetty

    - **会话管理器设置**:`HashSessionIdManager` 用于管理会话 ID,这里设置了工作节点名称(`workerName`)为 `node1`。 - **处理器设置**:`HandlerCollection` 和 `DefaultHandler` 分别用于组织多个处理器和...

    jetty 学习资料合集

    这包括设置SSL/TLS、自定义会话ID策略、添加安全约束等。 6. **Jetty Eclipse Plugin使用**:熟悉插件的安装和配置过程,学习如何在Eclipse中快速启动Jetty服务器、部署应用、调试Servlet和JSP,以及进行热部署和...

    Jetty使用总结

    - **`jetty.xml`**:这是Jetty容器的主配置文件,用于定义服务器的各种属性,比如线程池配置、监听端口等。 - **`webdefault.xml`**:这是一个默认的`web.xml`格式文件,在实际的`web.xml`被加载前会被应用到上下...

    Jetty嵌入式服务器的JNDI快速配置指南

    在Jetty中,我们可以利用JNDI来管理资源,如数据源、邮件会话等,以便在Web应用中进行共享。 1. **JNDI的基本概念** - JNDI提供了一种标准的方式来查找和访问各种资源和服务,如数据库连接池、对象工厂等。 - 它...

    Java Web 会话 聊天室

    这通常通过在会话中存储关键数据(如用户ID)来实现。 3. **网络通信**: - **AJAX(Asynchronous JavaScript and XML)**:聊天室可能采用了AJAX技术来实现实时通信。通过异步发送请求,用户可以无需刷新页面就能...

    初学SpringSession讲义大全.docx

    1. 使用容器扩展插件:可以使用容器扩展插件来实现 session 共享,如 tomcat-redis-session-manager 插件、jetty-session-redis 插件、memcached-session-manager 插件。 2. 使用 Nginx 负载均衡的 ip_hash 策略:...

    bboss会话共享培训文档

    安全性方面,bboss会话共享通过在客户端基于cookie机制存储sessionid,并设置cookie的HttpOnly属性来防止XSS攻击窃取sessionid,通过设置Secure属性并在HTTPS环境下传输来防止sessionid被窃取。同时,还提供会话信息...

    JProfiler11破解.rar

    对于脱机分析,如果配置文件仅包含单个会话,则不再需要在-agentpath VM参数中指定会话ID 使用-agentpath VM参数中的“id”或“config”选项现在会自动激活“立即启动”模式 添加了JPROFILER_AGENT_OPTIONS环境变量...

    urlrewritefilter-4.0.4.jar.zip

    - **会话管理**:通过URL传递会话ID,实现无会话ID的URL。 - **URL美化**:隐藏动态参数,生成静态化的URL。 - **SEO优化**:创建对搜索引擎友好的URL。 - **URL编码与解码**:处理URL中的特殊字符。 - **条件判断**...

    session.会话实例源码

    Session的生命周期通常可以通过配置服务器来设定,例如30分钟无操作则自动失效。 **3. Session的实现方式** 在Java Web开发中,Session是通过`javax.servlet.http.HttpSession`接口实现的。开发者可以调用`...

    单点登录源码

    sequence | 分布式高效ID生产 | [http://git.oschina.net/yu120/sequence](http://git.oschina.net/yu120/sequence) AliOSS & Qiniu & QcloudCOS | 云存储 | [https://www.aliyun.com/product/oss/]...

    购物车项目

    - 使用Tomcat、Jetty等Web服务器部署项目,配置虚拟主机和应用上下文。 - 配置数据库连接池,如Apache DBCP或HikariCP,提高数据库连接效率。 这个“购物车项目”涵盖了Web开发的多个核心领域,包括前端交互、...

    session-count

    为了解决这个问题,Web开发者引入了会话概念,通过分配一个唯一的会话ID来标识特定用户的一系列交互。 在Java Servlet中,我们可以使用HttpSession接口来创建、获取和管理会话。以下是一些关键的会话操作: 1. **...

    基于Java的员工管理系统源码.zip

    - 通过session管理用户会话,确保登录状态的安全。 - 数据库连接池优化,如Druid或HikariCP,提高数据库访问效率。 - 缓存策略,如Redis,减少不必要的数据库查询。 7. **部署与运行** - 使用Tomcat或Jetty等...

    spring-webflow

    - **conversationScope**:会话作用域,支持会话间的持久化。 - **requestParameters**:访问请求参数。 - **currentEvent**:当前事件的上下文。 - **currentUser**:当前登录的用户。 - **messageContext**:消息...

    tomcat源码,servlet-api源码

    当客户端请求携带会话ID时,Tomcat根据ID查找并恢复会话状态。此外,Tomcat还支持会话超时、分布式会话和会话持久化等高级功能。 5. **安全性与权限控制** Tomcat使用Realm组件进行身份验证,如MemoryRealm、...

Global site tag (gtag.js) - Google Analytics