Filter

Filter

Listener

六十七 创建Http Filter

在这里插入图片描述
1.JavaWeb-过滤器
(1)Filter的基本功能是对Servlet容器调用Servlet的过程进行拦截,从而在Servlet进行响应处理的前后实现一些特殊的功能
(2)在Servlet API中定义了三个接口类来供开发人员编写Filter程序:Filter.FilterChain,FilterConfig
(3)Filter程序是一个实现了Filter接口的java类,与Servlet程序相似,它由Servlet容器进行调用和 执行
(4)Filter程序需要在web.xml文件中进行注册和设置它所能拦截的资源:Filter程序可以拦截Jsp,Servlet,静态图片文件和静态Htmlw文件
在这里插入图片描述
2.Filter:
Filter拦截的顺序和filtermapping在web.xml中的顺序有关
1)Filter是什么
JavaWeb的一个重要组件,可以对发送到Servlet的请求进行拦截,并对响应进行拦截。
Filter是实现了Filtere接口的Java类
Filter需要在web.xml文件中进行配置和映射

2)如何创建一个Filter,并跑起来
1.创建一个Filter类:实现FIlter接口
2.在web.xml进行注册和映射。其中url-pattern 指定该Filter可以拦截哪些资源,即通过哪些url访问到Filter
3)Filter 相关API:
1. init(filterConfig):类似于Servlet的init方法,在创建Filter对象后,立即被调用,且只被调用一次,Filter对象在Servlet容器加载当前WEB应用时被创建。该方法对当前的Filter进行初始化操作,Filter是单例的。
FilterConfig类似于ServletConfig
可以在web.xml文件中配置当前Filter的初始化参数,配置方式类似于Servlet

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.doFilter():真正Filter的逻辑代码需要编写在该方法中,每次拦截都会调用该方法。

    FIiterChain:Filter链,多个Filter可以构成一个filter链

–doFilter():把请求传给Filter链的下一个Filter.若当前Filter是Filter的最后的一个Filter,则把请求给目标Servlet.

–多个Filter拦截的顺序和配置的顺序有关,靠前的先被调用。

      3.destory();

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Login.jsp

在这里插入代码片
<form action="hello.jsp" method="post">
   username:<input type="text" name="username"/>
   password:<input type="password" name="passwprd"/>
   <input type="submit" value="submit"/>     
</form>

在这里插入图片描述
UserNameFilter
在这里插入图片描述

String initUser=filterConfig.getInitParameter("username");
String username=request.getParameter("username");
if(!initUsre.equals(username)){
     request.setAttribute("message","用户名不正确");
     request.getRequestDispatcher("/login.jsp").forward(request,response);
     return;
}
  chain.doFilter(request,response);

在这里插入图片描述

PasswordFilter
在这里插入图片描述

String initUser=filterConfig.getInitParameter("password");
String username=request.getParameter("password");
if(!initUsre.equals(username)){
     request.setAttribute("message","密码不正确");
     request.getRequestDispatcher("/login.jsp").forward(request,response);
     return;
}
  chain.doFilter(request,response);

在这里插入图片描述

hello.jsp
在这里插入图片描述

Hello:${param.username}
考虑可再生能源出力不确定性的商业园区用户需求响应策略(Matlab代码实现)内容概要:本文围绕“考虑可再生能源出力不确定性的商业园区用户需求响应策略”展开,结合Matlab代码实现,研究在可再生能源(如风电、光伏)出力具有不确定性的背景下,商业园区如何制定有效的需求响应策略以优化能源调度和提升系统经济性。文中可能涉及不确定性建模(如场景生成与缩减)、优化模型构建(如随机规划、鲁棒优化)以及需求响应机制设计(如价格型、激励型),并通过Matlab仿真验证所提策略的有效性。此外,文档还列举了大量相关的电力系统、综合能源系统优化调度案例与代码资源,涵盖微电网调度、储能配置、负荷预测等多个方向,形成一个完整的科研支持体系。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源系统规划与运行的工程技术人员。; 使用场景及目标:①学习如何建模可再生能源的不确定性并应用于需求响应优化;②掌握使用Matlab进行商业园区能源系统仿真与优化调度的方法;③复现论文结果或开展相关课题研究,提升科研效率与创新能力。; 阅读建议:建议结合文中提供的Matlab代码实例,逐步理解模型构建与求解过程,重点关注不确定性处理方法与需求响应机制的设计逻辑,同时可参考文档中列出的其他资源进行扩展学习与交叉验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值