首页 > 其他分享 >关于Tomcat返回URL出现jsessionId

关于Tomcat返回URL出现jsessionId

时间:2023-08-09 09:24:57浏览次数:38  
标签:String Tomcat URL request jsessionId url session public

去掉java项目URL地址栏后面的";JEESESSIONID

方法一:

添加过滤器

web.xml添加以下内容

<filter>
<filter-name>jsessionid</filter-name>
<filter-class>com.myc.webpro.base.filter.DisableUrlSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>jsessionid</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

添加DisableUrlSessionFilter.java


public class DisableUrlSessionFilter implements Filter {
/*
* private static Log logger =
* LogFactory.getLog(DisableUrlSessionFilter.class);
*/
/**
* Filters requests to disable URL-based session identifiers.
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// skip non-http requests
if (!(request instanceof HttpServletRequest)) {
chain.doFilter(request, response);
return;
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
// clear session if session id in URL
if (httpRequest.isRequestedSessionIdFromURL()) {
HttpSession session = httpRequest.getSession();
if (session != null) {
//session.invalidate();
}
}
// wrap response to remove URL encoding
HttpServletResponseWrapper wrappedResponse = new HttpServletResponseWrapper(
httpResponse) {
@Override
public String encodeRedirectUrl(String url) {
return url;
}

@Override
public String encodeRedirectURL(String url) {
return url;
}

@Override
public String encodeUrl(String url) {
return url;
}

@Override
public String encodeURL(String url) {
return url;
}
};
// process next request in chain
chain.doFilter(request, wrappedResponse);
}

/**
* Unused.
*/
public void init(FilterConfig config) throws ServletException {
}

/**
* Unused.
*/
public void destroy() {
}
}

方法二:
servlet3.0以后session id的保存方式
1、COOKIE 保存在客户端COOKIE中,通过请求读取cookie确认会话归属
2、URL 跟在url接连后面,默认方式,通过读取url后缀确认会话归属
3、SSL 使用SSL连接确认会话归属,这个最安全,但成本最高

web.xml中session配置 使用COOKIE生成session即可解决此问题 

<session-config> <session-timeout>60</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>

标签:String,Tomcat,URL,request,jsessionId,url,session,public
From: https://www.cnblogs.com/shichq/p/17615961.html

相关文章

  • 在eclipse中使用Tomcat启动项目乱码
    修改tomcat的配置文件1)修改Tomcat的server.xml配置(config目录下)先找到第一处添加URIEncoding=“UTF-8”<Connectorport="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"URIEncoding="UTF-8"/>再找到第二处添......
  • Django博客开发教程:URL与视图函数
    在讲URL与视图函数之前我们先给大家简单介绍一下用户访问网站的流程。我们访问一个网站的时候,一般先打开浏览器,然后在浏览器的地址栏里输入一个网址,也就是URL,然后回车,我们就可以在浏览器里看到这个网址返回的内容。这是我们能看得见的过程,还有一些我们看不见的过程,那就是:当我们在......
  • Request.url请求路径的一些属性
    https://blog.csdn.net/u012726702/article/details/51737795Request.url请求路径的一些属性1,Request.UrlReferrer.AbsolutePath=获取URL的绝对路径例:"/Manager/Module/OfficialManage/Issuedadocument/Issuedadocument_WorkNew.aspx"2,Request.UrlReferrer.AbsoluteUri=获取绝......
  • Azure 解决方案:如何实现URL重定向?
    51CTO博客地址: https://blog.51cto.com/14669127Azure培训视频地址: https://space.bilibili.com/2000820534近期遇到一些客户,在访问第三方URL的时候,因某种原因希望URL中能包含组织结构的域名,实现URL重定向来满足安全策略,今天给大家分享如何利用AzureFrontDoor配置URL重定向。......
  • urlfinder
    再推荐个工具:urlfinder,能够快速查找隐藏在页面或js中的敏感或未授权api接口,把页面中的链接提取出来 支持windows 项目地址:https://github.com/pingc0y/URLFinder......
  • 微信小程序13 在请求url获取返回值后修改data变量的一个问题,es6箭头函数或外部定义变
    在之前解密电话时,我们有请求wx的apiwx.request({url:'https://api.weixin.qq.com/sns/jscode2session',data:{},success:(re)=>{//console.log('re:'+JSON.stringify(re));this.......
  • docker容器中tomcat启动out of memory
    docker容器中tomcat启动outofmemory宿主机KylinV10容器centos7tomcat启动报错libraryinitializationfailed-unabletoallocatefiledescriptortable-outofmemory宿主机ulimit-n65535容器内ulimit-n1073741816解决方案容器内修改/etc/profile添......
  • SpringMVC的搭建idea2021、tomcat8.5
    准备环境idea2021tomcat8.0资料来源,尚硅谷的视频1、新建项目      生成pom.xml文件 3、pom.xml文件添加依赖<dependencies><!--SpringMVC--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</arti......
  • ysoserial中的URLDNS利用链代码审计
    ysoserial中的URLDNS利用链代码审计一.避坑我使用了jdk1.8的版本,因为在使用jdk1.7版本的时候出现了如下报错java:程序包sun.rmi.server不存在之后问chatgpt之后我发现不知为什么我的jdk1.7里面没有rt.jar,所以我换成了jdk1.8二.环境搭建1.下载源码https://github.com......
  • springboot 关于servlet容器配置修改 组件注册 容器切换 使用外部tomcat
    1.嵌入式Servlet容器配置修改1.通过全局配置文件修改可以通过server.xxx来进行web服务配置,没有带服务器名称的则是通用配置通过带了具体的服务器名称则是单独对该服务器进行设置,比如server.tomcat.xxx就是专门针对tomcat的配置2.通过WebServerFactoryCus......