1

我有控制器应该管理服务器上的所有请求:

@RequestMapping(value = "/**", produces = {"text/plain", "application/*"})
@Controller
public class HomeController {
...
}

我还有 xml 中的资源映射:

<mvc:resources location="/resources/" mapping="/assets/**"/>

Homecontroller 拦截对服务器的所有请求(包括到 /assets/** 的映射)。但是当客户端请求 CCS 文件时,服务器返回 406 错误(并且没有调用 Homecontroller 方法):

The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.

是否有机会修复 Spring 资源处理程序的顺序或修复 CSS 文件的响应,以便我可以从服务器手动返回它?

谢谢!

4

1 回答 1

1

我只是有同样的问题。它会导致错误的映射配置。在您的情况下,您应该使用

@RequestMapping(value = "/", produces = {"text/plain", "application/*"})
@Controller
public class HomeController {
...
}

而不是

@RequestMapping(value = "/**", produces = {"text/plain", "application/*"})
@Controller
public class HomeController {
...
}

就我而言,当我写的时候出现问题

@RequestMapping(name="/method", method=RequestMethod.GET)
public String myMethod(Model model){
...
}

代替

@RequestMapping(value="/method", method=RequestMethod.GET)
public String myMethod(Model model){
...
}

在所有情况下问题都是相同的 - 将所有请求重新映射到您的方法/控制器,以便将 css(js 或其他)静态文件重定向到您的代码。

于 2015-07-06T16:48:52.363 回答