<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<?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” %>
运行效果:
(控制台:)
![在这里插入图片描述](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个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析