ssm学习:过滤器、批量删除记录操作以及权限管理

本文介绍了SSM框架中的过滤器技术,用于URL级别的权限控制和预处理用户请求。讲解了如何利用过滤器阻止未登录用户直接访问系统页面。此外,讨论了批量删除功能的实现,涉及数据处理和数据库操作。最后提到了权限管理,区分管理员和普通用户,并给出了在实际开发中的优化建议。
摘要由CSDN通过智能技术生成

前言

Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。在一个使用数据库管理用户数据的程序中,如果提供批量删除这样的功能,用户基于前端的操作,将操作的类型以及需要更改的数据信息传入到后端,这个过程可以视为对单独删除的一个扩充,而不同的是传递的参数不再只有一个,而是一个列表,具有标志性意义的一个列表。权限管理则是区分管理员以及普通用户的一个措施,可以说是最基本的功能之一了。

过滤器

过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。在未设计过滤器之前,在登陆的界面中输入其他操作的网址是可以直接跳过登陆操作进入到系统的。对于一个具备管理功能的系统来说,这样的设计明显是不合理的。在未登录之前需要禁止跳转到任何一个页面。就正常的理解而言,过滤器通过设置一系列的条件,控制用户操作的权限。
在实际的Java开发中,过滤器的基本结构已经是设置好的,可以直接使用。构建的过滤器一般有三个基本的方法:init()、doFilter()、destroy()。重写过滤器的doFilter(request,response,chain)方法。另外两个init()、destroy()方法一般不需要重写。在doFilter方法中进行过滤操作。常用代码有:获取请求、获取响应、获取session、放行。 剩下的代码就是根据session的属性进行过滤操作、设置编码格式等等了。

package com.zhongruan.filter;

import com.zhongruan.bean.User;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;


public class LoginFilter 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;
        HttpSession session=request.getSession();
        User user=(User) session.getAttribute("user");
        String uri=request.getRequestURI();
        System.out.println("uri-----"+uri);
        System.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值