1.mvc 配置
创建myMvcConfig配置类 实现WebMvcConfigurer接口
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/toLoginPage").setViewName("login");
registry.addViewController("/").setViewName("login");
registry.addViewController("/login.html").setViewName("login");
}
}
2. 自定义三大组件
1. 自定义servlet 继承httpServelt
@Component
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入doGet方法");
resp.getWriter().println("访问myServlet");
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入doPost方法");
}
}
2.自定义filter 实现Filter接口
@Component
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("过滤器---doFilter");
filterChain.doFilter(servletRequest, servletResponse);
}
}
3.自定义listenter 实现ServletContextListener接口
@Component
public class MyListenter implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("容器创建");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("容器销毁");
}
}
4.自定义myServlet配置类 将创建的组件加入到容器中
@Configuration
public class ServletConfig {
@Bean
public ServletRegistrationBean getServlet(MyServlet myServlet) {
ServletRegistrationBean servletRegistrationBean =
new ServletRegistrationBean(myServlet, "/myServlet");
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean getFilter(MyFilter filter) {
FilterRegistrationBean registrationBean = new FilterRegistrationBean(filter);
registrationBean.setUrlPatterns(Arrays.asList("/toLoginPage", "/myFilter"));
return registrationBean;
}
}