javascript
【SpringMVC 之应用篇】 1_SpringMVC入门 —— 第一个 Spring MVC 程序
第一個 Spring MVC 程序
一、配置文件類
在創建Spring MVC的時候,最基礎的就是3個配置文件
pom.xml
pom.xml 就是導入依賴
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.5.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.0</version></dependency></dependencies>web.xml
這個 xml 文件是 idea 創建的時候自動給創建的
<servlet-class> 標簽下的 DispatcherServlet 指的就是 前端控制器
<servlet-mapping> 這個標簽是一個映射關系, 使URL映射到類servlet-class所指定的類中!
servlet 和 servlet-mapping 都含有 <servlet-name> 主要原因是想通過servlet-name作為紐帶,將servlet-class和url-pattern構成聯系,使URL映射到類servlet-class所指定的類中!
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-config</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><!-- 開啟注解掃描 --></web-app>springmvc-config.xml
這個配置文件只要自己載入的
InternalResourceViewResolver 該類表示一個視圖解析器
suffix 和 prefix 的作用分辨是限定加載的文件后綴名和文件所在目錄
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd "><!--開啟注解掃描--><context:component-scan base-package="controller"/><!--開啟視圖解析器--><bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--限定文件后綴名--><property name="suffix" value=".jsp"/><!--文件所在的目錄,找這個路徑下的文件--><property name="prefix" value="/WEB-INF/pages"/></bean><!--開啟springmvc框架注解支持--><mvc:annotation-driven/> </beans>二、寫兩個前端頁面實現跳轉功能
index.jsp
主頁
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <body> <a href="/hello">開始跳轉</a> </body> </html>succes.jsp
跳轉之后的頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <h1>跳轉成功吧</h1> </body> </html>三、寫一個控制器控制跳轉
@RequestMapping 指的是接收某個請求之后就進入 toSuccess 方法
@Controller 是一個標記式注解,表示該類是一個 控制器 ,用于被掃描
@Controller public class HelloController {@RequestMapping(path = "/hello")public String toSuccess(){System.out.println("成功跳轉到success頁面");return "/success";} }四、總結整個流程
1 啟動服務器,加載一些配置文件
- DispatcherServlet 對象被創建
- springmvc-config 被夾在
- HelloController 創建成對象
2 發送請求,后臺處理請求
以上是第一個Spring MVC 內部運行的圖,它的順序是這樣的。在 index.jsp 頁面上得到一個 /hello 請求。由于在 web.xml 中設置了
<servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> ... <servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern> </servlet-mapping>也就是說,任何請求都要通過控制中心 DispatcherServlet 一方面找到對應請求的控制器中的方法讓他去執行,會返回 /success,以后一方面加載 InternalResourceViewResolver 視圖解析器, 使頁面跳轉到 success.jsp 頁面
總結
以上是生活随笔為你收集整理的【SpringMVC 之应用篇】 1_SpringMVC入门 —— 第一个 Spring MVC 程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode】376. 摆动序列(
- 下一篇: 【SpringMVC 之应用篇】 2_S