我的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传递參数
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、执行
我的Spring之旅(二):为请求加入參数的更多相关文章
- Web容器自己主动对HTTP请求中參数进行URLDecode处理
这篇文章转载自 : Web容器自己主动对HTTP请求中參数进行URLDecode处理 如题.在Java中或许非常多人都没有注意到当我们发送一个http请求时,假设附带的參数被URLEncode之后,到 ...
- 关于HttpClient模拟浏览器请求的參数乱码问题解决方式
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44407297 http://www.llwjy.com/blogdetail/9 ...
- Tokyo Tyrant(TTServer)系列(二)-启动參数和配置
启动參数介绍 ttserver命令能够启动一个数据库实例.由于数据库已经实现了Tokyo Cabinet的抽象API,所以能够在启动的时候指定数据库的配置类型. 支持的数据库类型有: ...
- struts2 全局拦截器,显示请求方法和參数
后台系统中应该须要一个功能那就是将每一个请求的url地址和请求的參数log出来,方便系统调试和bug追踪,使用struts2时能够使用struts2的全局拦截器实现此功能: import java.u ...
- Spring MVC体系结构和处理请求控制器
Spring MVC体系结构和处理请求控制器 一:MVC设计模式: (1.)数据访问接口:DAO层 (2.)处理业务逻辑层:Service层 (3.)数据实体:POJO (4.)负责前段请求接受并处理 ...
- Spring IOC(二)容器初始化
本系列目录: Spring IOC(一)概览 Spring IOC(二)容器初始化 Spring IOC(三)依赖注入 Spring IOC(四)总结 目录 一.ApplicationContext接 ...
- (转)Spring Cloud(二)
(二期)23.微服务框架spring cloud(二) [课程23]熔断器-Hystrix.xmind0.1MB [课程23]微服务...zuul.xmind0.2MB 熔断器-Hystrix 雪崩效 ...
- Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】
Spring Cloud(二):服务注册与发现 Eureka[Finchley 版] 发表于 2018-04-15 | 更新于 2018-05-07 | 上一篇主要介绍了相关理论,这一篇开始我们 ...
- Spring系列(二):Spring IoC应用
一.Spring IoC的核心概念 IoC(Inversion of Control 控制反转),详细的概念见Spring系列(一):Spring核心概念 二.Spring IoC的应用 1.定义B ...
随机推荐
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出.Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfM ...
- 剪枝法观点下的旅行商问题(TSP)
1. 构建基本的穷举搜索骨架 int n; int dst[100][100]; int best; const int INF = 987654321; // 初始状态下,path 存入第一节点,v ...
- <Linux> xm 命令
xm console <域ID> ctrl+ ] 退出虚拟机到宿主 xm reboot <域ID> xm pause <域I ...
- HttpServletRequest方法
HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象 ...
- [React Router v4] Intercept Route Changes
If a user has entered some input, or the current Route is in a “dirty” state and we want to confirm ...
- 【t082】牛跑步
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 新牛到部队,CG要求它们每天早上搞晨跑,从A农场跑到B农场.从A农场到B农场中有n-2个路口,分别标上 ...
- TextView中实现跑马灯的最简单方法
几行代码实现跑马灯效果,效果如下: 因为很简单,所以就直接贴代码喽 <TextView android:id="@+id/item1_title_message" andro ...
- mysql创建用户、赋予指定权限命令
1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...
- PostThreadMessage发送进程间消息(对话框向控制台发消息,控制台也可有消息循环)
函数原型 BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam ); 1 2 3 4 5 6 T ...
- An HTTP & HTTP/2 client for Android and Java applications OkHttp
HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP effic ...