我收到一条错误,上面写着"请求的资源不可用",尽管似乎所有的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
答案 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>
区别在于属性名称值。