當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringMVC基础配置与简单的SpringMVC的程序
生活随笔
收集整理的這篇文章主要介紹了
SpringMVC基础配置与简单的SpringMVC的程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SpringMVC
SpringMVC技術(shù)架構(gòu)圖
基礎(chǔ)配置(代碼中有詳細(xì)的基礎(chǔ)配置使用的注解和標(biāo)簽的解釋)
搭建maven項(xiàng)目
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規(guī)范的坐標(biāo) --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--jsp坐標(biāo)--><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插件編碼,因?yàn)檎埱蟮臄?shù)據(jù)會經(jīng)過tomcat.所以在tomcat也要設(shè)置一下編碼--><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注解的的包 --><!-- 配置調(diào)度服務(wù)器(前端控制器),配置后就能夠去調(diào)度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元素表示這個(gè)servlet應(yīng)該是 在啟動時(shí)加載(實(shí)例化并調(diào)用其init()) 的web應(yīng)用程序。--><load-on-startup>1</load-on-startup> </servlet><!--配置請求調(diào)度服務(wù)--><servlet-mapping> <!-- 配置調(diào)度服務(wù)--><servlet-name>dispatcherServlet</servlet-name><!--在spring中, / /*/ : 匹配所有的請求/* :匹配所有的請求,controller響應(yīng)的結(jié)果頁面,都是以文本顯示,不會做任何的渲染頁面,包括jsp頁面*/--><url-pattern>/</url-pattern></servlet-mapping><!-- 配置過濾器,來解決post請求亂碼問題--><filter><filter-name>characterEncodingFilter</filter-name> <!-- 加載spring提供的過濾器--><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 設(shè)置過濾器中的屬性值--><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"><!-- 設(shè)置掃描spring注解的包--><context:component-scan base-package="com.fs.springmvc"> <!-- 配置這個(gè)包下類為@Controller注解修飾的類交給spring管理--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 靜態(tài)資源加載,核心控制器攔截的是所有請求,需要對靜態(tài)資源請求進(jìn)行放行,通過配置放行資源實(shí)現(xiàn)下面這個(gè)配置是可以放行所有的普通資源調(diào)用讓springMVC不處理靜態(tài)資源,如 .css .js .html .MP3 等--><mvc:default-servlet-handler/><!-- 配置注解驅(qū)動的Spring MVC控制器編程模型. 一、mvc:annotation-driven的作用 Spring 3.0.x中使用了mvc:annotation-driven后,默認(rèn)會幫我們注冊默認(rèn)處理請求,參數(shù)和返回值的類,其中最主要的兩個(gè)類:DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter ,分別為HandlerMapping的實(shí)現(xiàn)類和HandlerAdapter的實(shí)現(xiàn)類,從3.1.x版本開始對應(yīng)實(shí)現(xiàn)類改為了RequestMappingHandlerMapping和RequestMappingHandlerAdapter。HandlerMapping的實(shí)現(xiàn)類的作用 實(shí)現(xiàn)類RequestMappingHandlerMapping,它會處理@RequestMapping 注解,并將其注冊到請求映射表中。HandlerAdapter的實(shí)現(xiàn)類的作用 實(shí)現(xiàn)類RequestMappingHandlerAdapter,則是處理請求的適配器,確定調(diào)用哪個(gè)類的哪個(gè)方法,并且構(gòu)造方法參數(shù),返回值。當(dāng)配置了mvc:annotation-driven/后,Spring就知道了我們啟用注解驅(qū)動。然后Spring通過context:component-scan/標(biāo)簽的配置,會自動為我們將掃描到的@Component,@Controller,@Service,@Repository等注解標(biāo)記的組件注冊到工廠中,來處理我們的請求。 --><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">點(diǎn)擊入門進(jìn)入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>你好啊,這是你的第一個(gè)SpringMVC程序</h1> </body> </html>運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的SpringMVC基础配置与简单的SpringMVC的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring模板对象之RedisTemp
- 下一篇: SpringMVC的请求参数,类型转换器