Java SpringMVC无法解析.jsp文件
我正在尝试构建一个RESTful Web服务。我遵循spring.io的说明,使“hello项目”(localhost:8080/greeting)能够正常工作。 PS:我使用了Maven项目。该项目已在Github上发布: 然而,当我试图让SpringMVC解析我的一个视图(.jsp)时。据说 白标错误页 此应用程序没有/error的显式映射,因此您可以看到 这是一种退路 2015年3月25日星期三01:31:04美国东部时间出现意外错误(类型=非 已找到,状态为404)。没有可用的消息 我不确定为什么总是发生这种情况,因为我已经有一个配置文件,如下所示Java SpringMVC无法解析.jsp文件,java,spring,jsp,spring-mvc,view,Java,Spring,Jsp,Spring Mvc,View,我正在尝试构建一个RESTful Web服务。我遵循spring.io的说明,使“hello项目”(localhost:8080/greeting)能够正常工作。 PS:我使用了Maven项目。该项目已在Github上发布: 然而,当我试图让SpringMVC解析我的一个视图(.jsp)时。据说 白标错误页 此应用程序没有/error的显式映射,因此您可以看到 这是一种退路 2015年3月25日星期三01:31:04美国东部时间出现意外错误(类型=非 已找到,状态为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>
My Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
如果我运行项目,然后键入
它将在页面顶部显示白标签错误页面 试试这个:
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
你会发现一个完整的,简单的 修复应用程序的一些想法:
- 删除WebConfig并将
粘贴到应用程序类中。因为你没有扫描那个包裹,所以它没有被抓到InternalResourceViewResolver
- 删除web.xml文件
“org.springframework.web.servlet.view.InternalResourceViewResolver”
作为您的viewResolver,您好!我尝试了您的代码,但是TemplateResolver无法导入到项目中。我正在从事一个maven项目,是否需要向pom.xml中添加更多内容才能使其正常工作?嘿,抱歉,添加了错误的代码,刚刚更新了新代码。检查一下,让我知道。你希望如此。让我查一查再给你回电话。耶!我刚刚在github上发布了我的项目,以下是链接:
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}