springMvc源码学习之:spirngMvc获取请求参数的方法

一、      通过@PathVariabl获取路径中的参数

    @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET)
    public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) {

        System.out.println(id);
        System.out.println(name);
        model.addAttribute("message", "111111");
        return "users";
    }

例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei

二、      @ModelAttribute获取POST请求的FORM表单数据

JSP表单如下

<form method="post" action="hao.do">
    a: <input id="a" type="text"   name="a"/>
    b: <input id="b" type="text"   name="b"/>
    <input type="submit" value="Submit" />
 </form>

Java  Pojo如下

    public class Pojo{
        private String a;
        private int b;
    }

Java Controller如下

@RequestMapping(method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { 

    return "helloWorld";
}

三、      直接用HttpServletRequest获取

@RequestMapping(method = RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
   System.out.println(request.getParameter("a"));
    return "helloWorld";
}

四、      用注解@RequestParam绑定请求参数

用注解@RequestParam绑定请求参数a到变量a

当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,

例如: @RequestParam(value="a", required=false)

Controller如下

@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
   System.out.println(a);
return "helloWorld";
}
时间: 2024-12-27 19:05:36

springMvc源码学习之:spirngMvc获取请求参数的方法的相关文章

SpringMVC源码学习之request处理流程

目的:为看源码提供调用地图,最长调用逻辑深度为8层,反正我是springMVC源码学习地址看了两周才理出来的. 1.处理流程(版本为4.3.18) 入口为spring-webmvc-4.3.18.RELEASE.jar中org.springframework.web.servlet.DispatcherServlet.doService(request,respose)处理session中的flashmap springMVC源码学习之addFlashAttribute源码分析 -->doDis

springmvc源码学习

1.springmvc运行流程 流程图是直接在百度图片中找的一张 >.前台发送请求,请求会首先通过DispatcherServlet进行url的匹配;如果匹配不到,看是否配置<mvc:default-servlet-hanler>  如果配置了,就找对应的目标资源 >.如果匹配到url,就调用HandlerMapping,获取到handlerExecutionChain >.dispatcherServlet会调用handlerAdapter >.handlerAdap

springMvc源码学习之:spring源码总结

转载自:http://www.cnblogs.com/davidwang456/p/4213652.html spring beans下面有如下源文件包: org.springframework.beans, 包含了操作java bean的接口和类.org.springframework.beans.annotation, 支持包,提供对java 5注解处理bean样式的支持.org.springframework.beans.factory, 实现spring轻量级IoC容器的核心包.org.

springMvc源码学习之:利用springMVC随时随地获取HttpServletRequest等对象

一.准备工作: 在web.xml中添加 [html] view plain copy <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> 二.使用方法: 1.方法一:通过代码实现 [java] view plain copy HttpServletRequest requ

JDK源码学习阅读-Integer类中的parseInt方法分析(转)

方法原型: public static int parseInt(String s,int radix): 输入:s表示待转换的字符串:radix表示需要转换成几进制的整数: 输出:返回一个32位整数. 算法流程图: JDK中的代码实现: 1 /** 2 * 字符串转换成整数 3 * @param s 待转换字符串 4 * @param radix 进制 5 * @return 6 */ 7 public static int parseInt(String s,int radix){ 8 //

Spring源码学习笔记(1)

SpringMVC源码学习笔记(一) 前言----   最近花了些时间看了<Spring源码深度解析>这本书,算是入门了Spring的源码吧.打算写下系列文章,回忆一下书的内容,总结代码的运行流程.推荐那些和我一样没接触过SSH框架源码又想学习的,阅读郝佳编著的<Spring源码深度解析>这本书,会是个很好的入门.  进入正文,首先贴上SpringMVC的图片(来自https://docs.spring.io/spring/docs/current/spring-framework

SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现

SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即“service”阶段.在“service”阶段中,每一次Http请求到来,容器都会启动一个请求线程,通过service()方法,委派到doGet()或者doPost()这些方法,完成Http请求的处理. 在初始化流程中,SpringMVC巧妙的运用依赖注入读取参数,并最终建立一个与容器上下文相关联的spring子上下文.这个子上下文,就像Struts2中xwork容器一样,为接下来的Http处理流程中各种编程

学习SpirngMVC之如何获取请求参数

学习SpringMVC——如何获取请求参数 @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView)!它(@ModelAttribute)!没错,仅注解这块,spring mvc就为你打开了五彩斑斓的世界.来来来,不要兴(mi)奋(hu),坐下来,我们好好聊聊这么些个注解兄弟们~~~(wait, 都没有听过? 好,来,你坐前排,就你!) 一.spring

学习SpringMVC——如何获取请求参数

@RequestParam @PathVariable @QueryParam @CookieValue @ModelAndView @ModelAttribute 一.spring mvc如何匹配请求路径--"请求路径哪家强,RequestMapping名远扬" @RequestMapping是用来映射请求的,比如get请求,post请求,或者REST风格与非REST风格的. 该注解可以用在类上或者方法上,如果用于类上,表示该类中所有方法的父路径. @Controller的注解,该注