SpringMVC-处理请求参数

原创 2016年06月01日 16:51:30

1.@ReqeustParam 

注解用于获取请求参数。
-value 请求参数的参数名
-required 默认为true,表示该项是否为必须,若必须,且没有提供时会抛出异常
-defaultValue 当对应数据不存在时,提供默认值。

2.@RequestHeader 

注解用于获取头信息,方法同@RequestParam 用的比较少。

3.@CookieValue

获取cookie数据,用法同@RequestParam,也有value,required,defaultValue等参数可选。

4.POJO用作请求参数

可以直接获取POJO数据,在操作上极其方便。
并且支持在HTML中直接级联书写,级联的方式比较容易阅读,当然也可以不用。

5.使用ServletAPI作为入参

SpringMVC中支持的原始API有以下几种类型。
-HttpServletRequest
-HttpServletResponse
-HttpSession
-java.security.Principal
-Locale
-InputStream
-OutputStream
-Reader

-Writer

6.实例代码

以上五种请求参数的处理实例代码如下

这里省略了web.xml中配置DispatcherServlet,以及<servlet-name>-servlet.xml中配置注解扫描包,InternalResourceViewResolver解释器配置。

index.jsp代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>普通的参数传递</h3>
	<form method="get" action="/spring/testParameter">
		用 户:<input type="text" name="username"><br>
		年 龄:<input type="text" name="age"><br>
		<input type="submit" value="提交">
	</form>
	
	<h3>POJO作为参数传递</h3>
	<form method="get" action="/spring/testPOJO">
		用 户:<input type="text" name="username"><br>
		年 龄:<input type="text" name="age"><br>
		<input type="submit" value="提交">
	</form>
</body>
</html>

testParamer.java代码

package spring;

import java.io.IOException;
import java.io.Writer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class GetParameter {
	private static final String viewName = "success";
	@RequestMapping(value="/testParameter")
	public String testParameter(@RequestParam(value="username",required=true) String username, 
			@RequestParam(value="age", required=false, defaultValue="0")Integer age){
		System.out.println(username);
		System.out.println(age);
		return viewName;
	}
	
	@RequestMapping("/testHeader")
	public String testHeader(@RequestHeader(value="Accept-Language", required=true, defaultValue="en-US") String acceptLanguage){
		System.out.println(acceptLanguage);
		return viewName;
	}
	
	@RequestMapping("/testCookie")
	public String testCookie(@CookieValue("JSESSIONID") String jSession){
		System.out.println(jSession);
		return viewName;
	}
	
	@RequestMapping("/testPOJO")
	public String testPOJO(Person person){
		System.out.println(person);
		return viewName;
	}
	
	@RequestMapping("testServletApi")
	public void testServletApi(HttpServletRequest req, HttpServletResponse res, 
			HttpSession session, Writer out) throws IOException{
		//支持原始的API Writer,所以不需要跳转到view文件,直接可以通过out输出到页面。
		out.write((session.getId()).toString());
	}
	
}
<完>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【SpringMVC学习05】SpringMVC中的参数绑定总结

众所周知,springmvc是用来处理页面的一些请求,然后将数据再通过视图返回给用户的,前面的几篇博文中使用的都是静态数据,为了能快速入门springmvc,在这一篇博文中,我将总结一下springm...
  • eson_15
  • eson_15
  • 2016年06月21日 20:08
  • 25854

使用Spring AOP预处理Controller的参数

实际编程中,可能会有这样一种情况,前台传过来的参数,我们需要一定的处理才能使用,比如有这样一个Controller@Controller public class MatchOddsControlle...
  • RO_wsy
  • RO_wsy
  • 2016年03月11日 21:04
  • 4829

Spring处理请求参数的几个小细节

之前一直对spring参数的处理有些地方不明白,今天做了下测试 后台服务器的处理方法如下: 用到的实体类代码public class Book {private String name; priv...

Spring MVC之请求参数和路径变量

请求参数和路径参数都可以用于发送值给服务器。二者都是URL的一部分。 一、请求参数  请求参数采用key = value形式,并用“&”分隔。例如下面的URL带有名为name和pwd的请求参数。  ...

SpringMVC——接收请求参数和页面传参

Spring接收请求参数:   1,使用HttpServletRequest获取 Java代码   @RequestMapping("/login.do")   ...

Spring MVC参数的传递与接收

SpringMVC主要做的就两方面的操作。 在Controller接收从jsp传递过来的数据 把Controller的数据传递到jsp页面...

springmvc请求接收参数的几种方法

springmvc请求接收参数的几种方法,代码下载地址:http://www.zuidaima.com/share/1751862044773376.htm...
  • yaerfeng
  • yaerfeng
  • 2014年04月14日 09:51
  • 117686

SpringMVC 学习笔记(四) 处理模型数据

Spring MVC 提供了以下几种途径输出模型数据: – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model:入...

SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数

这几天写新项目遇到这个问题,看这位博主总结得不错,懒得写了,直接转!原文:http://blog.csdn.net/yixiaoping/article/details/45281721原文有些小错误...

使用反编译工具jad和maven查看源代码

标题: 使用反编译工具jad和maven查看源代码**使用jad查看.class文件:** 1. 解压附件,得到net.sf.jadclipse_3.3.0.jar和jad.exe两个文件. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SpringMVC-处理请求参数
举报原因:
原因补充:

(最多只允许输入30个字)