SpringBoot注入三大組間

//定義一個繼承HttpServlet的類,咱們要實現doGet和doPost方法java

public class myServlet extends HttpServlet {ide

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  doPost(req,resp);
}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    resp.getWriter().write("hello myservlet");
}

}.net

//httpServlet中定義了不少方法,我只取啦一小部分代碼 public abstract class HttpServlet extends GenericServlet {code

private static final long serialVersionUID = 1L;

private static final String METHOD_DELETE = "DELETE";

private static final String METHOD_HEAD = "HEAD";

private static final String METHOD_GET = "GET";

private static final String METHOD_OPTIONS = "OPTIONS";

private static final String METHOD_POST = "POST";

private static final String METHOD_PUT = "PUT";

private static final String METHOD_TRACE = "TRACE";

private static final String HEADER_IFMODSINCE = "If-Modified-Since";

private static final String HEADER_LASTMOD = "Last-Modified";

private static final String LSTRING_FILE = "javax.servlet.http.LocalStrings";

private static final ResourceBundle lStrings = ResourceBundle.getBundle("javax.servlet.http.LocalStrings");

public HttpServlet() {
}

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String protocol = req.getProtocol();
    String msg = lStrings.getString("http.method_get_not_supported");
    if (protocol.endsWith("1.1")) {
        resp.sendError(405, msg);
    } else {
        resp.sendError(400, msg);
    }

}

//定義一個類實現過濾器繼承

public class myFilter implements Filter {get

public void init(FilterConfig filterConfig) throws ServletException {

}


public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

    System.out.println("myFilter process");
    //放行
    filterChain.doFilter(servletRequest,servletResponse);
}

[@Override](https://my.oschina.net/u/1162528)
public void destroy() {

}

}servlet

//Filter是怎麼寫的it

public interface Filter {io

default void init(FilterConfig filterConfig) throws ServletException {

}ast

void doFilter(ServletRequest var1, ServletResponse var2, FilterChain var3) throws IOException, ServletException;


default void destroy() {

} }

//定義一個類實現servlet監聽器

public class myListener implements ServletContextListener {

public void contextDestroyed(ServletContextEvent sce) {

    System.out.println("contextIntialized ... close");
	
}

public void contextInitialized(ServletContextEvent sce) {

    System.out.println("contextInitialized is 啓動");
}

}

//ServletContextListener是怎麼寫的

public interface ServletContextListener extends EventListener {

default void contextInitialized(ServletContextEvent sce) {

}

default void contextDestroyed(ServletContextEvent sce) {
}

}

//看EventListener怎麼寫的

public interface EventListener {

}

//寫個配置類,將上面的注入到容器中注意@Configuration和Bean必須寫上

@Configuration

public class myServerConfig {

//注入三大組間 @Bean

public ServletRegistrationBean myserlet(){

ServletRegistrationBean registrationBean = new ServletRegistrationBean(new myServlet(),
          "/myservlet");
		  
  return registrationBean;

}

@Bean public FilterRegistrationBean myfilter(){

FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
   
   filterRegistrationBean.setFilter(new myFilter());
   
   filterRegistrationBean.setUrlPatterns(Arrays.asList("/hello","/myservlet"));
   
   return  filterRegistrationBean;

}

@Bean public ServletListenerRegistrationBean mylistener(){

ServletListenerRegistrationBean<myListener> servletListenerRegistrationBean =
	
  new ServletListenerRegistrationBean<>(new myListener());
  
    return  servletListenerRegistrationBean;

}

}

相關文章
相關標籤/搜索