目前微服务大行其道,各种中台应运而生,中台处理部分业务时需要透传请求,这就涉及到对url的处理。一般透传的接口都会保持path路径不变,因此需要从前端的url中提取公共部分。这就需要理解Context Path、servlet path、path info,目前servlet提供了对应的方法去方便获取它们。不过这3个到底对应url中的那一段,还是需要好好研究一下,不然很可能得到错误的url。
可以肯定的是 request uri = Context Path + servlet path + path info
There is one context per “web application” per Java Virtual Machine. (A “web application” is a collection of servlets and content installed under a specific subset of the server’s URL namespace such as
/catalog
and possibly installed via a.war
file.)
上述是tomcat中ServletContext类注释的一部分,文中表示Context代表一个app,对应以前一个war包或者一个spring boot开发的一个微服务。
- 如果是以前的war包,那么Context-Path就是以前war包解压后的目录名。
- 如果是现在流行的,使用spring boot开发的应用(内嵌tomcat)。那么Context-Path由配置项server.servlet.context-path决定。如果不配置的话,默认为空;那么request uri = servlet path + path info。
待续
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)