最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SSM設(shè)置歡迎頁的三種方式總結(jié)

 更新時間:2026年02月01日 11:12:02   作者:好好研究  
這篇文章主要介紹了SSM項目設(shè)置歡迎頁的三種方式:使用web.xml配置、使用SpringMVC-mvc:view-controller配置和使用SpringMVC-Controller配置,每種方式都有其適用場景、優(yōu)點和缺點,需要的朋友可以參考下

SSM項目設(shè)置歡迎頁

前期準(zhǔn)備

pom.xml文件引入Servlet和SpringMVC基礎(chǔ)依賴(保證項目能運行)

  <!-- 僅需引入Servlet和SpringMVC基礎(chǔ)依賴(保證項目能運行) -->
  <dependencies>
    <!--springmvc框架的核心依賴-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

web.xml文件添加前端控制器、監(jiān)聽器、過濾器(解決中文亂碼的問題)

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    version="3.1"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xml="http://www.w3.org/XML/1998/namespace"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <!--前端控制器-->
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--初始化參數(shù),加載springmvc.xml配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--啟動加載-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!--監(jiān)聽器-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <!--過濾器,解決中文亂碼的問題-->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

方式一:使用web.xml配置歡迎頁(最基礎(chǔ)且推薦)

使用web.xml配置歡迎頁是容器默認(rèn)方式。

配置代碼
src/main/webapp/WEB-INF/web.xml 下使用 <welcome-file-list> 標(biāo)簽配置歡迎頁

    <!-- 配置歡迎頁 -->
    <welcome-file-list>
        <welcome-file>index.html</welcome-file><!-- 先找這個 -->
        <welcome-file>index.jsp</welcome-file> <!-- 找不到再找這個 -->
        <welcome-file>index</welcome-file>     <!-- 最后找這個 -->
        <!--<welcome-file>WEB-INF/static/index.jsp</welcome-file>--><!-- × 錯誤寫法 -->
    </welcome-file-list>

訪問位置

注意:
1. 訪問的是 webapp 根目錄下的 index.jsp 歡迎頁,不是 static/WEB-INF/ 下的
2. 不需要編寫Controller層,不需要經(jīng)過 SpringMVC 的 DispatcherServlet,Tomcat會直接解析。

  1. 適用場景
    適合靜態(tài)的 HTML 或 JSP,且直接放在 webapp (或 WebContent) 根目錄下,沒有放在 WEB-INF 里。
  2. 注意事項
    1. web.xml配置中有文件查找順序
    2. DispatcherServlet影響:如果配置了 <url-pattern>/</url-pattern>,可能會攔截歡迎頁請求。需要配置靜態(tài)資源處理或使用 <mvc:default-servlet-handler/>
    3. 安全考慮:業(yè)務(wù)頁面建議放在 /WEB-INF/ 下,通過Controller訪問;靜態(tài)首頁可以放在webapp根目錄。

方式二:使用SpringMVC-mvc:view-controller配置歡迎頁

  1. 配置代碼
    1. pom.xml同前期準(zhǔn)備內(nèi)容一樣
    2. web.xml內(nèi)容同方式一中的內(nèi)容一樣,添加<welcome-file-list> 標(biāo)簽
    3. 在 src/main/webapp/WEB-INF/views/ 下使新建 index.jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h2>SpringMVC-mvc:view-controller配置歡迎頁</h2>
    <p>訪問路徑:WEB-INF/views/index.jsp</p>
</body>
</html>
  • src/main/resources/springmvc.xml 配置文件中配置歡迎頁
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 開啟mvc注解驅(qū)動 -->
    <mvc:annotation-driven/>

    <!-- 配置歡迎頁 -->
    <mvc:view-controller path="/" view-name="index"/>

    <!-- 配置視圖解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--頁面前綴-->
        <property name="prefix" value="/WEB-INF/views/"></property>
        <!--頁面后綴-->
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>

運行會發(fā)現(xiàn)依然找的是webapp根目錄下的index.jsp頁面。
問題:即使web.xml中沒有配置<welcome-file-list>,Tomcat容器本身有默認(rèn)的歡迎頁查找機制。當(dāng)訪問應(yīng)用根路徑時,Tomcat會按以下順序自動查找:
1. index.html
2. index.htm
3. index.jsp
這就是為什么你訪問根路徑時,還是看到了/webapp/index.jsp,而不是/WEB-INF/views/index.jsp。

  1. 解決問題
    1. 解決方法一:刪除webapp根目錄下的index.jsp頁面
    2. 解決方法二:添加跳轉(zhuǎn)頁面代碼
      1. 在 webapp根目錄下的index.jsp頁面中添加跳轉(zhuǎn)
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        // 自動跳轉(zhuǎn)到Spring MVC處理的首頁
        window.location.href = "${pageContext.request.contextPath}/index";
    </script>
</head>
<body>
<h2><%= "Hello World!" %></h2>
</body>
</html>

2. 將 src/main/resources/springmvc.xml  配置文件中的 

<mvc:view-controller path="/" view-name="index"/>
修改為(或添加)
<mvc:view-controller path="/index" view-name="index"/>
就訪問成功了

訪問位置
訪問 WEB-INF/views/index.jsp 頁面

  1. 適用場景
    頁面在 WEB-INF 下,但不需要執(zhí)行任何 Java 業(yè)務(wù)邏輯,只是單純的跳轉(zhuǎn)顯示。
  2. 注意事項
    由于Tomcat容器本身有默認(rèn)的歡迎頁查找機制,所有配置有些麻煩。

方式三:使用SpringMVC-Controller配置歡迎頁(最常用)

  1. 配置代碼
    1. pom.xml同前期準(zhǔn)備內(nèi)容一樣
    2. web.xml內(nèi)容同方式一中的內(nèi)容一樣,添加<welcome-file-list> 標(biāo)簽
    3. webapp根目錄下的index.jsp頁面中添加跳轉(zhuǎn),與方式二中解決問題方法二的代碼一樣
    4. 在 src/main/webapp/WEB-INF/views/ 下使新建 index.jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h2>SpringMVC-Controller配置歡迎頁</h2>
    <p>訪問路徑:WEB-INF/views/index.jsp</p>
</body>
</html>

src/main/resources/springmvc.xml 配置文件中配置歡迎頁內(nèi)容在方式二的基礎(chǔ)上添加掃描包代碼

<!-- 配置spring創(chuàng)建容器時要掃描的包 -->
<context:component-scan base-package="com.qcby"></context:component-scan>

在controller層

package com.qcby.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class WelcomeController {

    @RequestMapping("/")
    public String index(){
        return "index";
    }
}

訪問位置
訪問 WEB-INF/views/index.jsp 頁面

  1. 適用場景
    1. 頁面放在 WEB-INF 目錄下(最安全)
    2. 需要查詢數(shù)據(jù)、處理業(yè)務(wù)邏輯或使用模板引擎
    3. 通過SpringMVC攔截/請求并轉(zhuǎn)發(fā)到指定的視圖

總結(jié)

方式訪問路徑配置位置優(yōu)點缺點
方式一:web.xml歡迎頁webapp/index.jspwebapp根目錄簡單,快速無法使用Spring MVC功能
方式二:mvc:view-controllerWEB-INF/views/index.jspWEB-INF目錄安全,可通過Controller處理配置復(fù)雜,需要正確Spring MVC配置
方式三:ControllerWEB-INF/views/index.jspController轉(zhuǎn)發(fā)最靈活,可添加業(yè)務(wù)邏輯需要寫代碼

以上就是SSM設(shè)置歡迎頁的三種方式總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于SSM設(shè)置歡迎頁方式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring?Boot?中實現(xiàn)?WebSocket?集群思路詳解

    Spring?Boot?中實現(xiàn)?WebSocket?集群思路詳解

    本文介紹了如何在SpringBoot中實現(xiàn)WebSocket集群處理,解決了會話共享和消息同步問題,通過分布式存儲(Redis)和消息隊列(RedisPub/Sub)實現(xiàn)跨節(jié)點通信,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 基于微信簽名signature獲取(實例講解)

    基于微信簽名signature獲取(實例講解)

    下面就為大家?guī)硪黄谖⑿藕灻鹲ignature獲取(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Spring動態(tài)添加定時任務(wù)的實現(xiàn)思路

    Spring動態(tài)添加定時任務(wù)的實現(xiàn)思路

    這篇文章主要介紹了Spring動態(tài)添加定時任務(wù)的實現(xiàn)思路,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Java上傳文件FTP服務(wù)器代碼實例

    Java上傳文件FTP服務(wù)器代碼實例

    這篇文章主要介紹了Java上傳文件FTP服務(wù)器代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Windows 10上JDK環(huán)境安裝配置圖文教程

    Windows 10上JDK環(huán)境安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows 10上JDK環(huán)境安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Spring MVC如何設(shè)置響應(yīng)

    Spring MVC如何設(shè)置響應(yīng)

    本文介紹了如何在Spring框架中設(shè)置響應(yīng),并通過不同的注解返回靜態(tài)頁面、HTML片段和JSON數(shù)據(jù),此外,還講解了如何設(shè)置響應(yīng)的狀態(tài)碼和Header
    2025-01-01
  • SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn)

    SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn)

    本文主要介紹了SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Maven項目外部jar包導(dǎo)入的實現(xiàn)示例

    Maven項目外部jar包導(dǎo)入的實現(xiàn)示例

    在Maven項目里,我們經(jīng)常需要導(dǎo)入jar包依賴,本文主要介紹了Maven項目外部jar包導(dǎo)入的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Spring超詳細(xì)講解事務(wù)

    Spring超詳細(xì)講解事務(wù)

    Spring事務(wù)的本質(zhì)就是對數(shù)據(jù)庫事務(wù)的支持,沒有數(shù)據(jù)庫事務(wù),Spring是無法提供事務(wù)功能的。Spring只提供統(tǒng)一的事務(wù)管理接口,具體實現(xiàn)都是由數(shù)據(jù)庫自己實現(xiàn)的,Spring會在事務(wù)開始時,根據(jù)當(dāng)前設(shè)置的隔離級別,調(diào)整數(shù)據(jù)庫的隔離級別,由此保持一致
    2022-07-07
  • 基于swagger參數(shù)與實體中參數(shù)不一致的原因分析

    基于swagger參數(shù)與實體中參數(shù)不一致的原因分析

    這篇文章主要介紹了基于swagger參數(shù)與實體中參數(shù)不一致的原因分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

两当县| 西藏| 梧州市| 罗甸县| 冀州市| 新乡市| 新干县| 蓝田县| 井冈山市| 宽城| 三穗县| 永宁县| 海口市| 梁河县| 苗栗市| 海城市| 资兴市| 邹平县| 临泉县| 榆中县| 仙桃市| 安塞县| 定陶县| 武川县| 莒南县| 崇州市| 通化县| 宜都市| 兰州市| 镇赉县| 孟州市| 荔波县| 台北市| 连山| 邯郸市| 吕梁市| 伊金霍洛旗| 大连市| 淳安县| 密山市| 库伦旗|