利用maven開發springMVC項目(二)——框架配置

申明:主要內容來源於大神博客(使用IntelliJ IDEA開發SpringMVC網站(二)框架配置),我只是用eclipse本身練習使用,記錄下來也只是爲了學習使用,沒有任何的商業用途,侵權必刪。css

SpringMVC框架的配置html

進行第一個環境的配置說明,如今開發環境已經搭建好了,參見第一節,如今須要對框架作一個配置。html5

一、web.xml配置

打開src/main/webapp/WEB-INF下面的web.xml文件:java

修改web.xml文件的版本,讓其能夠支持更加高級的語法:jquery

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <display-name>SpringMVCBlog Web Application</display-name>

在web-app中配置一個Servlet:web

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <display-name>SpringMVCBlog Web Application</display-name>

    <!-- 配置一個Servlet -->
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- 攔截全部的請求 -->
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

而且爲了可以處理中文請求,咱們須要配置專門的Filter,用於避免在客戶端請求時出現亂碼的狀況,spring

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <display-name>SpringMVCBlog Web Application</display-name>

    <!-- 配置一個Servlet -->
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- 攔截全部的請求 -->
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

至此,web.xml配置已經完畢,在上面的配置中,咱們自定義了一個名爲mvc-dispatcherservlet。這個Servlet是咱們自定義的,所以在接下來中咱們須要配置咱們自定義的Servlet。bootstrap

二、配置xxx-servlet.xml

咱們須要在web.xml同級目錄中配置一個自定義的mvc-dispatcher-servlet.xml文件spring-mvc

mvc-dispatcher-servlet.xml配置文件的輸出以下,該配置主要負責控制網站的請求:服務器

也就是MVC模式中的C—controller

 所以咱們須要在對應的src/main/java目錄下面創建本身的包文件(com.hone.controller)

而且在裏面配置主要的controller文件。(mainController)

/**
 * MainController.java文件
 */
package com.hone.controller;

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

//採用註解的方式,能夠明確地定義該類爲處理請求的Controller類;
@Controller
public class MainController {
    
    // 用於定義一個請求映射,value爲請求的url,值爲 / 說明,該請求首頁請求,
    // method用以指定該請求類型,通常爲get和post;
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        return "index";            //此請求返回 index.jsp頁面
    }
}

 回到mvc-dispatcher-servlet.xml,進行相關配置。首先加入component-scan標籤,指明controller所在的包,並掃描其中的註解:

<?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:context="http://www.springframework.org/schema/context"
    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/context 
           http://www.springframework.org/schema/context/spring-context.xsd
           http://www.springframework.org/schema/mvc 
           http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <!--指明 controller 所在包,並掃描其中的註解 -->
    <context:component-scan base-package="com.hone.controller" />

再進行js、image、css等靜態資源訪問的相關配置,這樣,SpringMVC才能訪問網站內的靜態資源:

    <!-- 靜態資源(js、image等)的訪問 -->
    <mvc:default-servlet-handler />

再開啓springmvc註解模式,因爲咱們利用註解方法來進行相關定義,能夠省去不少的配置:

    <!-- 開啓註解 -->
    <mvc:annotation-driven />

再進行視圖解析器的相關配置:

<!--ViewResolver 視圖解析器 -->
    <!--用於支持Servlet、JSP視圖解析 -->
    <bean id="jspViewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>

 關於controller如何找到視圖文件,這裏須要詳細的說明。在 controller 的一個方法中,返回的字符串定義了所需訪問的jsp的名字(如上面的index)。在jspViewResolver中,有兩個屬性,一個是prefix,定義了所需訪問的文件路徑前綴,另外一是suffix,表示要訪問的文件的後綴,這裏爲 .jsp。那麼,若是返回字符串是 xxx ,SpringMVC就會找到 /WEB-INF/pages/xxx.jsp 文件。

 完成以上配置後,mvc-dispatcher-servlet.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:context="http://www.springframework.org/schema/context"
    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/context 
           http://www.springframework.org/schema/context/spring-context.xsd
           http://www.springframework.org/schema/mvc 
           http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <!--指明 controller 所在包,並掃描其中的註解 -->
    <context:component-scan base-package="com.hone.controller" />

    <!-- 靜態資源(js、image等)的訪問 -->
    <mvc:default-servlet-handler />

    <!-- 開啓註解 -->
    <mvc:annotation-driven />

    <!--ViewResolver 視圖解析器 -->
    <!--用於支持Servlet、JSP視圖解析 -->
    <bean id="jspViewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

咱們刪除 webapp 目錄下的 index.jsp 文件,在WEB-INF目錄下新建文件夾pages,再在pages目錄下新建 index.jsp,並修改成以下所示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3個meta標籤*必須*放在最前面,任何其餘內容都*必須*跟隨其後! -->
 <title>SpringMVC Blog 首頁</title>

    <!-- 新 Bootstrap 核心 CSS 文件 -->
 <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<h1>這裏是SpringMVC Blog首頁</h1>

<h3>出現此頁面,說明配置成功。</h3>

<!-- jQuery文件。務必在bootstrap.min.js 以前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>

三、將項目部署到服務器

 

 

相關文章
相關標籤/搜索