------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑-------------
注解的基礎我不再多啰嗦,百度一搜很多,很詳細啊,我就講一下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("/通路位址")這個中填的通路位址