`

拦截直接访问jsp的请求

 
阅读更多

Java代码  
web.xml配置
<filter>  
    <filter-name>jspFilter</filter-name>  
    <filter-class>com.cb.cbms.coreserver.servlet.JspFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>jspFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>  
 
Java代码  
package com.cb.cbms.coreserver.servlet;  
  
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;  
  
/** 
 * 不允许直接访问jsp 
 * 所有对jsp的直接访问,跳转到首页面 
 * @author eason 
 * 
 */  
public class JspFilter implements Filter {  
      
    @Override  
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {  
        HttpServletRequest httpServletRequest = (HttpServletRequest) request;  
        HttpServletResponse httpServletResponse = (HttpServletResponse) response;  
        String url = httpServletRequest.getRequestURI();  
        if(url != null && url.endsWith(".jsp")) {  
            httpServletResponse.sendRedirect(httpServletRequest.getContextPath());  
            return;  
        }  
        chain.doFilter(request, response);  
    }  
  
    @Override  
    public void destroy() {  
          
    }  
  
    @Override  
    public void init(FilterConfig arg0) throws ServletException {  
          
    }  
  
}  

分享到:
评论

相关推荐

    通过springmvc框架访问jsp页面

    在本例中,我们将探讨如何利用Spring MVC来访问JSP页面,实现动态网页展示。 首先,我们需要理解Spring MVC的基本组件和工作流程。Spring MVC的核心组件包括DispatcherServlet(前端控制器)、Controller(控制器)...

    jsp实验5:监听器拦截器的使用

    在本实验中,我们可能使用拦截器来实现权限检查,防止未登录用户直接访问"main.jsp"。Spring MVC中的`HandlerInterceptor`接口提供了`preHandle`、`postHandle`和`afterCompletion`方法,可以在请求被处理前、处理后...

    struts2 拦截器 权限 ajax jsp

    例如,用户尝试访问受保护资源时,可以发送一个AJAX请求,服务器端的拦截器进行权限检查,如果权限不足,返回错误信息,前端根据返回结果展示相应提示。 5. **JSP页面**:在JSP页面中,可以使用JavaScript或jQuery...

    详解Struts2中对未登录jsp页面实现拦截功能

    在使用Struts2框架进行Web开发时,通常会遇到需要对未登录用户的请求进行拦截的情况,尤其是当用户尝试直接通过URL访问受保护的JSP页面时。由于Struts2的拦截器默认不能直接拦截JSP页面,所以我们需要借助于Servlet ...

    JS 拦截全局ajax请求实例解析

    当Ajax请求发生时,这些被指定的函数或方法会被执行,并能访问到请求的相关信息,如方法类型、URL地址和是否异步等。 ### 拦截示例 #### 统一添加时间戳 如果需要给所有请求统一添加时间戳,可以使用如下方式: `...

    struts2自定义拦截器(处理用户未登录非法请求)

    在这个实例中,当用户试图直接访问受保护的Action(如`protectedAction`)时,`LoginCheckInterceptor`将检查用户的登录状态。如果用户未登录,拦截器会将结果设置为"login",从而重定向到登录页面。一旦用户登录...

    webwork 权限拦截器

    在Web开发中,权限拦截器扮演着至关重要的角色,它可以在用户请求到达控制器之前进行预处理,判断用户是否有权访问特定的资源或执行特定的操作。这样可以有效地提高系统的安全性,避免非法用户对敏感数据或功能的不...

    webservice外网拦截说明配置.docx

    这是因为某些安全机制可能会拦截 webservice 的请求,导致访问失败。那么,该如何解决这个问题呢? 解决方法是将需要调用 webservice 的客户端或者服务器的外网 IP 地址加入到白名单中。白名单是一种安全机制,允许...

    servlet+jsp实现过滤器 防止用户未登录访问

    如果当前访问的页面就是登录页面,则不需要做任何判断,直接放行。 filterChain.doFilter(request, response)是过滤器链中的下一个过滤器,如果存在,或者最终目标页面的处理。如果这个方法不被调用,那么请求就...

    cas-client扩展拦截器支持excludes

    这通常是为了在使用CAS进行统一认证时,允许某些特定的URL不受拦截器的控制,以便它们可以直接访问或者有别于其他请求的处理方式。 CAS是一个开放源码的单点登录(Single Sign-On, SSO)系统,广泛应用于Web应用的...

    J2EE拦截器实例

    2. **权限校验**:如果拦截器检测到未登录的用户试图访问受保护的资源,如`userlogin.jsp`,它可以阻止请求并重定向到登录页面`login.jsp`。 3. **会话管理**:拦截器可以检查用户的会话状态,确保用户在会话过期后...

    structs2拦截器做的阻止未登录的用户访问

    4. **处理未授权的请求**:当拦截器检测到未登录用户尝试访问受保护的资源时,可以返回一个"unauthorized"结果,然后在配置文件中定义这个结果,将其重定向到登录页面。例如: ```xml *" class=...

    struts2拦截器应用小例子

    当请求到达控制器时,Struts2会依次调用这个栈中的拦截器,每个拦截器都有机会处理请求,然后决定是否将请求传递给下一个拦截器或直接返回响应。 创建一个简单的Struts2拦截器,你需要遵循以下步骤: 1. 创建拦截...

    基于JSP的数据库应用程序安全访问控制设计_屈霞

    在JSP开发的数据库应用程序中,由于页面的无记忆性和独立性,非法用户可能通过直接输入URL的方式绕过登录检查,从而访问和数据处理相关的页面,这直接威胁到了数据库的安全性。为了应对这一挑战,文章提出采用访问...

    JSP权限管理系统filter

    在这个系统中,Filter(过滤器)扮演了关键角色,它在用户请求到达目标资源(如JSP页面)之前进行拦截,对请求进行预处理,并根据一定的规则决定是否允许访问。 **Filter详解:** 在Java Web开发中,Filter是...

    拦截器和过滤器的区别

    - **过滤器**:无法直接访问Action上下文,因此在进行业务逻辑处理时可能会受到限制。 2. **调用时机**: - **拦截器**:在Action请求的处理过程中可以被多次调用,这使得开发者可以根据实际需求灵活地控制拦截...

    Struts2拦截器及其用法详细说明

    一个常见的应用场景是登录验证拦截器,当用户访问受保护的资源时,拦截器首先检查用户是否已登录,未登录则重定向到登录页面。 ```java public class LoginInterceptor implements Interceptor { @Override ...

    Spring+jsp老项目转Springboot的示例Demo

    2. **配置JSP**:由于Spring Boot默认不使用JSP,需要在`src/main/resources/config/web.xml`中创建一个Web配置文件,配置JspServlet来拦截所有Jsp请求。 3. **重写DispatcherServlet配置**:在Spring Boot中,我们...

    url重写和禁止某个用户访问(jsp)

    Filter可以在请求被实际处理之前拦截并修改它。例如,我们可以创建一个Filter,将请求中的参数转换为路径的一部分,然后再将请求传递给目标资源。 接下来,我们来看如何限制或封杀特定用户访问。在Web应用中,用户...

Global site tag (gtag.js) - Google Analytics