登录验证后端添加过滤器

public class Filter implements javax.servlet.Filter {  
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException 
{      
//强制转换    
HttpServletRequest request = (HttpServletRequest) req;     
//获取请求地址    
String uri = request.getRequestURI();        /*判断请求地址是否带有登陆资源       
* 如果有,直接放行      
* 如果没有,判断是否登录   
* 如果登陆了,直接转发到相应的资源,  
* 如果没有登录,转发到登录提示还没登录*/  
if (uri.equals("/Servlet") || uri.equals("/")||uri.contains("/index.jsp") || uri.contains("/CheckcodeServlet") || 
uri.contains("/css/") || uri.contains("/js/")) {         
chain.doFilter(req, resp);     
} else {        
Object name = request.getSession().getAttribute("username");  if (name != null) {          
chain.doFilter(req, resp);     
} else {     
request.setAttribute("loginmsg", "您还没有登录");                request.getRequestDispatcher("index.jsp").forward(req, resp);       
chain.doFilter(req, resp);      
}    
}  
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在前后端分离的架构中,前端与后端是通过API进行交互的。为了对请求进行过滤和处理,可以在后端实现过滤器(Filter)来拦截请求,然后对请求进行预处理或者根据一些条件进行过滤。 下面是一个简单的示例,展示如何在后端实现过滤器: 1. 创建一个过滤器类,该类需要实现 `javax.servlet.Filter` 接口,并重写 `doFilter` 方法。例如: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // 初始化过滤器 } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; // 进行过滤操作,可以根据请求的路径、请求参数等进行判断和处理 // 比如验证用户是否登录、权限验证等 // 如果需要继续执行后续的过滤器和目标资源,调用 filterChain.doFilter() filterChain.doFilter(request, response); } @Override public void destroy() { // 销毁过滤器 } } ``` 2. 在配置文件中配置该过滤器。例如,在 web.xml 文件中添加以下内容: ```xml <filter> <filter-name>myFilter</filter-name> <filter-class>com.example.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern> <!-- 拦截所有请求 --> </filter-mapping> ``` 通过上述配置,所有的请求都会被该过滤器拦截,并执行过滤操作。 需要注意的是,具体的过滤逻辑需要根据项目的具体需求进行设计和实现。过滤器可以用于身份认证、请求日志记录、请求参数验证等各种场景,根据项目需求进行相应的处理即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jamin_Ye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值