第一句话的老师的意思应该是:自定义的过滤器类应该实现javax.servlet包中的Filter(过滤器)接口。说过滤器对象Filter放置在javax.servlet包中也不能说错,学过java反射应该知道Class类,所有类都是Class类的实例对象。
第二句话 Servlet类通过继承HttpServlet类被声明为一个Servlet对象 老师的意思可能说的比较模糊:servlet的实例化是通过web容器启动的时候自动进行的,···
post get
现在servlet3.0都已经支持注解了,过滤器可以丝毫不用在web.xml里面配置,直接添加过滤器。
package com.cisdimes.servlets; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; @WebFilter(urlPatterns={"/*"}) public class SystemFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("开始过滤处理"); chain.doFilter(request, response); return; } @Override public void init(FilterConfig arg0) throws ServletException { System.out.println("开始过滤器初始化"); } }
这是web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>dynamicwebapp</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
想要过滤网页,应该是修改过滤规则为*.jsp或者*.html看你用的网页是什么,jsp就是前者,html就是后者
过滤器拦截请求和响应,以便查看、提取或以某种方式操作正在客户机和服务器之间交换的数据。
java是单继承的,不能同时继承2个类。
但是java可以多重继承。
举个栗子,有3个类 A,B,C ,如果C想继承A和B, 不可以写 c extends A,B。
但是可以间接继承 如: A extends B ,然后 C extends A ,这样C 就相当于继承了A ,B
不错不错