我目前正在尝试将项目从传统的Tomcat转移到Spring boot 2。webapp/WEB-INF/web.xml
中的原始设置如下:
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>*.jhtml</url-pattern>
<url-pattern>*.json</url-pattern>
<url-pattern>*.ac</url-pattern>
</servlet-mapping>
在我的控制器中,代码如下:
@RequestMapping("login")
public String entryLogin(HttpServletRequest request, Model model, String from) {
它的作用是当我们访问http://www.example.com/login.jhtml
时,它将使用此控制器。
我知道我无法再在web.xml
以上使用,但是我也不想更改我现有的控制器代码,因为我可以通过任何方式设置Spring boot application.properties
文件来实现完全相同的功能效果?
我尝试了
server.contextPath=/something
但是不知道是否应该使用/something/*.jhtml
吗?
顺便说一句,我正在使用nginx作为反向代理,是否可以使用nginx设置去除后缀?
upstream application {
server 127.0.0.1:8090 max_fails=1 fail_timeout=60s;
}
location ~ \.(csv|json|jhtml|jsp|action|ac)$ {
proxy_pass http://application;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}