当前位置: 首页 > 知识库问答 >
问题:

如何在WebApplicationInitializer.onStartup()中指定welcome-file-list

穆乐逸
2023-03-14
<web-app>  
   ...
   <welcome-file-list>  
     <welcome-file>home.html</welcome-file>  
   </welcome-file-list>  
</web-app>  

我们正计划使用spring框架,并使用java类进行应用程序配置。

class MyApplication extends WebApplicationInitializer {
    public void onStartUp(ServletContext context){
        ...
    }
}

如何在这个java类中指定welcome-file-list?

共有1个答案

顾亦
2023-03-14

在使用纯基于Java的配置开发Spring MVC应用程序时,我们可以通过使应用程序配置类扩展WebMvcConfigurerAdapter类来设置主页,并重写addViewControllers方法,在该方法中我们可以设置默认主页,如下所述。

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.myapp.controllers" })
public class ApplicationConfig extends WebMvcConfigurerAdapter {

  @Bean
  public InternalResourceViewResolver getViewResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setPrefix("/WEB-INF/view/");
    viewResolver.setSuffix(".jsp");
    return viewResolver;
  }

  @Override
  public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("home");
  }

}

它返回home.jsp视图,该视图可以用作主页。不需要创建自定义控制器逻辑来返回主页视图。

addViewControllers的JavaDoc方法表示-

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/index.html");
    }
@Controller
public class UserController {
    @RequestMapping(value = { "/" })
    public String homePage() {
        return "home";
    }
}
 类似资料:
  • 问题内容: 我正在加载在Apache服务器内置的OS X上托管的html文件,在该文件中,我链接到同一目录中的另一个html文件,如下所示: 这可行。但是(出于冗长的原因),我正在尝试使用file:方案,但是我什么都无法工作。这是我使用文件重写上面的行的方式: (192.168.1.57是我当前的IP地址) 将其更改为以下内容也不起作用: 但是找不到文件,应如何使用file:方案指定文件? 问题答

  • 我在redis stream文档中看到了这一点,它说: 是时候试着用消费者群体来阅读一些东西了: XREADGROUP回复与XREAD回复一样。请注意,尽管上面提供了一个组,但它声明我希望使用消费者组mygroup从流中读取数据,我是消费者Alice。每次使用者对使用者组执行操作时,都必须指定其名称,以便在组内唯一标识此使用者。 在上面的命令行中还有另一个非常重要的细节,在强制流选项之后,为密钥m

  • Welcome to the complete documentation for phpDocumentor. With these tutorials, guides and references we try to provide you with all the information that you need to optimally document your code and le

  • 问题内容: 在网络上快速搜索发现三个或四个变种人如何被指定和在。 指定JPA 2.1版的“正确”方式是什么? 我正在使用 问题答案: 根据官方文档,它必须是(像您的一样):

  • 通过调试,我发现fxmlloader.this.resources为null,这导致了NPE。起初我以为我只是给出了一个错误的文件路径,但请注意,这发生在ResourceBundle甚至尝试加载属性文件之前! 有什么办法可以解决这个问题,这样资源就可以加载了吗? 下面是我的档案。它们都在同一个目录中(为了简单起见,默认包)。 完整StackTrace:

  • 我正在尝试ng2-file-upload,问题是我不能设置自定义头。到目前为止我已经做到了 在upload-documents.component中