springmvc2 一个控制器写多个方法(非注解方式)
出处:http://blog.csdn.net/xuewenke/article/details/23895999
springmvc2 一个控制器写多个方法(非注解方式)
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 一个控制器写多个方法(非注解方式)的更多相关文章
- SpringMVC实现一个controller写多个方法
MultiActionController与ParameterMethodNameResolver在一个Controller类中定义多个方法,并根据使用者的请求来执行当中的某个方法,相当于Struts ...
- SpringMVC中注解和非注解方式下的映射器和适配器总结
1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapte ...
- 【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结
从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配 ...
- Springboot使用Cookie,生成cookie,获取cookie信息(注解与非注解方式)
先 创建一个控制类吧, 其实我没有分层啊,随便做个例子: MyGetCookieController: @RestControllerpublic class MyGetCookieControlle ...
- SpringMVC 控制器写多个方法(非注解方式)
Controller类有两种方法 1,implements Controller(实现Controller接口) 2,extends MultiActionController(继承 MultiAct ...
- Spring Boot 2.x 缓存应用 Redis注解与非注解方式入门教程
Redis 在 Spring Boot 2.x 中相比 1.5.x 版本,有一些改变.redis 默认链接池,1.5.x 使用了 jedis,而2.x 使用了 lettuce Redis 接入 Spr ...
- SpringMVC的controller方法中注解方式传List参数使用@RequestBody
在SpringMVC控制器方法中使用注解方式传List类型的参数时,要使用@RequestBody注解而不是@RequestParam注解: //创建文件夹 @RequestMapping(value ...
- SpringMVC知识点总结一(非注解方式的处理器与映射器配置方法)
一.SpringMVC处理请求原理图(参见以前博客) 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMappi ...
- MyBatis学习(二):与Spring整合(非注解方式配置MyBatis)
搭建SpringMVC的-->传送门<-- 一.环境搭建: 目录结构: 引用的JAR包: 如果是Maven搭建的话,pom.xml的配置如下: <?xml version=" ...
随机推荐
- IT路上爹爹装装遇到的坑
1.中英文字符格式:UTF-8 有BOM和无BOM Notepad++ Edit-Plus emacs vim Sublime Text3 记事本 有,无 UTF-8+ #coding:utf-8 ...
- flask_sqlalchemy 乱码问题
简言之, /etc/my.conf default_character_set=utf8 配置成了 default_character_set=utf-8 继而 sqlalchemy 创建表使用的字符 ...
- Requests 乱码
当使用Requests请求网页时,出现下面图片中的一些乱码,我就一脸蒙逼. 程序是这样的. def getLinks(articleUrl): headers = { "Uset-Agent ...
- gdb 调试多线程
基本i threads 等操作略过,只谈线程同步.异步控制: 先点到,gdb attach到主线程t1 时,所有线程都会停止,所谓同步异步效果,是指在apply continue到所有线程之后, 再切 ...
- C# 反射
//转载:http://blog.csdn.net/educast/article/details/2894892 反射(Reflection) 在.NET中的反射可以实现从对象的外部来了解对象(或程 ...
- java写RelativeLayout 的属性
有时项目需要动态的调整一下布局,需要改变一些view的位置属性等等. 直接下代码 RelativeLayout.LayoutParams params=new RelativeLayout.Layou ...
- centos7.0 下安装jdk1.8
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
- Vs2012 创建项目失败 未找到与约束ContractName
刚开始使用vs2012的时候,创建项目失败,后来找到原因 ,是KB2840642V2的原因,于是 卸载之.vs正常
- HTML入门教程 这里可以免费学习啦
本文目标 30分钟内让你明白HTML是什么,并对它有一些基本的了解.一旦入门后,你可以从网上找到更多更详细的资料来继续学习. 什么是HTML HTML是英文Hyper Text Mark-up Lan ...
- Android中surface,surfaceview,sufaceholder以及surface客户端的关系
这里以照相机camera功能的实现来解释surface,surfaceview,sufaceholder以及surface客户端(本例子中指的是camera)的关系,surface及其client(客 ...