Spring Boot 2 Servlet映射URL模式

时间:2018-08-25 13:02:50

标签: java spring-boot nginx

我目前正在尝试将项目从传统的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;
}

0 个答案:

没有答案