注:本文只用註解來實現
springmvc各種流程圖流程圖(其他的各種流程圖)
jsp、xml、action彼此之間的關係,都如何使用
spring-mvc.xml如何配置,放在**?
action中如何**和重定向
action如何跳轉到jsp
如何處理ajax
如何給action做單元測試
springmvc各種流程圖流程圖(其他的各種流程圖)
網路上有各種流程圖的畫法,例如:
中的
中的
還有中的
怎麼說呢,這類流程圖很多,但是核心都是一樣的。
簡單描述就是:前端發起請求,springmvc的核心類dispatcherservlet攔截,然後跳轉到controller中,執行完成之後根據view控制器跳轉到前端。
jsp、xml、action彼此之間的關係,都如何使用
jsp通過url,例如」user/getuser」請求後台的action/controller,servlet攔截url,然後掃瞄所有的action及action中的方法上的註解是否有匹配的,一旦有匹配的,就執行該方法。如果沒有匹配的怎麼辦?action中的方法執行完了,return乙個字串,servlet啟動檢視控制器攔截,匹配到對應的頁面。
spring-mvc.xml如何配置,放在**?
前面的流程圖,jsp、xml和action之間的關係,全部要依靠xml檔案的配置
如何配置:
1、 web.xml配置dispatcherservlet
2、 spring-mvc.xml配置action/controller掃瞄位置
3、 spring-mvc.xml配置view控制器。
以上的配置就不詳細寫了,見springmvc配置流程
放在那裡?放**都沒關係,只要web.xml中配置好servlet預設初始化掃瞄的xml位置即可
以上配置完了就行了嗎?不行,既然用註解還需要注意以下幾點:
1、jsp如何寫url:例如「user/showuser」,user表示哪乙個action類,「showuser」表示action類中哪乙個方法。
2、action類、action方法上如何寫註解:
@controlleraction方法名上一行寫public
class useraction
action如何跳轉到jsp
記得spring-mvc.xml檔案中寫如下:
class="org.springframework.web.servlet.view.internalresourceviewresolver">每個action方法最後一行寫return 「頁面名」,如return 「success」,表示的就是跳轉到success.jsp頁面。
action中如何使用service
action方法中如果只是簡單邏輯還好,但是我們經常要運算元據庫,那麼就需要呼叫service類,service類就要呼叫dao類,dao要運算元據庫。
在action方法中,如下:
@controller簡單描述,就是使用@resource注入service。public
class
useraction
}
iuserservice是介面名,userservice是具體的實現類的註解名,在iuserservice介面的實現類上一行,會寫上@service(「userservice」),例如
@service("userservice")service如何寫public
class userserviceimpl implements iuserservice
@service("userservice")基本沒什麼特殊,也是@resource引入dao介面,這裡注意,userdao隨意命名,因為我用的是mybatis,只需要乙個idao介面,不需要實現類,mybatis的對映檔案就相當於乙個實現類了public
class userserviceimpl implements
iuserservice
@override
public
int deletebyid(int
userid)
@override
public
intinsert(user user)
@override
public
intupdatebyid(user user)
}
action中如何**和重定向
需求1:action方法執行完了,想要**(上下文都帶著)到另乙個action方法
跳轉到頁面我麼知道了,那麼
return "forward:/question/getquestion";
需求2:重定向到另乙個action中:
return "redirect:/question/getquestion";
需求3:防止表單重複提交,同需求2
如何處理ajax
十五章節
簡單說,基本就是後端用response的io流傳遞json到前端,不管你是string、list還是map都得想辦法轉換成json。springmvc提供了中比較好的方式就是springmvc內建的json轉換方式。建議採用。
如何給action做單元測試
以上幾篇文章已經寫的很詳細了
1、方法基於junit、springmvc和spring-test
所以用m**en的話pom.xml要引入
org.springframework
spring-test
$2、@runwith註解指定使用springjunit的測試執行器,
@contextconfiguration註解指定測試用的spring配置檔案的位置
4、 可以寫乙個basejunittest,可以將
@runwith(springjunit4classrunner.class寫在basejunittest中,這樣你任意乙個test只需要繼承他就行了)@contextconfiguration()
public
class basejunittest
5、 this.mockmvc.perform(post("/user/showuser").param("name", "lawren").param("password", "123456").param("age","100"));是需要指定訪問action方法的路徑,如果有引數,還要將引數帶上。
SpringMVC的重要組成部分
熟練掌握以下各個部分的功能和使用,以及清晰各個部分之間的關係和協作的流程 1.前端控制器 dispatcherservlet 接收到前端控制器傳送的url後,對url進行匹配,返回給前端控制器乙個處理器執行鏈 handlerexecutechain 3.處理器介面卡 handleradaptor 接...
框架學習 springmvc基礎部分
springmvc是 spring 框架的乙個模組,springmvc 和spring 無需通過中間整合層進行整合。springmvc是乙個基於 mvc的 web框架。那mvc是什麼呢?m是model的意思,即模型,v即使view的意思,檢視,c是controller,就是控制器。1.準備sprin...
springMVC搭建總結
今天第一次搭建整合了hibernate的springmvc框架,於是參考了以前的spring3 hibernate3的搭建方法。但是我使用的是spring4 hibernate4。然後就雪崩了.classpath expc.properties org.hibernate.dialect.mysql...