过滤器的概述以及一些应用

当浏览器有一个请求的时候 。不管是请求html jsp servlet 我们都可以在请求到达之前就拦截。做统一的处理
当有返回的时候,在,到达浏览器之前。我们也可以拦截一下。 做你想要的处理

其实这个拦截器跟servlet 类似 也是由服务器自动调用。也是配置拦截的路径。

如何写一个filter

编写
1,实现接口 Filter 是 java.servlet的接口
2,要在web.xml中配置 和servlet类似 servlet-name 。。。。 都变成filter-name 与servlet区分

特点
3,接口中一共就三个方法 init 在服务器启动的时候用于初始化,对象被创建并且调用了这个方法。也是单例的。
4,主要的是dofilter 这个方法,在每次拦截的时候调用一次。 里面一共三个对象 req res 和 filterChain

应用
5,filterChain 的doFilter(req,res)把请求传给filter 链的下一个filter ,你过时最后一个就是执行了
6,如果是多个filter 拦截同一个路径,看filter-mapping 在web.xml中的配置先后,先配置,先执行。

这个filterchain 也就是doFilter 方法的递归调用,顺序就是递归的顺序

forward<> dispatcher一共是四种选项, request 直接请求 include 页面包含 error 也就是 diapatcher 可以配置多个。也就是多种多拦截

jsp中
<jsp:include page="/test.jsp"> include 可以拦截

/test.jsp error可以拦截

应用一:
可以禁用浏览器的缓存;
在dofilter 方法中
将response
setHeader

应用二:
跟上边类似,在request.setCharacterEncoding("utf-8);

应用三
校验有些页面需要校验登录
需要用
uncheckedurls , sessionkey 重定向的页面路径 /login/login.jsp

获取请求的路径
request.getRequestURL() 浏览器请求的路径
request.getRequestURI() /项目名/login/login.jsp
request.getServletPath() /login/login.jsp

在 filter的init 方法中 也就是在服务器启动的时候只获取这么一次。
getFilterConfig().getServletContext().getInitParameter("上面param-name中配置的”
把那三个都赋值filter的全局变量中。

第一判断是不是需要拦截 不写else 默认就是else
Arrays.asList(uncheckurls.split(",")) 这是一个 list
list.contains(url)就是我们getServletPath 就直接dofilter return;
到这证明需要拦截,看看session有没有
request.getSession().getAttribute(sessionkey) 如果是null就 response.sendRedirect(redirecturl); return;
到这证明session不是null
dofilter

Matlab基于粒子群优化算法及鲁棒MPPT控制器提高光伏并网的效率内容概要:本文围绕Matlab在电力系统优化与控制领域的应用展开,重点介绍了基于粒子群优化算法(PSO)和鲁棒MPPT控制器提升光伏并网效率的技术方案。通过Matlab代码实现,结合智能优化算法与先进控制策略,对光伏发电系统的最大功率点跟踪进行优化,有效提高了系统在不同光照条件下的能量转换效率和并网稳定性。同时,文档还涵盖了多种电力系统应用场景,如微电网调度、储能配置、鲁棒控制等,展示了Matlab在科研复现与工程仿真中的强大能力。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事新能源系统开发的工程师;尤其适合关注光伏并网技术、智能优化算法应用与MPPT控制策略研究的专业人士。; 使用场景及目标:①利用粒子群算法优化光伏系统MPPT控制器参数,提升动态响应速度与稳态精度;②研究鲁棒控制策略在光伏并网系统中的抗干扰能力;③复现已发表的高水平论文(如EI、SCI)中的仿真案例,支撑科研项目与学术写作。; 阅读建议:建议结合文中提供的Matlab代码与Simulink模型进行实践操作,重点关注算法实现细节与系统参数设置,同时参考链接中的完整资源下载以获取更多复现实例,加深对优化算法与控制系统设计的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值