冰冻三尺非一日之寒。对技术的学习尤为得遵循这么一个理。在《SpringMVC一路总结(一)》中,清楚的总结了SpringMVC的入门案例,对于这类入门demo,理清套路,整理思绪是最为重要的。可以从案例中了解到SpringMVC在框架技术中的特色和应用,就是第一部分的主要做用。css
从上部分能够看出,每一个Controller中只能写一个方法,这个Controller是实现Controller中的方法handleRequest。然而对于这种形式的分布和配置,一旦项目中的功能增多,很难准确的定位方法的请求,并且维护也很麻烦,所以,这样的实际应用特色并不明显。今天的这部分就是主要解决这样的问题的。本博文为本人学习的总结,请尊重劳动成果。欢迎转载,请保留博文出处:http://www.cnblogs.com/itred ;本人邮箱: it_red@sina.com 。html
那么,问题来了!如何在一个Controller中写入多个方法呢?java
其实在SpringMVC中已经写好了,只须要继承其中的MultiActionController,这个的具体类在org.springframework.web.servlet.mvc.multiaction目录下。在spring的JAR包中,能够清楚的找到这个类。web
仍是从案例上来讲吧,要实现这么一个多方法的Controller,基本原理和第一部分的案例相同。只是须要简单修改一些配置文件和从新写Controller就好了。spring
SpringMVC-servlet.xml的配置为:浏览器
<bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="action"></property> </bean> <bean name="/test" class="com.red.controller.MultiController"> <property name="methodNameResolver"> <ref bean="paramMethodResolver" /> </property> </bean>
上面的bean 中id为paramMethodResolver 就是配置一个Controller类中实现多个方法的重点。mvc
在Controller中继承MultiActionController的源码以下:app
package com.red.controller; 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 MultiController extends MultiActionController { public ModelAndView First(HttpServletRequest request, HttpServletResponse response) { String method = "First"; System.out.println("using First method::" + method); return new ModelAndView("/test", "param", method); } public ModelAndView Second(HttpServletRequest request, HttpServletResponse response) { String method = "Second"; System.out.println("using Second method::" + method); return new ModelAndView("/test", "param", method); } }
浏览器中输入地址:http://localhost:8080/20150507_SpringMVC01/test?action=First框架
实现效果以下:学习
浏览器中输入地址:http://localhost:8080/20150507_SpringMVC01/test?action=Second
实现效果以下:
控制台中输出的结果:
其实在开发过程当中遇到最多的问题,每每不是这些技术性问题。须要注意一点细节的地方,不少人在刚接触SpringMVC的时候,图片,js以及css类的文件基本都会出问题,在页面上不能正常的在浏览器中显示理想的效果。然而,其实是由于在配置文件中少了一些配置,或者配置的时候没有配置正确。
即,须要在SpringMVC-servlet.xml中加入如下源码:
<mvc:resources location="/img/" mapping="/img/**" />
Location中是文件的实际存放路径,mapping是指的是映射图片文件 夹。对于其余的如css和js类的文件用一样的方法就能够。
实际效果以下:
===================================================================
在这部分以及上一部分都是经过xml的形式来配置实现的,然而xml并非实现SpingMVC的最佳方式,其实注解才是其特色。若是利用注解的形式来实现就能够清楚的看到SpringMVC框架的优势,简单,并且还适用。关于注解的形式会在后续的总结中给出案例。
Demo下载
感谢奋斗中的本身!
邮箱:it_red@sina.com
我的博客: http://itred.cnblogs.com