请求的资源不可用。 Spring RequestMapping

时间:2014-12-07 13:33:29

标签: spring spring-mvc

我收到一条错误,上面写着"请求的资源不可用",尽管似乎所有的RequestMappings都没问题。你能帮我理解和解决问题吗?

控制器类

@Controller
@RequestMapping("/products")
public class ProductController {

    @Autowired
    private ProductService productService;

    @RequestMapping
    public String list(Model model) {

        model.addAttribute("products", productService.getAllProducts());

        return "products";
    }

    @RequestMapping("/all")
    public String allProducts(Model model) {

        model.addAttribute("products", productService.getAllProducts());

        return "products";
    }
}

如果输入// webstore / products,它可以正常工作。视图已正确解析,并显示页面。

但如果我输入// webstore / products / all并且发生错误:"请求的资源不可用"。

路径似乎有误:/webstore/products/WEB-INF/views/products.jsp

我认为它应该是:/webstore/WEB-INF/views/products.jsp

1 个答案:

答案 0 :(得分:0)

问题出在DispatcherServlet-context.xml配置文件中。 InternalResourceVierResolver是:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

应该是:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

区别在于属性名称值。