国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring中MVC模塊代碼詳解

Spring中MVC模塊代碼詳解

2021-02-23 11:35冰河winner Java教程

這篇文章主要介紹了Spring中MVC模塊代碼詳解,涉及Controller的簡單介紹,具有一定借鑒價值,需要的朋友可以參考下。

SpringMVC的Controller用于處理用戶的請求。Controller相當于Struts1里的Action,他們的實現(xiàn)機制、運行原理都類似

Controller是個接口,一般直接繼承AbstrcatController,并實現(xiàn)handleRequestInternal方法。handleRequestInternal方法相當于Struts1的execute方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class CatController extends AbstractController{
    private ICatService catService;
    //setter、getter略
    protected ModelAndView handleRequestInternal(HttpServletRequestrequest,HttpServletResponse response) throws Exception{
        String action =request.getParameter("action");
        if("list".equals(action)){
            return this.list(request,response);
        }
    }
    protected ModelAndView list(HttpServletRequestrequest,HttpServletResponse response) throws Exception{
        List<Cat> catList =catService.listCat();
        request.setAttribute("catList", catList);
        return new ModelAndView("cat/listCat");
    }
}

SpringMVC沒有內(nèi)置數(shù)據(jù)的封裝,開發(fā)者可以自己封裝數(shù)據(jù)轉(zhuǎn)換代碼

SpringMVC獨特的地方在于view層的處理上。handleRequestInternal返回ModelAndView對象,可以看做是對JSP對象的封裝。ModelAndIView直接接受JSP頁面的路徑。例如參數(shù)"cat/listCat",只是JSP路徑的一部分,實際完整的路徑是"WEB-INF/jsp/cat/catList.jsp",路徑前后的部分是配置在配置文件中的

除了制定JSP路徑,ModelAndView還可以直接傳遞Model對象到View層,而不用事先放到request中,例如newModelAndView("cat/listCat","cat",cat),如果傳遞多個參數(shù),可以使用Map,如

?
1
2
3
4
Map map = newHashMap();
map.put("cat",cat);
map.put("catList",catList);
return new ModelAndView("cat/listCat",map);

一般使用一個獨立的xml文件如spring-action.xml專門配置web相關(guān)的組件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version= "1.0" encoding="UTF-8"?>
<!DCTYPEbeans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix">
          <value>/WEB-INF/jsp/</value><!-- JSP前綴-->
       </property>
       <property name="suffix">
          <value>.jsp</value>         <!-- JSP后綴-->
       </property>
  
   <!-- 配置URL Mapping-->
   <bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandleMapping">
       <property name="mappings">
          <props><!—Controller的URL會被配置成"cat.mvc"-->
              <prop key="cat.mvc">catController</prop>
          <props>
       </property>
   </bean>
   <bean id="catController" class="com.clf.spring.CatController">
       <property name="catService" ref="catService"></property>
   </bean>
</beans>
  
web.xml配置
<context-param><!-- Spring配置文件的位置-->
   <param-name>contextConfigLocation</param-name>
   <param-value>
       /WEB-INF/classes/applicationContext.xml,
       /WEB-INF/classes/spring-action.xml  
   </param-value>
</context-param>
  
<listener><!-- 使用Listener加載Spring配置文件-->
   <listener-class>
       org.springframework.web.context.ContextLoaderListener
   </listener-class>
</listener>
  
<servlet><!-- spring分發(fā)器-->
   <servlet-name>spring</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/classes/spring-action.xml</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup><!-- 啟動時加載-->
</servlet>
  
<servlet-mapping>
   <servlet-name> spring</servlet-name>
   <url>*.mvc</url>
</servlet-mapping>

如果一個Controller要處理多個業(yè)務(wù)邏輯,可以使用MultiActionController,相當于Struts 1中的DispatchAction,能根據(jù)某個參數(shù)將不同的請求分發(fā)到不同的方法上

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public class CatController extends AbstractController{
    private ICatService catService;
    //setter、getter略
    protected ModelAndView add(HttpServletRequestrequest,HttpServletResponse response) throws Exception{
        ……
               return new ModelAndView("cat/addCat");
    }
    protected ModelAndView list(HttpServletRequestrequest,HttpServletResponse response) throws Exception{
        List<Cat> catList =catService.listCat();
        request.setAttribute("catList", catList);
        return new ModelAndView("cat/listCat");
    }
}

配置到spring-action.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<bean id="paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
   <property name="paramName">
       <value>action</value><!-- 配置分發(fā)參數(shù)-->
   </property>
   <property name="defaultMethodName">
       <value>list</value><!-- 配置默認的執(zhí)行方法-->
   </property>
</bean>
  
<bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandleMapping">
       <property name="mappings">
          <props>
              <prop key="cat.mvc">catController</prop><!-- 訪問"cat.mvc"則交給catController處理-->
              <prop key="catMulti.mvc">catMultiController</prop><!-- 訪問"catMulti.mvc"則交給catMultiController處理-->
          <props>
       </property>
   </bean>
  
   <bean id="catController" class="com.clf.spring.CatMultiController">
       <property name="catService" ref="catService"></property>
   </bean>
  
   <bean id="catMultiController" class="com.clf.spring.CatController">
       <property name="catService" ref="catService"></property>
   </bean>

總結(jié)

以上就是本文關(guān)于Spring中MVC模塊代碼詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。

原文鏈接:http://blog.csdn.net/u012152619/article/details/44300491

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 人人叉人人 | 玖玖爱国产 | 性做久久久久久 | 人人九九精 | 亚洲精品一区二三区不卡 | 亚洲视频精品在线 | 操批网站| 久久综合亚洲 | 色网站在线 | 日韩有码在线播放 | 另类久久 | 福利视频二区 | 一区二区av在线 | 国产成年人电影在线观看 | 免费三级在线 | 国产精品视频在线观看 | 青青久久av北条麻妃黑人 | 欧美一级二级视频 | 成人免费av电影 | 91精品欧美久久久久久动漫 | 成人在线视频免费 | 欧美激情一区二区三级高清视频 | www.成人| jlzzjlzz国产精品久久 | 亚洲精品欧美 | 亚洲一区二区三区在线播放 | 紧缚调教一区二区三区视频 | 亚洲高清在线视频 | 亚洲视频自拍 | 精品视频久久久 | 91春色| 亚洲精品a在线观看 | 日韩电影中文字幕 | 国精产品99永久一区一区 | 久久大伊人 | 亚洲国产精品激情在线观看 | 欧美1级 | 欧美日韩成人网 | 亚洲激情精品 | 在线观看中文字幕av | 日韩www|