當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringMVC基础配置与简单的SpringMVC的程序
生活随笔
收集整理的這篇文章主要介紹了
SpringMVC基础配置与简单的SpringMVC的程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SpringMVC
SpringMVC技術架構圖
基礎配置(代碼中有詳細的基礎配置使用的注解和標簽的解釋)
搭建maven項目
POM
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.fs</groupId><artifactId>day01_SpringMVC_HelloWorld</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><!-- 版本鎖定--><properties><spring.version>5.1.9.RELEASE</spring.version></properties><dependencies><!-- spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><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><!-- servlet3.0規范的坐標 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--jsp坐標--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency></dependencies><build><plugins><!--tomcat插件--><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>82</port><path>/</path> <!-- 配置tomcat插件編碼,因為請求的數據會經過tomcat.所以在tomcat也要設置一下編碼--><uriEncoding>UTF-8</uriEncoding></configuration></plugin></plugins></build> </project>Web.xml
<?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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"> <!-- springMVC程序啟動流程1.tomcat啟動首先加載web.xml 2.保證DispatcherServlet能夠正常加載配置文件 3.spring配置文件必須掃描有spring注解的的包 --><!-- 配置調度服務器(前端控制器),配置后就能夠去調度controller中的路徑--> <servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param> <!-- 初始化DispatcherServlet, 初始化springIOC容器,讀取類路徑下的spring-mvc.xml配置文件,掃描controller注解下的RequestMapping的路徑--><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param> <!-- 配置load-on-startup元素表示這個servlet應該是 在啟動時加載(實例化并調用其init()) 的web應用程序。--><load-on-startup>1</load-on-startup> </servlet><!--配置請求調度服務--><servlet-mapping> <!-- 配置調度服務--><servlet-name>dispatcherServlet</servlet-name><!--在spring中, / /*/ : 匹配所有的請求/* :匹配所有的請求,controller響應的結果頁面,都是以文本顯示,不會做任何的渲染頁面,包括jsp頁面*/--><url-pattern>/</url-pattern></servlet-mapping><!-- 配置過濾器,來解決post請求亂碼問題--><filter><filter-name>characterEncodingFilter</filter-name> <!-- 加載spring提供的過濾器--><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 設置過濾器中的屬性值--><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!-- 啟動過濾器--><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><!-- 過濾所有請求--><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping> </web-app>spring-mvc.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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 設置掃描spring注解的包--><context:component-scan base-package="com.fs.springmvc"> <!-- 配置這個包下類為@Controller注解修飾的類交給spring管理--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 靜態資源加載,核心控制器攔截的是所有請求,需要對靜態資源請求進行放行,通過配置放行資源實現下面這個配置是可以放行所有的普通資源調用讓springMVC不處理靜態資源,如 .css .js .html .MP3 等--><mvc:default-servlet-handler/><!-- 配置注解驅動的Spring MVC控制器編程模型. 一、mvc:annotation-driven的作用 Spring 3.0.x中使用了mvc:annotation-driven后,默認會幫我們注冊默認處理請求,參數和返回值的類,其中最主要的兩個類:DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter ,分別為HandlerMapping的實現類和HandlerAdapter的實現類,從3.1.x版本開始對應實現類改為了RequestMappingHandlerMapping和RequestMappingHandlerAdapter。HandlerMapping的實現類的作用 實現類RequestMappingHandlerMapping,它會處理@RequestMapping 注解,并將其注冊到請求映射表中。HandlerAdapter的實現類的作用 實現類RequestMappingHandlerAdapter,則是處理請求的適配器,確定調用哪個類的哪個方法,并且構造方法參數,返回值。當配置了mvc:annotation-driven/后,Spring就知道了我們啟用注解驅動。然后Spring通過context:component-scan/標簽的配置,會自動為我們將掃描到的@Component,@Controller,@Service,@Repository等注解標記的組件注冊到工廠中,來處理我們的請求。 --><mvc:annotation-driven/><!-- 配置視圖解析器,并交給spring管理--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 視圖解析前綴--><property name="prefix" value="/WEB-INF/pages/"/> <!-- 視圖解析后綴--><property name="suffix" value=".jsp"/></bean></beans>controller
HelloWorld
package com.fs.springmvc.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;@Controller @RequestMapping("/hello") public class HelloWorld {@RequestMapping("/world")public String helloWorld(){System.out.println("HelloWorld");return "success";} }index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>springMVC入門案列</title> </head> <body> <h3>入門案列</h3> <%--${pageContext.request.contextPath}要web.xml高版本才支持--%> <a href="${pageContext.request.contextPath}/hello/world">點擊入門進入HelloWorld的世界</a> </body> </html>success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>HelloWorld</title> </head> <body> <img src="/img/logo.png"> <h1>你好啊,這是你的第一個SpringMVC程序</h1> </body> </html>運行結果
總結
以上是生活随笔為你收集整理的SpringMVC基础配置与简单的SpringMVC的程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring模板对象之RedisTemp
- 下一篇: SpringMVC的请求参数,类型转换器