使用带有静态HTML页面的Spring Boot + MVC玩耍,同时注意到这件事:
首先,我有:
索引控制器:
@Controller
public class IndexController {
@RequestMapping("/")
public String index() {
return "index.html";
}
@RequestMapping("/{path:[^\\.]+}/**")
public String forward() {
return "forward:/";
}
}
HTML文件是:...\src\main\resources\static\index.html
因此,当我的主要应用程序类是:
@SpringBootApplication
public class MyApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
一切正常,在默认路径下:localhost:8080\
我得到index.html
页面内容
但是如果我用 @EnableWebMvc
@SpringBootApplication
@EnableWebMvc
public class MyApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
我得到异常:javax.servlet.ServletException: Could not resolve view with name 'index.html' in servlet with name 'dispatcherServlet'
但是根据这个Spring文档,这是一个有效的配置。
也许有人可以解释我为什么?我了解不对吗?
根据spring-boot的文档
自动配置在Spring的默认值之上添加了以下功能:
- 静态
index.html
支持。
…
如果您想保留Spring Boot
MVC功能,并且只想添加其他MVC配置(拦截器,格式化程序,视图控制器等),则可以添加自己@Configuration
的type类
WebMvcConfigurerAdapter
,但 不添加
@EnableWebMvc
。如果您希望提供的自定义实例RequestMappingHandlerMapping
,
RequestMappingHandlerAdapter
或者ExceptionHandlerExceptionResolver
可以声明一个WebMvcRegistrationsAdapter
提供此类组件的实例。
因此,通过添加@EnableWebMvc
您只需禁用对您的spring-boot自动配置。即静态index.html
支持。
问题内容: 我一直在尝试导入以下Web服务:http : //soap.genome.jp/KEGG.wsdl和$ {JAVA_HOME} / bin / wsimport: 但出现以下错误: 问题是来自WSDL还是来自wsimport的实现?我应该使用其他工具吗? 谢谢 皮埃尔 问题答案: 我从此错误报告中发现了(显然是)解决方法:https : //netbeans.org/bugzilla/
我正试图通过MoneySend API在万事达卡的沙箱上提出付款请求。下面是C#的示例代码,也可以在这里找到 问题陈述: 完全异常: mastercard.core.exceptions.apiExceptions:无法解析远程名称:“sandbox.api.mastercard.com”-->system.net.webException:无法解析远程名称:“sandbox.api.master
这样的问题已经问过好几次了,我明白为什么会发生,大概除了重试,我们对此无能为力。 我有一个关于名称解析的问题。 我使用的是3.5.NET的AWS.NET SDK。我正在上传一个大文件(>500MB到1.5GB,医学图像)。我调用方法。 错误发生在大约250MB上载完成后。 这是实际的例外
我的第一个应用程序有问题。我试着几个小时来解决这个问题。知道吗?? 类型异常报告 消息无法解析名为的servlet中名为“home”的视图 说明服务器遇到意外情况,无法完成请求。 例外情况 javax.servlet.ServletException:无法解析名为“dispatcher”的servlet中名为“home”的视图(dispatcher servlet.java:1251)org.sp
我正在使用Client编写一个Eureka客户端应用程序。这是我的POM 如您所见,我使用的是spring boot版本
问题内容: 从DateTimeFormatter javadoc: 区域名称:时区名称(’z’)无法解析。 因此,时区解析如下: 在Joda中无法完成: 问题答案: 我认为原因是“ z”时区名称是常规名称(不是标准化的)且模棱两可;也就是说,根据您的原籍国,它们的含义不同。例如,“ PST”可以是“太平洋标准时间”或“巴基斯坦标准时间”。 如果您有兴趣,此站点上列出了大量时区名称。发现存在歧义的情
包含瓷砖定义的“general.xml”: 例外情况: dispatcher-servlet.xml: web.xml