1. 程式人生 > 其它 >SpringMVC框架(一)SpringMVC快速入門

SpringMVC框架(一)SpringMVC快速入門

SpringMVC快速入門

SpringMVC

Spring MVC是Spring Framework的一部分,是基於Java實現MVC的輕量級Web框架。

Spring MVC的特點:

1. 輕量級,簡單易學
2. 高效 , 基於請求響應的MVC框架
3. 與Spring相容性好,無縫結合
4. 約定優於配置
5. 功能強大:RESTful、資料驗證、格式化、本地化、主題等
6. 簡潔靈活

SpringMVC快速入門

一、新建一個Moudle,右鍵新增框架支援,點選Web應用程式

二、新增依賴

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>
<!--SpringMVC依賴-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.1.9.RELEASE</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

三、配置web/WEB-INF目錄下web.xml , 註冊DispatcherServlet

<!--配置DispatchServlet:這個是SpringMVC的核心,請求分發器和前端控制器-->
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--DispatcherServlet:要繫結Spring的配置檔案-->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    <!--啟動級別-->
    <load-on-startup>1</load-on-startup>
</servlet>
<!--
    在SpringMVC中 / 跟 /* 的區別
    /:只匹配所有的請求,不會去匹配jsp的頁面
    /*:匹配所有的請求,包括jsp頁面
-->
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

四、在resources目錄下編寫SpringMVC的配置檔案!名稱:springmvc-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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--處理器對映器-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--處理器介面卡-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--新增檢視解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <!--字首-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--字尾-->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

五、編寫Controller,要麼實現Controller介面,要麼增加註解;返回ModelAndView,裝資料,封檢視;

package com.study.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView mv = new ModelAndView();
        //封裝物件,放在ModelAndView中。Model
        mv.addObject("msg","HelloSpringMVC!");
        //封裝要跳轉的檢視,放在ModelAndView中
        mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
        return mv;
    }
}

六、在springmvc-servlet.xml中註冊bean

<!--BeanNameUrlHandlerMapping:bean-->
<bean id="/hello" class="com.study.controller.HelloController"/>

七、在web/WEB-INF/jsp目錄下新建hello.jsp,${msg}接收資料

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

八、部署tomcat

九、執行tomcat,跳出頁面

十、在後面輸入hello

可能遇到的問題:訪問出現404,排查步驟:
1. 檢視控制檯輸出,看一下是不是缺少了什麼jar包。
2. 如果jar包存在,顯示無法輸出,就在IDEA的專案釋出中,新增lib依賴!
3. 重啟Tomcat 即可解決!