Springboot如何添加server.servlet.context-path相关使用

2023-03-01 17:03:12 server 添加 springboot

Springboot添加server.servlet.context-path

server.servlet.context-path配置的作用

定义: server.servlet.context-path= # Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。

  • server.servlet.context-path不配置时,默认为 / ,如:localhost:8080/xxxxxx
  • 当server.servlet.context-path有配置时,比如 /demo,此时的访问方式为localhost:8080/demo/xxxxxx

springboot 2.0变革后的配置区别

1、springboot 2.0之前,配置为 server.context-path

2、springboot 2.0之后,配置为 server.servlet.context-path

一个思考

原来的运营项目(已上线),配置文件添加 server.servlet.context-path 配置后,需要在thymleaf 中进行action请求的追加吗?

答案:不需要。

栗子:

前端页面采取fORM请求

<form th:action="@{/user/userLogin}" method="post" id="userLogin"></form>

action拦截接受方式

@Controller
@RequestMapping("/user")
public class LoginController {
 
@PostMapping("/userLogin")
public String userLogin(httpservletRequest request, Model model) {
    

原项目的基础上,追加一个配置

server:  port: 8080  servlet:    context-path: /demo

只需要再开始进入首页时,追加 localhost:8080/demo ,后续的thymleaf中的href和action等无需添加/demo 。

Springboot配置 server.servlet-path 和 server.context-path

server.context-path

设定应用的context-path.

根据 springboot版本context-path不同

  • 如果是springboot2.0以下,用配置​server.context-path=/demo
  • 如果是springboot2.0以上,用配置​server.servlet.context-path=/demo

server.servlet-path

  • 设定dispatcher servlet的监听路径,默认为: /

示例

  • 如果配置了server.servlet-path = /demo,访问路径就是Http://ip:port/demo/...
  • 不配置或server.servlet-path = /,访问路径就是http://ip:port/...

小拓展:

1.只配置了server.servlet-path = /demo,访问路径是http://ip:port/demo/...

2.如果使用的idea,只在Tomcat配置了 Application context了,访问路径是http://ip:port/test/...

3.如果使用的idea,已经在Tomcat配置了 Application context了(下图),也配置了server.servlet-path = /demo,访问路径是http://ip:port/test/demo/...

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章