admin 1 year ago
parent
commit
8814674506

+ 16 - 0
servletSpringBoot/src/main/java/org/example/Main.java

@@ -0,0 +1,16 @@
+package org.example;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+
+@SpringBootApplication
+@ServletComponentScan(basePackages = {"org.example"})
+public class Main {
+    public static void main(String[] args){
+        SpringApplication.run(Main.class, args);
+    }
+}
+
+// http://127.0.0.1:8080/myServlet

+ 33 - 0
servletSpringBoot/src/main/java/org/example/MyFilter.java

@@ -0,0 +1,33 @@
+package org.example;
+
+import org.springframework.core.annotation.Order;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import java.io.IOException;
+
+@Order(1)//多个filter的时候,该序号越小,越早执行
+@WebFilter(filterName = "FirstFilter", urlPatterns = "/*")//url过滤配置,并非包配置
+public class MyFilter implements Filter {
+
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+        //这里写init逻辑,该init将在服务器启动时调用
+    }
+
+    @Override
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException, IOException {
+        //request处理逻辑
+        //request在封装逻辑
+        //chain重新写回request和response
+        System.out.println("Filtered");
+        request.setCharacterEncoding("UTF-8");
+        response.setCharacterEncoding("UTF-8");
+        chain.doFilter(request, response);
+    }
+
+    @Override
+    public void destroy() {
+        //这里写destroy逻辑,该destroy逻辑将在服务器关闭时调用
+    }
+}

+ 22 - 0
servletSpringBoot/src/main/java/org/example/MyListener.java

@@ -0,0 +1,22 @@
+package org.example;
+
+import javax.servlet.ServletRequestEvent;
+import javax.servlet.ServletRequestListener;
+import javax.servlet.annotation.WebListener;
+
+@WebListener
+public class MyListener implements ServletRequestListener {
+
+    @Override
+    public void requestDestroyed(ServletRequestEvent sre) {
+        System.out.println(" request监听器:销毁");
+    }
+
+    @Override
+    public void requestInitialized(ServletRequestEvent sre) {
+        System.out.println(" request监听器:可以在这里记录访问次数哦");
+        System.out.println(sre.getServletRequest().getAttributeNames());
+    }
+
+}
+

+ 24 - 0
servletSpringBoot/src/main/java/org/example/MyServlet.java

@@ -0,0 +1,24 @@
+package org.example;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@WebServlet(name = "MyServlet",urlPatterns = "/myServlet")//表示请求路径
+public class MyServlet extends HttpServlet {
+    @Override
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, IOException {
+        resp.getWriter().println("MyServlet");
+        resp.getWriter().flush();
+        resp.getWriter().close();
+
+    }
+
+    @Override
+    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        super.doPost(req, resp);
+    }
+}