首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么阻止手写url跳转

2011-12-22 
如何阻止手写url跳转在我的工程里有一个装一些需要显示的html,现在手动输入html的地址就能打开html。现在希

如何阻止手写url跳转
在我的工程里有一个装一些需要显示的html,

现在手动输入html的地址就能打开html。

现在希望如果没有登陆的话,手动输入html地址跳转到login画面。

请问各位高手怎么在web.xml里配置,或者有其他什么方法。

[解决办法]
登录后把用户信息存session里面
每次进入页面时判断session,如果为空,则跳转至login页面
[解决办法]
过滤器,采用 /* 形式进行过滤,在Filter中判断session中是否为空,通过URI排除登录页面。

过滤器中的doFilter方法基本上如下:

Java code
public void doFilter(ServletRequest request, ServletResponse response,        FilterChain chain) throws IOException, ServletException {    HttpServletRequest httpRequest = (HttpServletRequest)request;    HttpServletResponse httpResponse = (HttpServletResponse) response;    HttpSession session = httpRequest.getSession();    if(session.getAttribute(ApplicationSource.USER) == null            && !httpRequest.getRequestURI().endsWith("/login.jsp") // 这些都是一些需要排除的页面              && !httpRequest.getRequestURI().endsWith("/calendar/")            && (httpRequest.getRequestURI().indexOf("/calendar/img") < 0)            && (httpRequest.getRequestURI().indexOf("/calendar/resources") < 0)            && (httpRequest.getRequestURI().indexOf("/calendar/servlet") < 0)            && !httpRequest.getRequestURI().endsWith("/login.do")){        httpResponse.sendRedirect(httpRequest.getContextPath() + "/login.jsp");    }        chain.doFilter(request, response);} 

热点排行