JavaEE_Filter基本使用_javaee中filter 的用法

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

$Title$ <%-- 写一个登录页面--%> 账号: 密码:


<?xml version="1.0" encoding="UTF-8"?>

<servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>controller.LoginController</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>
<filter>
    <filter-name>filter</filter-name>
    <filter-class>filter.FilterOne</filter-class>
</filter>
<filter-mapping>
    <filter-name>filter</filter-name>
    <url-pattern>/login</url-pattern>
</filter-mapping>


//该代码是普通filter类
package filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class FilterOne extends HttpFilter {
protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println(“我是Filter 找我干嘛”);
//区别于上述的doFilter方法
chain.doFilter(request,response);//表示放行
}
}



//该代码是普通servlet类
package controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class LoginController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(“我是servlet 找我干嘛”);
//1接收信息
//2.找业务层做事
//3.转发给jsp
request.getRequestDispatcher(“welcome.jsp”).forward(request,response);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
}



<%@ page contentType="text/html;charset=UT

必看视频!获取2024年最新Java开发全套学习资料 备注Java

F-8" language=“java” %>

Title 这里是欢迎页面

运行效果:  
 (控制台:)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210506162932693.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ3NDcxMzg1,size_16,color_FFFFFF,t_70#pic_center)  
 (浏览器)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210506163000438.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ3NDcxMzg1,size_16,color_FFFFFF,t_70#pic_center)总结Filter从浏览器到服务器的流程图如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210506163247353.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ3NDcxMzg1,size_16,color_FFFFFF,t_70#pic_center)


* 从代码和流程图来看:似乎Filter可以替代Servlet,功能上完全可以提到。
* 从使用上貌似不行:  
 1)现实生活中,目标是真正做事的,过滤器负责拦截的。  
 2)目标是做一件事情的,过滤器好多请求都会经过。  
 3)过滤器可以在目标前做点事情,目标之后还会做点事情。






### 最后

一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。

这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。

![image](https://img-blog.csdnimg.cn/img_convert/da199e851bca7368455a74c9564326a5.webp?x-oss-process=image/format,png)

> 请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

[外链图片转存中...(img-Nn5s7zFS-1716450175403)]

> 请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值