springboot配置嵌入式servlet容器的方法
配置嵌入式Servlet容器
springboot默認(rèn)tomcat為嵌入式servlet容器,所以不用在配置tomcat。
1.如何定制修改servlet容器?
1.在applicatio.properties里修改和server有關(guān)的配置(推薦)
如:
server.tomcat server.tomcat.connection-timeout= 連接超時(shí)時(shí)間 server.tomcat.uri-encoding=UTF-8 修改編碼
server.servlet.XXX 通用servlet容器設(shè)置
server.tomcatXXX 一般是Tomcat的設(shè)置
2.通過代碼的方式修改配置
-編寫一個(gè)配置類 @Configuration 注解即可
-在里面添加一個(gè)ConfigurableServletWebServerFactory定制器
@Bean
public ConfigurableServletWebServerFactory configurableServletWebServerFactory(){
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();//這里是一個(gè)工廠
factory.setPort(8088);//修改端口號(hào)
//factory.setContextPath("/lanqiao518");
return factory;
}
-返回定制器,并注入到容器中 @Bean ,這個(gè)時(shí)候就配置好了
3.注冊(cè)Servlet三大組件(servlet、Listener【監(jiān)聽器】,Filter【過濾器】)
首先要自己寫一個(gè)類,分別實(shí)現(xiàn)三大組件自己的接口然后才能添加進(jìn)容器中
這里以servlet為例:

Servlet:
public class MyServlet extends HttpServlet {//寫好servlet下一步給他添加進(jìn)容器中
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8");
resp.getWriter().write("hello 你好");
}
}
listener:
public class Mylistener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("項(xiàng)目啟動(dòng)了————————————————————————");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("項(xiàng)目關(guān)閉了————————————————————————");
}
}
Filter:
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("MyFilter攔截了----------------------");
filterChain.doFilter(servletRequest,servletResponse);//然后放行
}
@Override
public void destroy() {
}
}
1.將自己寫的servlet注入容器:
@Configuration
public class MyServletConfig {
//將自己寫的servlet添加進(jìn)容器
@Bean
public ServletRegistrationBean myServlet(){
ServletRegistrationBean registrationBean=new ServletRegistrationBean(new MyServlet(),"/my");//將自己寫的servlet添加進(jìn)來,并給一個(gè)訪問路徑
return registrationBean;
}
}
2.將自己寫的Linstener注入容器
@Bean
public ServletListenerRegistrationBean myListener() {
ServletListenerRegistrationBean listenerRegistrationBean = new ServletListenerRegistrationBean(new Mylistener());//傳一個(gè)自己寫的監(jiān)聽器即可
return listenerRegistrationBean;
}
3.將自己寫的Filter注入容器
@Bean
public FilterRegistrationBean myFilter(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean(new MyFilter(),myServlet());//傳一個(gè)自己寫的Filter 和你要攔截的servlet 可以是多個(gè)
return filterRegistrationBean;
}
注意:注入時(shí)的名稱和自己編寫的類名一致

到此這篇關(guān)于springboot配置嵌入式servlet容器的方法的文章就介紹到這了,更多相關(guān)springboot嵌入式servlet容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)任務(wù)超時(shí)處理方法
任務(wù)超時(shí)處理是比較常見的需求,Java中對(duì)超時(shí)任務(wù)的處理有兩種方式,在文中給大家詳細(xì)介紹,本文重點(diǎn)給大家介紹Java實(shí)現(xiàn)任務(wù)超時(shí)處理方法,需要的朋友可以參考下2019-06-06
SpringBoot+Ant Design Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能方式
這篇文章主要介紹了SpringBoot+Ant Design Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
java實(shí)現(xiàn)求兩個(gè)字符串最長公共子串的方法
這篇文章主要介紹了java實(shí)現(xiàn)求兩個(gè)字符串最長公共子串的方法,是一道華為OJ上的一道題目,涉及Java針對(duì)字符串的遍歷、轉(zhuǎn)換及流程控制等技巧,需要的朋友可以參考下2015-12-12
Bean實(shí)例化之前修改BeanDefinition示例詳解
這篇文章主要為大家介紹了Bean實(shí)例化之前修改BeanDefinition示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Java_異常類(錯(cuò)誤和異常,兩者的區(qū)別介紹)
下面小編就為大家?guī)硪黄狫ava_異常類(錯(cuò)誤和異常,兩者的區(qū)別介紹) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
Mybatis日志參數(shù)快速替換占位符工具的詳細(xì)步驟
這篇文章主要介紹了Mybatis日志參數(shù)快速替換占位符工具的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
SpringBoot項(xiàng)目打成War布署在Tomcat的詳細(xì)步驟
這篇文章主要介紹了SpringBoot項(xiàng)目打成War布署在Tomcat,本文分步驟結(jié)合圖文實(shí)例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
Mybatis關(guān)聯(lián)查詢之一對(duì)多和多對(duì)一XML配置詳解
這篇文章主要介紹了Mybatis關(guān)聯(lián)查詢之一對(duì)多和多對(duì)一XML配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

