Java Web 設置默認首頁


一、問題描述

這里所謂的默認首頁,是指在訪問項目根目錄時(如 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:

如果某個Servlet的映射路徑僅僅為一個正斜杠(/),那么這個Servlet就成為當前Web應用程序的缺省Servlet。 

凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它們的訪問請求都將交給缺省Servlet處理,也就是說,缺省Servlet用於處理所有其他Servlet都不處理的訪問請求。

 

對於動態頁面(如展示訪問servlet后返回數據的頁面),可做如下配置,這時訪問上述鏈接時就相當於是訪問download這個servlet。

 1     <servlet>
 2         <servlet-name>springmvc</servlet-name> /* a */
 3         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4         <init-param>
 5             <param-name>contextConfigLocation</param-name>
 6             <param-value>classpath:spring/springmvc-servlet.xml</param-value>
 7         </init-param>
 8         <load-on-startup>1</load-on-startup>
 9     </servlet>
10     <servlet-mapping>
11         <servlet-name>springmvc</servlet-name>
12         <url-pattern>/</url-pattern>
13     </servlet-mapping>
14     <servlet-mapping>
15         <servlet-name>springmvc</servlet-name> /* b */
16         <url-pattern>/download</url-pattern> /* c */
17     </servlet-mapping>
18     <welcome-file-list>
19         <welcome-file>download</welcome-file> /* d */
20     </welcome-file-list>

上面的配置見名知意:

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")
    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";
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM