我正在尝试使用最简单的视图解析器和html创建gradle,spring boot和spring mvc的“ hello world”应用程序。
我从thymeleaf春季启动示例开始,我只是想删除thymeleaf,以使用纯html和InternalResourceViewResolver创建一个更简单的mvc应用程序。我要提供一个单独的greeting.html文件,它位于src
/ main / webapp / WEB-INF。当我运行应用程序时,我得到
No mapping found for HTTP request with URI [/WEB-INF/greeting.html] in DispatcherServlet with name 'dispatcherServlet'
这是一个常见的错误,网络上有很多答案,但似乎无济于事。
这是我的Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
这是我的GreetingController.java
@Controller
public class GreetingController {
@RequestMapping("/greeting")
public String greeting() {
return "greeting";
}
}
这是我的MvcConfiguration.java
@Configuration
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/");
resolver.setSuffix(".html");
return resolver;
}
}
我用 gradle bootRun
这是带有代码的仓库:https :
//github.com/driver-pete/spring-mvc-example
以下是一些线索:
我的假设是,调度程序servlet以某种方式配置为在/
*上使用,而不是像在这里和其他地方那样在
/上使用。但是我没有web.xml,所以这些建议在这里不适用。我看到很多示例,这些人如何以编程方式配置调度程序servlet,但我想使我的应用程序最少,并且我怀疑spring
boot应该可以正常配置它,因为它可以与thymeleaf正常工作。
您只需要启用默认的servlet,这是通过将以下内容添加到您的MvcConfiguration
:
@Configuration
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/");
resolver.setSuffix(".html");
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
从本质上讲,发生的事情是Spring不知道如何原生地处理此类内容(可以说是jsp),而这种配置就是告诉它将其委派给容器的方式。
我写了一个spring boot项目。它有三个文件。 appconfig.java HelloController.java 当我尝试运行它时,它出现了错误“没有为名为'DispatcherServlet中URI[/springc1_01/]的HTTP请求找到映射”。这是因为服务器没有找到控制器还是其他原因?THX.
我试图使"你好世界"应用与gradle,Spring引导和Springmvc与最简单的视图解析器和html。 我从thymeleaf spring启动示例开始,我只想删除thymeleaf,使用纯html和InternalResourceViewResolver创建一个更简单的mvc应用程序。我只有一句问候语。我想提供的html位于src/main/webapp/WEB-INF。当我运行应用程序时
我想配置文件中缺少一些东西,但我看不到。 当我放入浏览器-->localhost:8080/procura/notifications-->我在控制台中得到的是-->org.springframework.web.servlet.DispatcherServlet noHandlerFound警告:在名为“DispatcherServlet”的DispatcherServlet中没有找到URI[/
在学习Spring时,我试图运行Spring in Action的代码示例,但它向我展示了tomcat日志中提到的以下错误: 我正在尝试仅借助基于java的配置来配置spring。相同的代码如下所述: TestProjectInitializer.java WebConfig.java 根配置.java HomeController.java pom.xml web.xml 目录结构 请帮助我了解
我使用的是仅注释配置,服务器启动,但当我访问某个页面时,错误显示: 警告:在名为“org”的DispatcherServlet中,找不到URI为[/WEB-INF/view/main.jsp]的HTTP请求的映射。springframework。网状物servlet。调度员Servlet-d7259e' 控制器映射工作正常,但没有加载JSP页面。 我用的是Jetty 9.2.0。M0和Spring
很抱歉再次问这种问题,但我无法通过查看其他线程和Spring doc来解决我的问题。 我正在使用maven的3.1.0.RELEASE,并尝试使用注释和java配置。 以下是我的web.xml: 这是我的档案web-application-config.xml. 我有两个类。第一个配置视图解析器 第二个定义我的控制器: 根据我的配置,我想一切都应该指向我的home()函数。然而,事实并非如此,以下