1. 程式人生 > >Springboot整合web開發

Springboot整合web開發

一,整合 Servlet
1,通過註解掃描完成 Servlet 元件的註冊
1.1 編寫 servlet

 1 /**
 2  * 
 3  * springboot整合servlet方式一
 4  * @author java
 5  *<servlet>
 6  *    <servlet-name>FirstServletController</servlet-name>
 7  *    <servlet-class>com.zzp.controller.FirstServletController</servlet-class>
8 *</servlet> 9 *<servlet-mapping> 10 * <servlet-name>FirstServletController</servlet-name> 11 * <url-pattern>/firstServlet</url-pattern> 12 *</servlet-mapping> 13 */ 14 @WebServlet(name="FirstServletController",urlPatterns="/firstServlet") 15 public class
FirstServletController extends HttpServlet{ 16 17 @Override 18 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 19 System.out.println("FirstServlet。。。。。。。。。。。。。"); 20 } 21 22 }

1.2 編寫啟動類

/**
 * 
 * springboot整合servlet方式一
 * 
@author java * */ @SpringBootApplication @ServletComponentScan//在servlet啟動時掃描@WebServlet這個註解 public class APP { public static void main(String[] args) { SpringApplication.run(APP.class, args); } }

2,通過方法完成 Servlet 元件的註冊

2.1 編寫 servlet

 1 /**
 2  * 
 3  * springboot整合servlet的方式二
 4  * 
 5  * @author java
 6  *
 7  */
 8 public class SecondServlet extends HttpServlet{
 9 
10     @Override
11     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
12         System.out.println("secondServlet.................");
13     }
14     
15 }

2.2 編寫啟動類

 1 /**
 2  * 
 3  * springboot整合servlet的第二種方式
 4  * 如果第二種方式啟動專案時,埠號被佔用了,
 5  * 則在在src->main->resources目錄下新建一個檔案,名稱為:application.properties
 6  * 設定埠號為server.port = 9527
 7  * @author java
 8  *
 9  */
10 @SpringBootApplication
11 public class AppSecond {
12 
13     public static void main(String[] args) {
14         SpringApplication.run(AppSecond.class, args);
15     }
16     
17     @Bean
18     public ServletRegistrationBean getServletRegistrationBean() {
19         ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
20         bean.addUrlMappings("/secondServlet");
21         return bean;
22     }
23 }

二,整合 Filter

1,通過註解掃描完成 Filter 元件的註冊
1.1 編寫Filter

 1 /**
 2  * 
 3  * 方式一:通過註解掃描完成filter元件的注入
 4  * <filter>
 5  *     <filter-name></filter-name>
 6  *     <filter-class></filter-class>
 7  * </filter>
 8  * <filter-mapping>
 9  *     <filter-name></filter-name>
10  *     <url-pattern></url-pattern>
11  * </filter-mapping>
12  * @author java
13  *
14  */
15 //@WebFilter(filterName="FirstFilter",urlPatterns={"*.do","*.jsp"})
16 @WebFilter(filterName="FirstFilter",urlPatterns="/firstServlet")
17 public class FirstFilter implements Filter{
18 
19     @Override
20     public void init(FilterConfig filterConfig) throws ServletException {
21         // TODO Auto-generated method stub
22         
23     }
24 
25     @Override
26     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
27             throws IOException, ServletException {
28         System.out.println("開始進入filter");
29         chain.doFilter(request, response);
30         System.out.println("離開filter");
31     }
32 
33     @Override
34     public void destroy() {
35         // TODO Auto-generated method stub
36         
37     }
38     
39 }
 1 /**
 2  * 
 3  * springboot整合servlet方式一
 4  * @author java
 5  *<servlet>
 6  *    <servlet-name>FirstServletController</servlet-name>
 7  *    <servlet-class>com.zzp.controller.FirstServletController</servlet-class>
 8  *</servlet>
 9  *<servlet-mapping>
10  *    <servlet-name>FirstServletController</servlet-name>
11  *    <url-pattern>/firstServlet</url-pattern>
12  *</servlet-mapping>
13  */
14 @WebServlet(name="FirstServletController",urlPatterns="/firstServlet")
15 public class FirstServletController extends HttpServlet{
16 
17     @Override
18     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {    
19         System.out.println("FirstServlet。。。。。。。。。。。。。");
20     }
21     
22 }

 

1.2 編寫啟動類

1 @SpringBootApplication
2 @ServletComponentScan
3 public class APP01 {
4 
5     public static void main(String[] args) {
6         SpringApplication.run(APP01.class, args);
7     }
8 }

2,通過方法完成 Filter 元件的註冊

2.1 編寫 Filter

 1 public class SecondFilter implements Filter{
 2 
 3     @Override
 4     public void init(FilterConfig filterConfig) throws ServletException {
 5         // TODO Auto-generated method stub
 6         
 7     }
 8 
 9     @Override
10     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
11             throws IOException, ServletException {
12         System.out.println("開始進入filter");
13         chain.doFilter(request, response);
14         System.out.println("離開filter");
15         
16     }
17 
18     @Override
19     public void destroy() {
20         // TODO Auto-generated method stub
21         
22     }
23 
24 }
 1 /**
 2  * 
 3  * springboot整合servlet的方式二
 4  * 
 5  * @author java
 6  *
 7  */
 8 public class SecondServlet extends HttpServlet{
 9 
10     @Override
11     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
12         System.out.println("secondServlet.................");
13     }
14     
15 }

2.2 編寫啟動類

 1 /**
 2  * 
 3  * springboot通過方法註冊filter的第二種方式
 4  * @author java
 5  *
 6  */
 7 @SpringBootApplication
 8 public class App02 {
 9 
10     public static void main(String[] args) {
11         SpringApplication.run(App02.class, args);
12     }
13     
14     @Bean
15     public ServletRegistrationBean getServletRegistrationBean() {
16         ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
17         bean.addUrlMappings("/secondServlet");
18         return bean;
19     }
20     
21     @Bean
22     public FilterRegistrationBean getFilterRegistrationBean() {
23         FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());
24         //bean.addUrlPatterns(new String[] {"*.do","*.jsp"});
25         bean.addUrlPatterns("/secondServlet");
26         return bean;
27     }
28 }