出处:http://blog.csdn.net/xuewenke/article/details/23895999

springmvc2 一个控制器写多个方法(非注解方式)

分类: spring 2014-04-17 02:50 318人阅读 评论(0) 收藏 举报

web.xml 的配置。 其实web.xml 的配置和之前的没有什么区别  主要是DispatcherServlet 的配置,他是springvc的核心,是前端拦截器,主要负责拦截请求,然后在分派。这次配置时 springmvc的配置文件不是使用默认的路径,而是自己指定的路径 。

从这点我们可以看出,web.xml 只要加载 DispatcherServlet  servlet类就可以了 其余的工作就全部交给他去完成了。

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 http://www.springmodules.org/schema/cache/springmodules-cache.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
">
<display-name>Springmvc1</display-name>

<!-- springmvc 的配置 配置核心的东西 分派器 -->
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--指明加载方式 -->
<load-on-startup>1</load-on-startup>
<!-- 指明springMvc 配置文件的路径 -->
<!-- 默认的路径是在 WEB-INF 下面 加入你的springmvc 配置文件在 默认路径下 就可以不配 而且默认的文件名称是 springMvc-servlet.xml -->

<!-- 当你不使用默认路径的时候 可以用一下方法来配置springmvc 的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-servlet.xml</param-value>
</init-param>

</servlet>

<!-- springMvc 的映射 -->
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

springmvc 文件的配置   spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 配置视图解析器 -->
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/" p:suffix=".jsp">
<!-- 配置视图的属性 前缀和后缀 -->

</beans:bean>

<!-- 配置相应的controller -->
<!-- 这个name 其实就相当于你要提交的url 当你提交的url 是 /hello的时候 你的请求 就会 被DispatcherServlet 拦截器拦截下来 -->
<!-- 然后他在根据那个控制器是负责处理/hello 请求的 然后找到他,然后就由他来处理这个请求的相应的任务。 -->
<beans:bean name="/method" class="com.seven.controller.MutilController">

<beans:property name="methodNameResolver">
<beans:ref bean="paramMethodResolver"/>
</beans:property>
</beans:bean>

<!-- 配置参数名称解析器 -->

<beans:bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<beans:property name="paramName" value="a"/>

</beans:bean>

</beans:beans>

控制器文件

package com.seven.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 MutilController extends MultiActionController{

// 增加的函数
public ModelAndView add(HttpServletRequest request,HttpServletResponse response) / / 里面的 request 和response 必须要有 否则不能访问
{
System.out.println("add");
return new ModelAndView("/test","method","add");

}

// 更新函数
public ModelAndView update (HttpServletRequest request,HttpServletResponse response)
{
System.out.println("update");
return new ModelAndView("/test","method","update");
}

}

然后自己在写一个文件名是 test.jsp 的文件  放在 WEB-INF 文件夹下

然后请求的连接是  localhost:8080/Springmvc2/method?a=add   他会根据你带的参数而去调用不同的函数

springmvc2 一个控制器写多个方法(非注解方式)的更多相关文章

  1. SpringMVC实现一个controller写多个方法

    MultiActionController与ParameterMethodNameResolver在一个Controller类中定义多个方法,并根据使用者的请求来执行当中的某个方法,相当于Struts ...

  2. SpringMVC中注解和非注解方式下的映射器和适配器总结

    1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapte ...

  3. 【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结

    从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配 ...

  4. Springboot使用Cookie,生成cookie,获取cookie信息(注解与非注解方式)

    先 创建一个控制类吧, 其实我没有分层啊,随便做个例子: MyGetCookieController: @RestControllerpublic class MyGetCookieControlle ...

  5. SpringMVC 控制器写多个方法(非注解方式)

    Controller类有两种方法 1,implements Controller(实现Controller接口) 2,extends MultiActionController(继承 MultiAct ...

  6. Spring Boot 2.x 缓存应用 Redis注解与非注解方式入门教程

    Redis 在 Spring Boot 2.x 中相比 1.5.x 版本,有一些改变.redis 默认链接池,1.5.x 使用了 jedis,而2.x 使用了 lettuce Redis 接入 Spr ...

  7. SpringMVC的controller方法中注解方式传List参数使用@RequestBody

    在SpringMVC控制器方法中使用注解方式传List类型的参数时,要使用@RequestBody注解而不是@RequestParam注解: //创建文件夹 @RequestMapping(value ...

  8. SpringMVC知识点总结一(非注解方式的处理器与映射器配置方法)

    一.SpringMVC处理请求原理图(参见以前博客) 1.  用户发送请求至前端控制器DispatcherServlet 2.  DispatcherServlet收到请求调用HandlerMappi ...

  9. MyBatis学习(二):与Spring整合(非注解方式配置MyBatis)

    搭建SpringMVC的-->传送门<-- 一.环境搭建: 目录结构: 引用的JAR包: 如果是Maven搭建的话,pom.xml的配置如下: <?xml version=" ...

随机推荐

  1. Unity NGUI添加UIRoot

    导入NGUI包后,菜单多出一个选项 "NGUI",选择其子选项 "options" -- "Reset Prefab ToolBar" ,在 ...

  2. 破解激活Win10无风险?激活后删除激活工具无影响===http://www.pconline.com.cn/win10/693/6932077_all.html#content_page_4

    1Windows激活:测试环境搭建 随着Windows 10的发布,许多用户都用上了这个新一代的操作系统.Windows 10有个最好的设置就是,只要你在已经激活的旧系统中升进行升级操作,就能获得一个 ...

  3. mysql 创建用户、授权等操作

    一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...

  4. System系统类常用方法

    System 系统类: 主要用于获取系统的属性数据. System类常用的方法: arraycopy(Object src, int srcPos, Object dest, int destPos, ...

  5. AndroidStudio使用过程中遇到的bug

    Ref:http://www.cnblogs.com/jingmo0319/p/5781878.html 1. Error:Execution failed for task ':app:transf ...

  6. centos 使用 locate

    centos 第一次使用locate时报错: locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录 因为locate相关的索 ...

  7. 第六课 touch事件

    1.移动端页面在PC上浏览时,限制宽度的方法: 2.移动端页面切换设备时自动刷新页面的方法: 3.touch事件 touchstart:当手指触摸屏幕时触发.通过addEventListener添加移 ...

  8. H5(三)

    Canvas(画布)   基本内容     简单来说,HTML5提供的新元素<canvas>     Canvas在HTML页面提供画布的功能       在画布中绘制各种图形     C ...

  9. C++ 系列:C++ 对象模型

    1      何为C++对象模型 C++对象模型可以概括为以下2部分: 1.语言中直接支持面向对象程序设计的部分: 2.对于各种支持的底层实现机制 语言中直接支持面向对象程序设计的部分,如构造函数.析 ...

  10. android的消息处理机制——Looper,Handler,Message

    在开始讨论android的消息处理机制前,先来谈谈一些基本相关的术语. 通信的同步(Synchronous):指向客户端发送请求后,必须要在服务端有回应后客户端才继续发送其它的请求,所以这时所有请求将 ...