我的Spring之旅(二):为请求添加参数

1、前言

在上一篇我的Spring之旅(一)中,我们只是利用不带参数的请求返回一个网页或一段json,在实际的B/S、C/S网络交互中,请求中需要自定义的参数。本篇将简单地为之前的请求添加参数。

2、参数说明

①method:API名称,用于区分服务端调用方法

②name:请求参数名称,将作为method方法的实参

3、改写HelloController.java

package com.nextgame.web;
import java.io.IOException;
import net.sf.json.*;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


import javax.servlet.http.*;
@Controller
public class HelloController {
@RequestMapping("/view")
 public String hello(@RequestParam(value="hello", required=false, defaultValue="World") String name, Model model) {
 model.addAttribute("hello", name);
 return "helloworld";
 }
@RequestMapping("/json")
 public void json(HttpServletRequest req,HttpServletResponse res,String method,String name) throws IOException
 {
	JSONObject obj = new JSONObject();
	if(method.equals("sayhello"))
	{
		obj = this.sayhello(name);
	}
	else if(method.equals("sayhi"))
	{
		obj = this.sayhi(name);	
	}
	obj.put("copyright", "wang hao");
	res.getWriter().print(obj); 
 }
/*
 * API:sayhello
 */
 private JSONObject sayhello(String name)
 {
	 JSONObject obj = new JSONObject();
	 obj.put("msg", "hello," + name +"!");
	 return obj;
 }
 /*
  * API:sayhi
  */
 private JSONObject sayhi(String name)
 {
	 JSONObject obj = new JSONObject();
	 obj.put("msg", "hi," + name +"!");
	 return obj;
 }
}

4、run as server



5、利用Json传递参数

将name的参数类型改为json,用于自定义通讯协议。

6、服务端解析Json

 public void json(HttpServletRequest req,HttpServletResponse res,String method,JSONObject name) throws IOException
 {
	JSONObject obj = new JSONObject();
	if(method.equals("sayhello"))
	{
		obj = this.sayhello(name.getString("name"));
	}
	else if(method.equals("sayhi"))
	{
		obj = this.sayhi(name.getString("name"));	
	}
	obj.put("copyright", "wang hao");
	res.getWriter().print(obj); 
 }

7、运行



(-  - 天真的客户端程序员!!!)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值