<!--引入父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> </parent> <dependencies> <!--SpringBoot web启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
1.2. 编写Servlet代码:java
@WebServlet(name = "firstServlet",urlPatterns = "/firstServlet") //urlPatterns:访问路径 public class firstServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("进来了firstServlet"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); }
1.3. 编写启动类
建立springboot启动类
代码:web
@SpringBootApplication //在spring boot启动时会扫描@WebServlet注解,并建立该类的实例 @ServletComponentScan public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
注意:在启动类上须要加上@ServletComponentScan注解 意思是:在启动时扫描@WebServlet注解 ,建立Servlet的实例spring
1.4. 运行启动类 ,在浏览器输入localhost:8080/firstServlet
控制台输出信息
浏览器
@SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } //添加一个方法,方法名无要求,必须返回ServletRegistrationBean。注册Servlet对象 @Bean //主键等价于<bean>标签 public ServletRegistrationBean<SecondServlet> getServletRegistrationBean(){ ServletRegistrationBean<SecondServlet> bean= new ServletRegistrationBean<SecondServlet>(new SecondServlet(),"/SecondServlet"); return bean; } }
@WebFilter(filterName = "firstFilter", urlPatterns = "/firstFilter") public class firstFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("----进入FirstFilter-----"); chain.doFilter(request, response);//放行 System.out.println("----离开FirstFilter-----"); } }
@SpringBootApplication //在spring boot启动时会扫描@WebServlet @WebFilter @WebListener注解,并建立该类的实例 @ServletComponentScan public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
运行启动类,在浏览器输入 localhost:8080/firstFilter
这里报404是由于没有写放行后的路径;springboot
控制台打印信息:
app
@SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } //添加一个方法 @Bean public FilterRegistrationBean<SecondFilter> getFilterRegistrationBean(){ FilterRegistrationBean<SecondFilter> bean= new FilterRegistrationBean<SecondFilter>(new SecondFilter()); bean.addUrlPatterns("*.do","*.jsp","/SecondFilter"); //以.do , .jsp , SecondFilter结尾路径的都会进到过滤器 return bean; } }
@WebListener() public class firstListener implements ServletContextListener{ //监听application对象的建立 @Override public void contextInitialized(ServletContextEvent sce) { System.out.println("-----------application对象建立-----------------"); } }
@SpringBootApplication @ServletComponentScan //在spring boot启动时会扫描@WebServlet @WebFilter @WebListener注解,并建立该类的实例 public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
代码同样 省略代码 直接上代码webapp
@SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } @Bean public ServletListenerRegistrationBean<firstListener> getServletListenerRegistrationBean(){ ServletListenerRegistrationBean<firstListener> bean= new ServletListenerRegistrationBean<firstListener>(new firstListener()); return bean; } }
1.在src/main 下建立一个webapp的目录(目录名称必须为webapp)
在webapp下建立不一样目录存放不一样的静态资源,如:images 放图片 .
2. 运行启动类访问 直接访问资源路径
jsp
在src/main/resources下建立一个static的目录(目录名称必须为static)
在static下建立不一样目录存放不一样的静态资源,如:images 放图片 .
2. 运行启动类访问浏览器 直接访问资源路径
maven
以上就是本教程的相关内容,感谢观看,转载请注明出处ide