tomcat7及以上servelt为3.0,tomcat6 servlet版本为2.5,springboot项目内嵌tomcat支持的servlet为3.0
以上,如何在tomcat6中部署springboot?
做法:
pom文件:
1、2.0.4版本测试不可行,改成了1.5.8
如果还想本地调试则加上这句话 2、 org.springframework.boot spring-boot-starter-parent 1.5.8.RELEASE 3、 org.springframework.boot spring-boot-starter-tomcat 4、注释部分代码为移除内嵌的tomcat javax.servlet javax.servlet-api 3.1.0 provided 5、 org.springframework.boot spring-boot-starter-web 还有一个问题,springboot项目部署到tomcat之后,request.getParameter("DR");这种方式获取参数去不到了,经过调试发现通过x-www-form-urlencoded这种方式在postman中可以获取到,但是获取中文乱码,加上这句:request.setCharacterEncoding("utf-8"); 问题解决,跟form enctype属性设置有关,但是tomcat7,8部署之后通过form-data和x-www-form-urlencoded都能通过键值对的方式获取到,(还不知道为啥)。以上,问题解决,一个springboot项目可以在tomcat6中部署成功,request和response通过注解获取的,获取方式有很多,这种最简单,还有一个问题, org.springframework.boot spring-boot-legacy 1.1.0.RELEASE
response.reset(); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.print(resultsString); out.flush(); out.close();
response返回值得时候加上reset否则会提示response已被占用。