天天看點

SSM-SpringMVC-14:SpringMVC中大話注解式開發基礎--嘔心瀝血版

 ------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑-------------

注解的基礎我不再多啰嗦,百度一搜很多,很詳細啊,我就講一下SpringMVC中的注解入門

通過注解的方式定義一個處理器,它的命名空間,以及他們的方法通路路徑,

@Contorller這個可以讓一個普通類不用繼承,不用實作任何東西就可以變成處理器,

簡單來說@Contorller讓你不用繼承遺産(extends),不用自己拼搏(implement),就可以處理很多事情了

隻需要在類上加上即可

/*注解定義處理器*/
@Controller      
public class MyAController { 

}      

呀,這個裡面怎麼沒有要實作的東西啊,我該怎麼做?

@ResquestMapping("/通路位址")

這個家夥,放在一個普普通通的方法上,沒有别人給他的參數,什麼他就成了能處理任務的處理方法了?

要不要這麼神奇,事實上就是這樣

/*注解定義通路此方法路徑*/
    @RequestMapping("/dotwo")
    public String doSecond() throws Exception {

        return "second";
    }

    /*注解定義通路此方法路徑*/
    @RequestMapping("/doindex")
    public String doIndex() throws Exception {

        return "index";
    }      

哇哦,這樣就可以通路了嗎?

錯它還需要和架構進行互動的一個老家夥,他叫什麼呢,就是context:component-scan包資源掃描器

下面我們就配置一道在核心配置檔案。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:mvc="http://www.springframework.org/schema/mvc"
       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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--包掃描器-->
    <context:component-scan base-package="cn.dawn.day10annotationcontroller"></context:component-scan>
    <!--視圖解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>      

改web.xml的引用的xml為此xml時候,你的輕裝小坦克-----處理器就可以執行了

需要注意的是,我的index.jsp和scond.jsp你有嗎?沒有的話,搞一個

通路路徑我給一下:http://ip位址:tomcat端口号/項目名/方法上@ResquestMapping("/通路位址")這個中填的通路位址

處理器中的處理方法啊,如果多個處理器中的方法上的注解中的通路位址沖突,互相影響了怎麼辦啊

小兵打架,打出麻煩,自己解決不掉,找自己的上司幫忙啊,是以處理方法解決不掉,處理器來啊

@RequestMapping("/通路位址")

同樣也可以用在處理器類上,這樣多了一級路徑,麻煩解決了

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Created by Dawn on 2018/3/24.
 */
/*注解定義處理器*/
@Controller
/*定義處理器通路路徑*/
@RequestMapping("/controller1")
public class MyAController {


    /*注解定義通路此方法路徑*/
    @RequestMapping("/dotwo")
    public String doSecond() throws Exception {

        return "second";
    }

    /*注解定義通路此方法路徑*/
    @RequestMapping("/doindex")
    public String doIndex() throws Exception {

        return "index";
    }
}      

通路路徑我再給一下:http://ip位址:tomcat端口号/項目名/處理器類上@ResquestMapping("/通路位址")這個中填的通路位址/方法上@ResquestMapping("/通路位址")這個中填的通路位址