一、问题描述
这里所谓的默认首页,是指在访问项目根目录时(如 http://localhost:8080/zhx-web/ )展示的页面,通过在web.xml里配置 实现。分静态页面和动态页面两种:
二、静态页面
对于静态页面,只需要在web.xml里添加如下内容即可。这时访问上述链接时得到的就是download.jsp页面的静态内容
/WEB-INF/views/download.jsp
三、动态页面
对于Servlet:
如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
对于动态页面(如展示访问servlet后返回数据的页面),可做如下配置,这时访问上述链接时就相当于是访问download这个servlet。
1
2 springmvc/* a */3 org.springframework.web.servlet.DispatcherServlet
4
5 contextConfigLocation
6 classpath:spring/springmvc-servlet.xml
7
8 1
9
10
11 springmvc
12 /
13
14
15 springmvc/* b */16 /download/* c */17
18
19 download/* d */20
上面的配置见名知意:
1、a处定义了一个名为springmvc的servlet
2、b、c 进行servlet映射配置,表示在访问/download这个路径时交由springmvc这个servlet处理
2、d处表示让用户在访问上述链接时默认按访问/download这个路径处理,即 http://localhost:8080/zhx-web/download
3、此外,在工程中必须有Controller匹配"download"并进行处理(对Spring MVC而言,其他类似)。如
@RequestMapping(value = "/download", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")publicString downloadApk(HttpServletRequest request, HttpServletResponse response, ModelMap model) {List> res =utilService.getApksInfo();
model.addAttribute("apk", res);
model.addAttribute("apkNum", res.size());return "download";
}