【发布时间】:2016-11-22 17:21:21
【问题描述】:
您好,我有一个简单的 Spring 应用程序:
WebConfig.java:
package spittr.web;
@Configuration
@EnableWebMvc
@ComponentScan("spittr.web")
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
}
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
registerForm.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf" %>
<%@ page session="false" contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Spittr</title>
<link rel="stylesheet" type="text/css"
href="<c:url value="/resources/style.css" />" >
</head>
<body>
<h1>registration</h1>
<sf:form method="POST" commandName="spitter" >
<sf:errors path="*" element="div" cssClass="errors" />
<sf:label path="firstName"
cssErrorClass="error">name</sf:label>:
<sf:input path="firstName" cssErrorClass="error" /><br/>
....
<input type="submit" value="register" />
</sf:form>
</body>
</html>
当我得到上面的注册表单时:
@RequestMapping(value="/register", method=GET)
public String showRegistrationForm(Model model) {
model.addAttribute("spitter", new Spitter());
return "registerForm";
}
CSS 文件未加载,我得到 JSP 页面,但没有 CSS 样式,并且在 Tomcat 控制台中出现错误:
127.0.0.1 - - [22/Nov/2016:18:04:48 +0100] "GET /Spittr-0.0.1-SNAPSHOT/resources/style.css HTTP/1.1" 405 1045强>
问题出在哪里? CSS 文件在路径 /Spittr-0.0.1-SNAPSHOT/resources/style.css 中,我指定了默认资源处理程序,那么为什么 JSP 页面无法获取此静态文件。
感谢您的任何建议:)
【问题讨论】:
标签: java spring jsp spring-mvc servlets