springboot項目如何在tomcat6中部署成功


tomcat7及以上servelt為3.0,tomcat6  servlet版本為2.5,springboot項目內嵌tomcat支持的servlet為3.0

以上,如何在tomcat6中部署springboot?

做法:

pom文件:

1、2.0.4版本測試不可行,改成了1.5.8

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!--<version>2.0.4.RELEASE</version>-->
<version>1.5.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
如果還想本地調試則加上這句話
2、<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--<scope>provided</scope>-->
</dependency>
3、<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

4、注釋部分代碼為移除內嵌的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>-->
</dependency>
5、<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-legacy</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>

還有一個問題,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中部署成功,requestresponse通過注解獲取的,獲取方式有很多,這種最簡單,還有一個問題,
response.reset();
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(resultsString);
out.flush();
out.close();
response返回值得時候加上reset否則會提示response已被占用。
 
        




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM