【发布时间】:2015-05-28 16:59:04
【问题描述】:
我正在尝试构建一个 RESTful Web 服务。我按照 spring.io 的说明进行了“hello project”(localhost:8080/greeting)的工作。 PS:我用的是Maven项目。该项目已经在 Github 上发布:https://github.com/Tommzy/OutlierDemo/
但是,当我试图让 spring mvc 解决我的一个视图 (.jsp) 时。据说
白标错误页面
这个应用程序没有明确的 /error 映射,所以你看到 这是一个后备。
2015 年 3 月 25 日星期三 01:31:04 EDT 出现意外错误(type=Not 找到,状态=404)。没有可用的消息
我不确定为什么总是会发生这种情况,因为我已经有一个如下配置文件。
@Configuration
@EnableWebMvc
@ComponentScan(basePackages="config")
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
我项目的整个目录树是:
src-main|- java |- config |- WebConfig.java
|- hello |- Application.java
|- Greeting.java
|- GreetingController.java
|- PMethodController.java
|- webapp |- WEB-INF |- views |- pmethod.jsp
|- web.xml
我从朋友那里复制了 web.xml。该文件在他的项目上运行良好。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>mvc-Dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>config</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>mvc-Dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
</web-app>
还有我的 PMethodController.java:
@Controller
public class PMethodController {
@RequestMapping("/method1")
public String handleRequest() {
return "pmethod";
}
}
我的应用程序.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
取决于以上所有,如果我运行项目然后输入http://localhost:8080/method1 它会在页面顶部向我显示 Whitelabel 错误页面。
【问题讨论】:
-
你可以使用
"org.springframework.web.servlet.view.InternalResourceViewResolver"作为你的viewResolver,Check this out
标签: java spring jsp spring-mvc view