<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    friends

    link

    最新評(píng)論

    SpringMVC MultiActionController的使用-最簡化教程(轉(zhuǎn))

    Step 1:配置web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    >

        
    <display-name>springapp</display-name>
            
        
    <servlet>
            
    <servlet-name>springMVC</servlet-name>
            
    <servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            
    </servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>

        
    <servlet-mapping>
            
    <servlet-name>springMVC</servlet-name>
            
    <url-pattern>/page/*</url-pattern>
        
    </servlet-mapping>

    </web-app>
    servlet-mapping定義所有以/page/開頭的url請(qǐng)求都會(huì)被spring 的DispatcherServlet處理轉(zhuǎn)發(fā)。默認(rèn)情況下DispatcherServlet會(huì)讀取<servlet-name>-servlet.xml文件的配置信息初始化,該文件中urlMapping的定義決定當(dāng)前請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)controller來處理。

    Step2:定義/WEB-INF/springMVC-servlet.xml
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>
        
    <!-- 方法名解析器 -->
        
    <bean id="InternalPathMethodNameResolver"
            class
    ="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver" />
            
        
    <!-- 視圖解析器 -->
        
    <bean id="viewResolver"
            class
    ="org.springframework.web.servlet.view.InternalResourceViewResolver">
            
    <property name="viewClass">
                
    <value>org.springframework.web.servlet.view.JstlView</value>
            
    </property>
        
    </bean>
        
        
    <bean id="controller" class="com.controller.IndexController">
            
    <property name="methodNameResolver">
                
    <ref bean="InternalPathMethodNameResolver" />
            
    </property>
        
    </bean>

        
    <bean id="urlMapping"
            class
    ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            
    <property name="mappings">
                
    <props>
                    
    <prop key="/controller/*">controller</prop>
                
    </props>
            
    </property>
        
    </bean>
    </beans>
    urlMapping定義/controller/開頭的url請(qǐng)求由名字為controller的控制器來處理,因?yàn)槭嵌鄤?dòng)作處理器,所以要定義MethodNameResolver來告訴springMVC應(yīng)該調(diào)用controller的哪個(gè)方法,這里用的是InternalPathMethodNameResolver,該方法名解釋器會(huì)把整個(gè)URL中最后一個(gè)"/"和最后一個(gè)"."之間的部分作為要調(diào)用的方法名

    Step3:定義controller類并繼承MultiActionController 
    package com.controller;

    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;

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

    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

    public class IndexController extends MultiActionController {
        
        
    public ModelAndView method1(HttpServletRequest request,
                HttpServletResponse respnose) 
    throws ServletException, IOException {
            Map model 
    = new HashMap();
            model.put(
    "message""你調(diào)用的是方法1");
            
    return new ModelAndView("/index.jsp""model", model);
        }

        
        
    public ModelAndView method2(HttpServletRequest request,
                HttpServletResponse respnose) 
    throws ServletException, IOException {
            Map model 
    = new HashMap();
            model.put(
    "message""你調(diào)用的是方法2");
            
    return new ModelAndView("/index.jsp""model", model);
        }

    }


    通過配置文件,訪問上面這個(gè)controller中某個(gè)方法的url即為:localhost:8080/page/controller/方法名


    Step4:/index.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> 


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head></head>  
    <body>

        
    <c:out value="${model.message}"/>
    </body>
    </html>
    因?yàn)?font color=#0000ff>InternalPathMethodNameResolver方法名解釋器會(huì)把整個(gè)URL中最后一個(gè)"/"和最后一個(gè)"."之間的部分作為要調(diào)用的方法名,所以你可以在這個(gè)URL后面加任意文件格式的后綴,比如:
    localhost:8080/page/controller/method1.jsp

    localhost:8080/page/controller/method2.html
    很爽吧,和真實(shí)的URL地址一樣。


    另:開發(fā)環(huán)境:MyEclipse5.0M2+tomcat5.5
      需要用到spring.jar和jstl.jar兩個(gè)包。

    附:源代碼下載

    posted on 2006-09-01 13:41 liaojiyong 閱讀(1890) 評(píng)論(0)  編輯  收藏 所屬分類: Spring

    主站蜘蛛池模板: 亚洲日韩涩涩成人午夜私人影院| 最近的中文字幕大全免费8| 好大好深好猛好爽视频免费| 亚洲黄色片在线观看| 91成人在线免费观看| 亚洲国产人成在线观看69网站| 日韩精品无码免费专区网站| 国产A在亚洲线播放| 欧洲精品99毛片免费高清观看| 亚洲avav天堂av在线不卡| 久久精品无码专区免费青青| 亚洲毛片基地日韩毛片基地 | 国产精品亚洲色图| 亚洲日韩在线观看免费视频| 成人国产精品免费视频| 亚洲AV无码一区二区二三区入口| 97久久免费视频| 亚洲欧洲精品成人久久曰| 国产一级淫片免费播放电影| 一级全免费视频播放| 亚洲成AV人在线观看天堂无码| 18未年禁止免费观看| 精品亚洲456在线播放| 又色又污又黄无遮挡的免费视| 无码人妻一区二区三区免费视频| 亚洲精品~无码抽插| 91成人免费在线视频| 美女被羞羞网站免费下载| 亚洲乱码无码永久不卡在线| 8x成人永久免费视频| 亚洲av无码专区在线观看下载| 久久久久亚洲AV成人网| 亚洲免费在线视频播放| 日本系列1页亚洲系列| 亚洲AV无码成人精品区在线观看 | 亚洲性线免费观看视频成熟 | 亚洲国产精品成人精品无码区 | 又粗又硬免费毛片| 日韩内射激情视频在线播放免费| 亚洲精品成a人在线观看☆| 亚洲精品成人网站在线观看|