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

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

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

    176142998

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks
    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請求都會被spring 的DispatcherServlet處理轉(zhuǎn)發(fā)。默認(rèn)情況下DispatcherServlet會讀取<servlet-name>-servlet.xml文件的配置信息初始化,該文件中urlMapping的定義決定當(dā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請求由名字為controller的控制器來處理,因?yàn)槭嵌鄤幼魈幚砥鳎砸xMethodNameResolver來告訴springMVC應(yīng)該調(diào)用controller的哪個(gè)方法,這里用的是InternalPathMethodNameResolver,該方法名解釋器會把整個(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方法名解釋器會把整個(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 2008-08-11 16:02 飛飛 閱讀(215) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲av综合av一区二区三区| 丝袜捆绑调教视频免费区| 午夜国产大片免费观看| 国产成人精品免费大全| 99ri精品国产亚洲| 国产美女被遭强高潮免费网站 | 久久免费99精品国产自在现线| 亚洲制服中文字幕第一区| 日本大片在线看黄a∨免费 | 在线观看免费av网站| 亚洲精品乱码久久久久蜜桃| 亚洲国产三级在线观看| 好男人www免费高清视频在线| eeuss影院ss奇兵免费com| 亚洲va在线va天堂成人| 久久亚洲中文字幕精品一区四| 黄色片在线免费观看| 国产又黄又爽胸又大免费视频| 亚洲一区二区三区亚瑟| 亚洲人成中文字幕在线观看| 免费无码黄动漫在线观看| 久久免费区一区二区三波多野| 男女超爽视频免费播放| 亚洲午夜在线电影| 2048亚洲精品国产| 成人黄页网站免费观看大全| 日本人成在线视频免费播放| 婷婷亚洲综合一区二区| 亚洲三级视频在线| 久久亚洲精品AB无码播放| 亚洲国产精品成人网址天堂| 久久久久久国产a免费观看黄色大片| 成年免费a级毛片免费看无码| 亚洲欧美自偷自拍另类视| 亚洲狠狠狠一区二区三区| 亚洲三区在线观看无套内射| 免费国产成人高清在线观看麻豆| 在线观看日本免费a∨视频| 伊人久久免费视频| 在线观看人成视频免费无遮挡| 在线观看亚洲视频|