我的Spring之旅(二):为请求添加参数
来源:互联网 发布:时 分转换成时间戳java 编辑:程序博客网 时间:2024/05/16 10:19
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.*;@Controllerpublic 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
- 我的Spring之旅(二):为请求添加参数
- 我的Android进阶之旅------>android如何将List<NameValuePair>请求参数列表转换为json格式
- 我的Spring之旅——(二)Spring AOP实现的两种方式
- Spring请求参数为一个数组
- Spring请求参数为一个数组2
- Volley学习(二)简封Volley、为Volley请求头体添加Json参数、Gson和JsonObject生成Json数据、Gson解析返回的Json
- Retrofit的进阶之路(二)添加请求头和上传图片
- 我的WCF4 Rest Service及Entity Framework with POCO之旅(二)——选择请求/返回格式
- Retrofit用法详解之二(带参数get请求)
- 我的Firefox插件开发之旅(7)——为插件添加和脚本交互的能力
- 我的Firefox插件开发之旅(7)——为插件添加和脚本交互的能力
- 我的CTF之旅(二)
- 我的计蒜客刷题之旅(二)
- get请求,中文乱码解决 之 百度如何正确获取中文请求参数(我猜测)
- 简化函数调用之二 :Add Parameter(添加参数)
- 我的Spring学习记录(二)
- 把请求的参数封装为xml
- Spring Bean的生命周期之我的理解(二)------AbstractApplicationContext
- ACdream 1135(MST-最小生成树边上2个值,维护第一个最小的前提下让另一个最小)
- 主动提出问题, 据别无理由烦恼
- JVM实用参数(六) 吞吐量收集器
- C++ 书籍
- 在Java中>、>>、>>>三者的区别
- 我的Spring之旅(二):为请求添加参数
- MySQL 正则表达式搜索
- 配置ExtJS及使用其他框架
- Android面试题
- mybatis向mysql插入含有逗号的值报错
- placeholder—Jquery插件placeholder的使用方法
- Best Time to Buy and Sell Stock III
- 分钟或秒转换为时分秒的程序
- 六个方面对360网站卫士与百度加速乐的比较