欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springMVC詳細(xì)介紹

 更新時(shí)間:2021年07月09日 15:02:36   作者:程序dunk  
下面小編就為大家?guī)硪黄赟pring MVC 詳細(xì)介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

springMVC簡(jiǎn)介

springMVC又 叫Spring web mvc。是Spring框架中的一部分,是Spring3.0后發(fā)布的。

SpringMVC框架的優(yōu)點(diǎn)

1、基于MVC架構(gòu)模式:MVC架構(gòu)模式

2、容易理解上手快,使用簡(jiǎn)單:可以開發(fā)一個(gè)注解的SpringMVC項(xiàng)目,SpringMVC也是輕量級(jí)的框架,jar包很小,不依賴特定的接口和類。

3、作為Spring的一部分,能夠使用Spring框架的IOC容器和Aop編程。方便整合Strtus、MyBatis、Hibernate、JPA等其他框架。

4、SpringMVC強(qiáng)化注解的使用,在控制器,Service、Dao都可以使用注解,方便靈活。使用@Controller創(chuàng)建對(duì)象容器,@Service創(chuàng)建業(yè)務(wù)對(duì)象,@AutoWired或者@Resource在控制器類中注入Service,Service類中注入Dao。

第一個(gè)SpringMVC程序

所謂SpringMVC注解式開發(fā)是指,在代碼中通過對(duì)類與方法的注解,便可以完成處理器在springMVC容器的注冊(cè)。注冊(cè)是開發(fā)的重點(diǎn)

步驟

第一步:創(chuàng)建maven-web項(xiàng)目

第二步:在pom.xml中添加依賴和插件

加入servlet、jsp、springmvc依賴

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <!--加入servlet依賴-->
    <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.2.1-b03</version>
        <scope>provided</scope>
    </dependency>
    <!--加入springMVC依賴-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.5.RELEASE</version>
    </dependency>
</dependencies>

加入插件

<resources>
    <resource>
        <directory>src/main/java</directory><!--所在的目錄-->
        <includes><!--包括目錄下的.properties,.xml 文件都會(huì)掃描到-->
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
</plugins>

第三步注冊(cè)中央調(diào)度器

中央調(diào)度器為一個(gè)Servlet,名稱為DispatcherServlet中央調(diào)度器的全限定性類名在導(dǎo)入的 Jar 文件 spring-webmvc-5.2.5.RELEASE.jar 的第一個(gè)包 org.springframework.web.servlet下可找到

<load-on-startup/>標(biāo)簽:

在<servlet/>中添加<load-on-startup/>的作用是,標(biāo)記是否在Web服務(wù)器(這里是Tomcat)啟動(dòng)時(shí)會(huì)創(chuàng)建這個(gè) Servlet 實(shí)例,即是否在 Web 服務(wù)器啟動(dòng)時(shí)調(diào)用執(zhí)行該 Servlet 的 init()方法,而不是在真正訪問時(shí)才創(chuàng)建。它的值必須是一個(gè)整數(shù)。

當(dāng)值大于等于 0 時(shí),表示容器在啟動(dòng)時(shí)就加載并初始化這個(gè) servlet,數(shù)值越小,該 Servlet的優(yōu)先級(jí)就越高,其被創(chuàng)建的也就越早;

當(dāng)值小于 0 或者沒有指定時(shí),則表示該 Servlet 在真正被使用時(shí)才會(huì)去創(chuàng)建。

當(dāng)值相同時(shí),容器會(huì)自己選擇創(chuàng)建順序。

<url-pattern/>標(biāo)簽:

可以寫為 / ,建議寫為*.do 的形式

配置文件的位置和名稱

注冊(cè)完畢后,可直接在服務(wù)器上發(fā)布運(yùn)行。此時(shí),訪問瀏覽器頁面,控制臺(tái)均會(huì)拋出FileNotFoundException 異常。即默認(rèn)要從項(xiàng)目根下的 WEB-INF 目錄下找名稱為 Servlet 名稱-servlet.xml 的配置文件。這里的“Servlet 名稱”指的是注冊(cè)中央調(diào)度器<servlet-name/>標(biāo)簽中指定的 Servlet 的 name 值。本例配置文件名為 springmvc-servlet.xml。

而一般情況下,配置文件是放在類路徑下的,即resources目錄下,所以在注冊(cè)中央調(diào)度器,需要為sprigMVC配置文件路徑

<!--配置springMVC核心容器對(duì)象DispatcherServlet-->
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationcontext-servlet.xml</param-value>
    </init-param>
    <!--在Tomcat啟動(dòng)后,創(chuàng)建servlet對(duì)象
    load-on-startup:表示Tomcat啟動(dòng)后創(chuàng)建對(duì)象的順序,它的值是整數(shù),數(shù)值越小,Tomcat創(chuàng)建對(duì)象的事件越早,大于等于0
    -->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!--可以寫為 / ,建議寫為*.do 的形式-->
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

第四步:創(chuàng)建springMVC配置文件

聲明組件掃描器

配置視圖解析器

SpringMVC 框架為了避免對(duì)于請(qǐng)求資源路徑與擴(kuò)展名上的冗余,在視圖解析器InternalResouceViewResolver 中引入了請(qǐng)求的前輟與后輟。而 ModelAndView 中只需給出要跳轉(zhuǎn)頁面的文件名即可,對(duì)于具體的文件路徑與文件擴(kuò)展名,視圖解析器會(huì)自動(dòng)完成拼接。

<?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"
       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">
    <!--開啟注解掃描-->
    <context:component-scan base-package="school.xauat"></context:component-scan>
    <!--配置視圖解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

第五步:創(chuàng)建Controller類

使用@Controller注解

使用@RequestMapping注解

@RequestMapping:(可以加載在類上面,也可以加載在方法上,若類和方法上都加的有,先訪問類,再訪問方法)

  • 設(shè)置請(qǐng)求映射,把請(qǐng)求和控制層中的方法設(shè)置映射關(guān)系
  • 當(dāng)請(qǐng)求路徑和@RequestMapping的value屬性值一樣時(shí),則該注解所標(biāo)注的方法即為處理請(qǐng)求的方法

method:用來設(shè)置請(qǐng)求方式,只有客戶端發(fā)送請(qǐng)求的方式和method的值一致,才能處理請(qǐng)求

請(qǐng)求方式:GET 查詢 POST 添加 PUT 修改 DELETE 刪除

params:用來設(shè)置客戶端傳到服務(wù)器的數(shù)據(jù),支持表達(dá)式

  • username:必須包含username參數(shù)
  • !username:不能包含username參數(shù)
  • username = admin :username必須等于admin
  • username != admin :username必須不等于admin

headers:用來設(shè)置請(qǐng)求頭信息,所發(fā)送的請(qǐng)求的請(qǐng)求頭信息一定要和headers屬性中所設(shè)置的一致

@Controller()
public class TestServlet {
    @RequestMapping(value = "/some.do")
    public ModelAndView doSome(){
        //表示本次請(qǐng)求的處理結(jié)果
        //Model:數(shù)據(jù),請(qǐng)求處理完成后,要顯示給用戶
        //View:視圖,比如jsp等
        ModelAndView mv = new ModelAndView();
        //添加數(shù)據(jù),底層執(zhí)行request.setRequestContext();
        mv.addObject("msg","歡迎使用SpringMVC做web項(xiàng)目");
        mv.addObject("fun","執(zhí)行doSome方法");
        //指定視圖,指定視圖的完整路徑
        //框架對(duì)視圖執(zhí)行forward操作
        mv.setViewName("show");
        return mv;
    }
}

第六步:創(chuàng)建主頁面和定義目標(biāo)頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="some.do">發(fā)起some.do的請(qǐng)求</a>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
SpringMVC的第一個(gè)項(xiàng)目
<h3>msg數(shù)據(jù):${msg}</h3><br/>
<h3>fun數(shù)據(jù):${fun}</h3>
</body>
</html>

使用SpringMVC框架web請(qǐng)求處理順序

總結(jié)

本篇文章就到這里了,希望可以幫助到你,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類

    springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類

    這篇文章主要介紹了springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java多維數(shù)組和Arrays類方法總結(jié)詳解

    Java多維數(shù)組和Arrays類方法總結(jié)詳解

    這篇文章主要介紹了Java多維數(shù)組和Arrays類方法總結(jié)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則示例詳解

    java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則示例詳解

    這篇文章主要為大家介紹了java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則的示例詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-10-10
  • springboot使用hibernate validation對(duì)參數(shù)校驗(yàn)的實(shí)現(xiàn)方法

    springboot使用hibernate validation對(duì)參數(shù)校驗(yàn)的實(shí)現(xiàn)方法

    這篇文章主要介紹了spring-boot 使用hibernate validation對(duì)參數(shù)進(jìn)行優(yōu)雅的校驗(yàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Spring Profiles使用方法詳解

    Spring Profiles使用方法詳解

    在你剛接觸SpringBoot的時(shí)候有沒有對(duì)它提供的Profile有些許不適應(yīng),經(jīng)過摸索后才領(lǐng)悟到它的強(qiáng)大。今天我就對(duì)Profile進(jìn)行一點(diǎn)歸納總結(jié),留作互聯(lián)網(wǎng)記憶
    2022-12-12
  • Spring MVC數(shù)據(jù)處理和亂碼問題詳解

    Spring MVC數(shù)據(jù)處理和亂碼問題詳解

    這篇文章主要給大家介紹了關(guān)于Spring MVC數(shù)據(jù)處理和亂碼問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 使用spring的IOC解決程序耦合的方法

    使用spring的IOC解決程序耦合的方法

    這篇文章主要介紹了使用spring的IOC解決程序耦合的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • idea添加數(shù)據(jù)庫圖文教程

    idea添加數(shù)據(jù)庫圖文教程

    這篇文章主要介紹了idea添加數(shù)據(jù)庫圖文教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 在CentOS系統(tǒng)中檢測(cè)Java安裝及運(yùn)行jar應(yīng)用的方法

    在CentOS系統(tǒng)中檢測(cè)Java安裝及運(yùn)行jar應(yīng)用的方法

    這篇文章主要介紹了在CentOS系統(tǒng)中檢測(cè)Java安裝及運(yùn)行jar應(yīng)用的方法,同樣適用于Fedora等其他RedHat系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • 接口隔離原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    接口隔離原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了接口隔離原則,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08

最新評(píng)論