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

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

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

    176142998

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      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處理轉發。默認情況下DispatcherServlet會讀取<servlet-name>-servlet.xml文件的配置信息初始化,該文件中urlMapping的定義決定當前請求轉發給哪個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的控制器來處理,因為是多動作處理器,所以要定義MethodNameResolver來告訴springMVC應該調用controller的哪個方法,這里用的是InternalPathMethodNameResolver,該方法名解釋器會把整個URL中最后一個"/"和最后一個"."之間的部分作為要調用的方法名

    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""你調用的是方法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""你調用的是方法2"
    );
            
    return new ModelAndView("/index.jsp""model"
    , model);
        }

    }


    通過配置文件,訪問上面這個controller中某個方法的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>
    因為InternalPathMethodNameResolver方法名解釋器會把整個URL中最后一個"/"和最后一個"."之間的部分作為要調用的方法名,所以你可以在這個URL后面加任意文件格式的后綴,比如:
    localhost:8080/page/controller/method1.jsp

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


    另:開發環境:MyEclipse5.0M2+tomcat5.5
      需要用到spring.jar和jstl.jar兩個包。
    posted on 2008-08-11 16:02 飛飛 閱讀(215) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 最新亚洲春色Av无码专区| 亚洲色偷偷综合亚洲AVYP| 久久久久亚洲av无码专区喷水 | 亚洲男人天堂2018av| 免费不卡在线观看AV| 亚洲狠狠久久综合一区77777| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久久久亚洲AV无码永不| 久久久久久免费一区二区三区| 亚洲伊人色欲综合网| 精品国产污污免费网站| 亚洲韩国—中文字幕| 97性无码区免费| 亚洲日韩av无码中文| 国产成人免费福利网站| 男女男精品网站免费观看| 亚洲女人被黑人巨大进入| 中文字幕版免费电影网站| 亚洲成AV人在线播放无码| 亚洲国产精品精华液| 国产jizzjizz免费看jizz| 一本岛v免费不卡一二三区| 国产亚洲精品资源在线26u| 久久亚洲免费视频| 亚洲av无码不卡久久| 中文字幕无线码中文字幕免费| 亚洲AV综合色区无码一区爱AV | h视频在线观看免费| 亚洲国产一成人久久精品| 最近免费视频中文字幕大全| 亚洲免费福利在线视频| 相泽亚洲一区中文字幕| 久久精品国产这里是免费| 亚洲一卡2卡4卡5卡6卡残暴在线| 日本免费福利视频| 成人精品一区二区三区不卡免费看| 亚洲黄色中文字幕| 国产免费观看a大片的网站| 丝袜足液精子免费视频| 国产成人亚洲精品| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 |