在使用ssm时启动我们一般使用tomcat服务器去启动,但是springboot中我们并没有配置tomcat,但是工程却能启动,这是什么原因呢?
1.首先我们创建一个springboot工程,并选择web
2.打开pom.xml文件
可以看到我们在pom.xml文件中配置了web启动器
3.打开maven查看依赖
在Dependencied目录下我们可以看到这里有内置tomcat容器,也就是说刚才的坐标会把tomcat自动导入。这个tomcat不是本地的,这是依赖进来的。
现在我们要来配置内置tomcat,假如我们现在想要修改服务器的端口和上下文路径
打开resources目录下可以发现application.properties文件
这个文件是工程创建时被自动创建出来的
现在在application.properties中修改一些配置
#修改服务器端口号
server.port=8081
#修改上下文路径
server.servlet.context-path=/javaboy
添加HelloController类
package org.javaboy.tomcat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("hello")
public String hello() {
return "hello springboot!";
}
}
然后我们再次启动,可以发现控制台出给出信息:
可以看出端口和上下文路径都被修改了,如果现在再去访问8080端口肯定报错404.
现在访问路径:http://localhost:8081/javaboy/hello
控制类中的信息被成功返回
除了可以配置tomcat的端口和上下文路径还可以配置tomcat的编码方式:
#配置 Tomcat URL 编码
server.tomcat.uri-encoding=UTF-8
如果服务器出现乱码问题,可能是tomcat的编码格式没有被设置。