您好,登錄后才能下訂單哦!
1.三層架構:表現層(SpringMvc),業務層(Spring),持久層(Mybatis)
所以簡單來說SpringMvc所干的事就是關于:
請求參數
響應結果
2.SpringMvc是基于MVC設計模型
M:model模型 如: javaBean
V:view視圖如: jsp
C:controller控制器 如: Servlet
3.SpringMVC和struts2的異同:(面試可能會被問道)
共同點:
他們都是表現層的MVC模型框架來寫的
他們得分底層都離不開ServletAPI
他們處理請求的機制都是一個核心控制器(SpringMvc是Servlet實現的Struts2是Filter實現的)
異同點:
SpringMVC的入口是Servlet,而Struts2是Filter(過濾器);
SpringMVC是基于方法實設計的,而struts2是基于類來設計的,Struts2每次執行都會去創建一個動作類,所以SpringMVC效率會比Struts2快一些。
SpringMVC使用更加簡潔,同時還支持JSR303,處理ajax更加方便
Struts2的OGNL表達式是頁面的開發效率相比SpringMVC更高一些,但執行效率并沒有比JSTL提升,尤其是Struts2的表單標簽,遠沒有html執行效率高
1.選擇Maven工程的webapp模板,這里就不說啦,嘻嘻,提醒一點:
加上archetypeCatalog :internal會解決項目加載較慢的問題
2.補全目錄:
3.導入依賴:
UTF-8
1.8
1.8
5.1.3.RELEASE
org.springframework
spring-context
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.apache.tomcat
servlet-api
6.0.29
org.apache.tomcat
jsp-api
6.0.29
4.在web.xml配置前端控制器
Archetype Created Web Application
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
dispatcherServlet
/
5.創建一個springmvc.xml的配置文件放在resources下
6.配置tomcat,把項目加載進來
鄭州婦科醫院 http://www.120zzkd.com/
我編寫一個index.jsp頁面,當我點擊標簽的時候,我就跳轉到某個Controller的某個方法里面去執行功能,執行完就跳轉到success.jsp頁面
1.首先我寫了這個Controller類中的一個方法
2.我在index.jsp中寫一個標簽
入門程序
當我點擊的時候跳轉到sayhello()這個方法里面
2.1
首先我要把HelloController這個類變成一個對象啊,那我借助于spring的配置文件來進行,在類上加一個@Controller,此時借助于我們剛才的springmvc.xml來掃描這個包,進而創建Spring容器,創建HelloController對象。
2.2
命名空間:
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/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
開啟掃描
2.3
此時你是否注意到sayhello()方法上的注解@RequestMapping("/hello")呢?
它又是什么作用呢?
它用于建立請求URL和處理請求方法之間的聯系:
有了它入門程序前端控制器就可以通過處理器映射器找到HelloController下的sayhello()方法了。
2.4
為什么你的返回值是“success”呢,我之前說過等執行完就可以跳轉到success.jsp,可是怎么跳轉呢?這個SpringMvc的視圖解析器就已經幫我們解決了
在springmvc.xml中配置視圖解析器:
路徑名有了,后綴名也有了,我只需要提供一個jsp的名稱就好了,而sayhello()方法的返回值默認為路徑的名稱,這樣我就可以執行完跳轉到success.jsp頁面了。
2.5
可是在我的代碼中可以看到HelloController這個類上也有@RequestMapping(path = “/user”),難道類上也可以加這個注解???
YES!在類上加注解就相當于一級路徑,所以jsp中的訪問路徑:
入門程序
2.6
SpringMvc框架就是各個組件構成的,這樣更加靈活。
SpringMvc的各個組件中,處理器映射器,處理器適配器,視圖解析器稱為SpringMvc的三大組件,上一張老師的圖吧
但是從這張圖中我們可以看出來,還有其他的組件在發揮作用了呀,
當才視圖適配器就進行配置,讓起生效,為什么不配置處理映射器和處理器適配器呀?
上代碼,hhhhhhhhhhhhhhh
是開啟SpringMvc的注解配置,它默認為映射器,適配器進行了配置,也就是說這行代碼讓映射器,適配器也生效了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。