注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

Struts 2 过滤SessionID  

2010-01-27 12:25:53|  分类: struts2 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

①--编写过滤器DisableUrlSessionFilter.java

代码如下:

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import javax.servlet.http.HttpSession;
/**
 * @author TEANA -- Dec 23, 2009
 * 过滤SessionID
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class DisableUrlSessionFilter implements Filter
{

 public void destroy()
 {
  
 }
 /**
     * Filters requests to disable URL-based session identifiers.
     */
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException
 {
        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;
            }
        };

        chain.doFilter(request, wrappedResponse);
 }

 public void init(FilterConfig fc) throws ServletException
 {

 }

}

②--在web.xml配置文件配置上面的过滤器

<!-- config filter sessionid -->
 <filter>
    <filter-name>session</filter-name>

    <!--配置DisableUrlSessionFilter.java位置-->
    <filter-class>DisableUrlSessionFilter</filter-class>
 </filter>

 

<!-- session -->
 <filter-mapping>
      <filter-name>session</filter-name>
      <url-pattern>/*</url-pattern>
 </filter-mapping>

  评论这张
 
阅读(1946)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017