首页 > 技术文章 > SpringMVC指定webapp的首页

deolin 2017-07-14 15:19 原文

webapp的首页指的是http://localhost:8080/

 

方法一

追加一个[/]URI的请求方法

@Controller
public class WelcomeController {

    @RequestMapping(value="/")
    public String welcome() {
        return "page";
    }

}

 

(其中(value="/")可以省略)

这个方法本质上就是为[/]URI指定了一个请求方法

 

方法二

DispatcherServlet的配置文件中追加映射

<mvc:view-controller path="/" view-name="page"/>

 

这个映射一旦追加,SpringMVC就不会去找自定义的请求方法了,而是直接结合视图解析器转发页面了,

这个映射相当与追加了一个 URI为[/]且只有return "page";一条语句 的请求方法。

 

方法三

web.xml中追加

    <welcome-file-list>
        <welcome-file>greeting</welcome-file>
    </welcome-file-list>

 

(注意greeting前面没有/)

 

这个方法是让http://localhost:8080/等价于http://localhost:8080/greeting

虽然浏览器地址栏显示的是http://localhost:8080/

但是请求已经通过SpringMVC去寻找@RequestMapping(value="/")这个控制器了

 

  方法三有个小小的问题,有些web容器默认是不允许指定welcome-file为Servlet的,如jetty,

  这样一来的话,需要修改web容器的配置文件。(jetty的解决方法

 

推荐阅读