打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SpringMVC MultiActionController的使用-最简化教程
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两个包。
附:源代码下载
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SpringMVC框架介绍
SpringMVC 基础教程 简单入门实例
Spring MVC3.0.5搭建全程
SpringMVC拦截器简单使用
maven+springMVC+mybatis+junit详细搭建过程
spring MVC
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服