SpringBoot學習筆記之Servlet使用

Springboot Servlet註冊
1)、代碼註冊通過ServletRegistrationBean、 FilterRegistrationBean 和ServletListenerRegistrationBean 獲得控制
@Bean
public ServletRegistrationBean servletRegistrationBean() {
return new ServletRegistrationBean(new MyServlet(), "/xs/*");}

2)、在 SpringBootApplication 上使用@ServletComponentScan 註解後,Servlet、Filter、Listener 可以直接通過 @WebServlet、@WebFilter、@WebListener 註解自動註冊,無需其他代碼。

@SpringBootApplication
@ServletComponentScan
public class SpringBootSampleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootSampleApplication.class, args);
}
}


3)、Servlet需要繼承HttpServlet類
public class LiyjServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("this is liyjServlet doposet method");
PrintWriter pw = resp.getWriter();
pw.write("hello springboot servlet register by LiyjServlet");
pw.flush();
pw.close();
}

@Override
public void init() throws ServletException {
super.init();
}
}
/**
* 這裏是通過代碼的形式註冊一個Servlet,這種形式不需要@ServletComponentScan註解
*
* @return
*/
@Bean
public ServletRegistrationBean servletRegistrationBean(){
return new ServletRegistrationBean(new LiyjServlet(),"/web/*");
}
手動註冊一個servlet

/**
* 帶 @WebServlet註解的Servlet註冊需要@ServletComponentScan註解的掃描
*
*/
@WebServlet(urlPatterns="/jeff/*")
public class ShanServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("this is ShanServlet doposet method");
PrintWriter pw = resp.getWriter();
pw.write("hello springboot servlet register by ShanServlet");
pw.flush();
pw.close();
}

@Override
public void init() throws ServletException {
super.init();
}
}

filter測試類請看com.vk.liyj.filter.LiyjFilter
Listener測試類請看 com.vk.liyj.listener.LiyjListener

http://localhost:8080/web/jeff


源碼下載:http://download.csdn.net/download/liyuejin/9986140


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章