这里所谓的默认首页,是指在访问项目根目录时(如 http://localhost:8080/zhx-web/ )展示的页面,通过在web.xml里配置 <welcome-file-list> 实现。分静态页面和动态页面两种:
对于静态页面,只需要在web.xml里添加如下内容即可。这时访问上述链接时得到的就是download.jsp页面的静态内容
<welcome-file-list> <welcome-file>/WEB-INF/views/download.jsp</welcome-file> </welcome-file-list>
对于动态页面(如展示访问servlet后返回数据的页面),可做如下配置,这时访问上述链接时就相当于是访问download这个servlet。
<servlet> <servlet-name>springmvc</servlet-name> /* a */ <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> /* b */ <url-pattern>/download</url-pattern> /* c */ </servlet-mapping> <welcome-file-list> <welcome-file>download</welcome-file> /* d */ </welcome-file-list>
需要注意的是:
1、上述注释中 b出的servlet-name必须是前面已有的某个servlet,如a处;
2、c、d两处须“一样”(除了/),此外,在工程中必须有Controller匹配"download"并进行处理(对Spring MVC而言,其他类似)。如
@RequestMapping(value = "/download", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") public String downloadApk(HttpServletRequest request, HttpServletResponse response, ModelMap model) { List<HashMap<String, String>> res = utilService.getApksInfo(); model.addAttribute("apk", res); model.addAttribute("apkNum", res.size()); return "download"; }
3、d处表示让用户在访问上述链接时默认按访问download处理,而c表示访问download时交给b指定的springmvc这个servlet处理
原文:http://www.cnblogs.com/z-sm/p/4887609.html