zoukankan      html  css  js  c++  java
  • SpringMVC 控制器写多个方法(非注解方式)

    Controller类有两种方法

    1,implements Controller(实现Controller接口)

    2,extends MultiActionController(继承 MultiActionController)

    但是实现接口有缺陷,只能写一种方法(handleRequest),比如完成某一业务对象的增,删,改,查,都属于一类相关的业务。把一类相关的操作分布到不同的类去完成,违返“高内聚”的设计原则。所以一般都会采用第二种方法。

    springmvc-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xmlns:context="http://www.springframework.org/schema/context" 
           xmlns:mvc="http://www.springframework.org/schema/mvc" 
           xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd 
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 
        <mvc:annotation-driven />
        <context:component-scan base-package="com" /> 
        <bean id="irViewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/page/" />
            <property name="suffix" value=".jsp" />
        </bean>
        
        <!--  MultiAction -->
        <!-- 引入多视图控制 -->
        <bean id="paramMethodResolver"
            class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
            <property name="paramName" value="method">
            </property>
        </bean>
        <bean id="simpleUrlHandlerMapping"
            class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/testinterceptor">testInterceptorController</prop>
                </props>
            </property>
        </bean>
        <!-- 将多视图控制paramMethodResolver注入到自己的控制器--> 
        <bean id="testInterceptorController" class="com.TestInterceptorController">
            <property name="methodNameResolver" ref="paramMethodResolver"></property>
        </bean>
        
    </beans>

    控制器:

    package com;
    
    import java.util.Date;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
    
    @SuppressWarnings("deprecation")
    public class TestInterceptorController extends MultiActionController {
    
        public String show(HttpServletRequest request, HttpServletResponse response){
            request.setAttribute("date", new Date());
            return "show";
        }
    }

    *这里要用request进行传值

    输入访问:......?method=show

  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/Junsept/p/7412749.html
Copyright © 2011-2022 走看看