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 {
}
}
相关推荐
在本例中,我们将探讨如何利用Spring MVC来访问JSP页面,实现动态网页展示。 首先,我们需要理解Spring MVC的基本组件和工作流程。Spring MVC的核心组件包括DispatcherServlet(前端控制器)、Controller(控制器)...
在本实验中,我们可能使用拦截器来实现权限检查,防止未登录用户直接访问"main.jsp"。Spring MVC中的`HandlerInterceptor`接口提供了`preHandle`、`postHandle`和`afterCompletion`方法,可以在请求被处理前、处理后...
例如,用户尝试访问受保护资源时,可以发送一个AJAX请求,服务器端的拦截器进行权限检查,如果权限不足,返回错误信息,前端根据返回结果展示相应提示。 5. **JSP页面**:在JSP页面中,可以使用JavaScript或jQuery...
在使用Struts2框架进行Web开发时,通常会遇到需要对未登录用户的请求进行拦截的情况,尤其是当用户尝试直接通过URL访问受保护的JSP页面时。由于Struts2的拦截器默认不能直接拦截JSP页面,所以我们需要借助于Servlet ...
当Ajax请求发生时,这些被指定的函数或方法会被执行,并能访问到请求的相关信息,如方法类型、URL地址和是否异步等。 ### 拦截示例 #### 统一添加时间戳 如果需要给所有请求统一添加时间戳,可以使用如下方式: `...
在这个实例中,当用户试图直接访问受保护的Action(如`protectedAction`)时,`LoginCheckInterceptor`将检查用户的登录状态。如果用户未登录,拦截器会将结果设置为"login",从而重定向到登录页面。一旦用户登录...
在Web开发中,权限拦截器扮演着至关重要的角色,它可以在用户请求到达控制器之前进行预处理,判断用户是否有权访问特定的资源或执行特定的操作。这样可以有效地提高系统的安全性,避免非法用户对敏感数据或功能的不...
这是因为某些安全机制可能会拦截 webservice 的请求,导致访问失败。那么,该如何解决这个问题呢? 解决方法是将需要调用 webservice 的客户端或者服务器的外网 IP 地址加入到白名单中。白名单是一种安全机制,允许...
如果当前访问的页面就是登录页面,则不需要做任何判断,直接放行。 filterChain.doFilter(request, response)是过滤器链中的下一个过滤器,如果存在,或者最终目标页面的处理。如果这个方法不被调用,那么请求就...
这通常是为了在使用CAS进行统一认证时,允许某些特定的URL不受拦截器的控制,以便它们可以直接访问或者有别于其他请求的处理方式。 CAS是一个开放源码的单点登录(Single Sign-On, SSO)系统,广泛应用于Web应用的...
2. **权限校验**:如果拦截器检测到未登录的用户试图访问受保护的资源,如`userlogin.jsp`,它可以阻止请求并重定向到登录页面`login.jsp`。 3. **会话管理**:拦截器可以检查用户的会话状态,确保用户在会话过期后...
4. **处理未授权的请求**:当拦截器检测到未登录用户尝试访问受保护的资源时,可以返回一个"unauthorized"结果,然后在配置文件中定义这个结果,将其重定向到登录页面。例如: ```xml *" class=...
当请求到达控制器时,Struts2会依次调用这个栈中的拦截器,每个拦截器都有机会处理请求,然后决定是否将请求传递给下一个拦截器或直接返回响应。 创建一个简单的Struts2拦截器,你需要遵循以下步骤: 1. 创建拦截...
在JSP开发的数据库应用程序中,由于页面的无记忆性和独立性,非法用户可能通过直接输入URL的方式绕过登录检查,从而访问和数据处理相关的页面,这直接威胁到了数据库的安全性。为了应对这一挑战,文章提出采用访问...
在这个系统中,Filter(过滤器)扮演了关键角色,它在用户请求到达目标资源(如JSP页面)之前进行拦截,对请求进行预处理,并根据一定的规则决定是否允许访问。 **Filter详解:** 在Java Web开发中,Filter是...
- **过滤器**:无法直接访问Action上下文,因此在进行业务逻辑处理时可能会受到限制。 2. **调用时机**: - **拦截器**:在Action请求的处理过程中可以被多次调用,这使得开发者可以根据实际需求灵活地控制拦截...
一个常见的应用场景是登录验证拦截器,当用户访问受保护的资源时,拦截器首先检查用户是否已登录,未登录则重定向到登录页面。 ```java public class LoginInterceptor implements Interceptor { @Override ...
2. **配置JSP**:由于Spring Boot默认不使用JSP,需要在`src/main/resources/config/web.xml`中创建一个Web配置文件,配置JspServlet来拦截所有Jsp请求。 3. **重写DispatcherServlet配置**:在Spring Boot中,我们...
Filter可以在请求被实际处理之前拦截并修改它。例如,我们可以创建一个Filter,将请求中的参数转换为路径的一部分,然后再将请求传递给目标资源。 接下来,我们来看如何限制或封杀特定用户访问。在Web应用中,用户...