springboot容器

嵌入式

springboot默认使用嵌入式的tomcat,依赖spring-boot-starter-web默认引入的是tomcat的jar包。

修改servlet相关配置:server.port=8888; server.xxx=...;

修改tomcat位置:server.tomcat.xx=xxx

嵌入式容器三大组件注册

嵌入式tomcatspringboot项目没有web.xml,无法在配置文件web.xml中配置三大组件,使用配置类来代替web.xml的配置作用。

1. 创建自己的三大组件

2. 将三大组件分别通过ServletRegistrationBeanFilterRegistrationBeanServletListenerRegistrationBean 件自定义组件注册并使用@Bean加入容器中。通过对应的xxxRegistrationBean可设置相应的参数,如初始化参数、启动顺序等等。

springboot帮我们自动注册了springMvc的前端控制器:DispatchServlet。默认拦截 “/” 所有请求,包括静态资源,但不包括jsp,可以通过spring.mvc.servlet.path=/mas来改变拦截路径。

# 输出中文异常
server.tomcat.uri-encoding=utf-8
server.servlet.encoding.force=true
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true

嵌入式容器切换

可切换jetty(适合长时间连接,如聊天..)、underTow(不支持jsp)。

将spring-boot-starter-web中的tomcat相关jar包排除,引入对应容器的jar包即可。

使用外部容器

1. 创建springboot应用,选择war包方式;

2. 创建好的工程默认没有webapp文件夹,需手动创建webapp、WEB-INF文件夹和web.xml文件,也可使用项目信息功能创建。

3. 配置外置tomcat并将项目部署其中,ApplicationContext定义部署项目应用名,完成后即可。

此时在配置文件中使用server.servlet.context-path=xx来改变应用名不会生效(这是内置tomcat的修改方式)。

配置视图的前后缀:

 spring.mvc.view.prefix=/WEB-INF/
        spring.mvc.view.suffix=.jsp

使用外置tomcat后,可在web.xml中正常配置三大组件。

除了主程序类,还多了一个ServletInitializer.java类(类名无所谓),继承SpringBootServletInitializer并重写configure方法,同时传入主程序类。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值