`

http service 得到post请求对象

 
阅读更多

得到post object的方式

一。序列化数据

 

public String testPost2() throws IOException{
		System.out.println("得到POST传递过来的对象——doPost");
		InputStream in = ServletActionContext.getRequest().getInputStream();
		ObjectInputStream ois = new ObjectInputStream(in);
		try{
			LoginObj lo = (LoginObj)(ois.readObject());
			System.out.println(lo.ip);
			System.out.println(lo.port);
			System.out.println(lo.uin);
			TwoDimensionalCodeValidate tdcv = new TimeStampUUIDValidate();
			System.out.println("validate:"+tdcv.validate(lo.two_dim_code));
			if(tdcv.validate(lo.two_dim_code)){
				System.out.println("--");
				CacheOperation co = new MemCachedOperation();
				co.saveData(lo);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
 

二。非序列化数据

 

                public String testPost() throws IOException{
		System.out.println("----得到POST传递过来的对象——doPost start----");
		InputStream in = ServletActionContext.getRequest().getInputStream();
		byte[] bytes = new byte[1024*4];
		int read = in.read(bytes);
		System.out.println("read:"+read);
		JSONObject returnjson = new JSONObject();
		
		
		LoginObj obj = new LoginObj();
		
		if( read > 0 )
		{
			String str = new String(bytes,0,read);
			System.out.println(str );
			
			try {
				JSONObject json = new JSONObject(str);		
				
				obj.getValue(json);
				TwoDimensionalCodeValidate tdcv = new TimeStampUUIDValidate();
				System.out.println("validate:"+tdcv.validate(obj.two_dim_code));
				if(tdcv.validate(obj.two_dim_code)){
					CacheOperation co = new MemCachedOperation();
					co.saveData(obj);
					returnjson.put("ret", 1);
				}else{
					returnjson.put("ret", 2);
				}
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			PrintWriter out;
			ServletOutputStream  ps ;
			ps = ServletActionContext.getResponse().getOutputStream();
			//ps.print(returnjson.toString().getBytes("UTF-8")); 
			byte[] out_bytes = returnjson.toString().getBytes("UTF-8");
			ps.write(out_bytes, 0, out_bytes.length);
			ps.flush();
			ps.close();
			return null;
			
		}else{
			try {
				returnjson.put("ret", 0);
			} catch (JSONException e) {
				e.printStackTrace();
			}
			PrintWriter out;
			out = ServletActionContext.getResponse().getWriter();
			out.print(returnjson);  
			
			return null;
		}
		
	}
分享到:
评论

相关推荐

    说一说servlet的生命周期

     当客户第一次请求时,首先判断是否存在servlet对象,第一次请求时不存在,则由tomcat创建对象,调用init()方法对其初始化,用service()方法判断是post请求还是get请求,调用对应的方法返回给客户。  当客户第...

    java Rest 接口

     REST是一套用来创建Web Service的方法。  REST式的Web Service的主旨是让事情尽量的简单化。... REST式的Web Service调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值的。

    AWS S3 对象云存储。SDK msvc_x64下使用,vs2019编译 debug库。

    每个 bucket 下每秒可达 3500 PUT/COPY/POST/DELETE 或 5500 GET/HEAD 请求 具备版本,权限控制能力 具备数据生命周期管理能力 作为一个对象存储服务,S3 功能真的很完备。如果不用搭梯子,访问快,我还真想过拿它来...

    java_web_service_example:玩具项目来检查如何使用用 java 编写的 web 服务 - 为用户输入生成一些表单,基于它创建发送到 web 服务的 xml 请求

    - 将浏览器指向: - 在 html 表单中输入测试参数并按下提交按钮 - 生成的类似 adf 的 xml post 请求将被转发到 Web 服务 - 它将解析 xml 请求并创建 ADF 类(所有检查都将在构造函数中应用) - 调用 ADF 对象的方法...

    java-servlet-api.doc

    当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。 Servlet也可以执行ServletRequest接口和ServletResponse接口。...

    taobao-sdk-java-auto_1479188381469-20191021.jar

    (2)构造Request对象,接口对应的request对象,一般规则是Oapi+接口Path驼峰形式+Request,如/user/get接口,请求对象是OapiUserGetRequest。 (3)调用Request的方法设置参数,注意参数HttpMethod,默认是POST,...

    bitburst-coding-test

    如分配中所述,服务通过请求正文中的对象ID数组接受对/callback路由的POST请求。 在每个回调请求上,它将启动这些对象的异步更新,并立即以202 Accepted响应客户端。 对于每个对象,服务都通过tester_service的ID...

    logging-service:通过HTTP侦听消息并将其记录到控制台的节点服务

    POST消息->将属性'type'和'message'作为JSON对象发送 支持的类型值:日志,错误,警告,信息(每个都给出不同的颜色消息,如果未提供则默认为日志或无效类型) 运行服务 在命令行cd中,进入logging-service目录并...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    乐优商城.xmind

    GET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上 defaultValue 默认值 required 默认值为true , 当为false时 这个注解可以不传这个参数 null || .size()==0 ResponseEntity...

    ZendFramework中文文档

    7.4.3. 子类化请求对象 7.5. 标准路由器:Zend_Controller_Router_Rewrite 7.5.1. 简介 7.5.2. 使用路由器 7.5.3. 基本的Rewrite路由器操作 7.5.4. 缺省路由 7.5.5. 基本 URL 和子目录 7.5.6. Route Types ...

    JSP/Servlet Java面试逻辑题

    通过调用service()方法实现,根据请求的不同调用不同的do***()方法。 结束服务,web容器调用servlet的destroy()方法。 3、Servlet的基本架构 public class ServletName extends HttpServlet { public void ...

    FoC-2015:2015年YRS代码节

    POST / api / user创建/“认证”用户传递json对象,其中包含:firstName,lastName,gender,minAge,maxAge,数字,电子邮件,serviceID,serviceName返回{“ userID”:“ 14”}。 将其存储以在以后发出匹配请求或...

    java实现校园一卡通源码-SpringBoot:弹簧靴

    本项目统一使用post请求访问接口, 使用AdapterController作为统一的api入口. 请求业务模块为service的类名,请求业务方法为service的方法名, 在AdapterController方法中,通过@PathVariable获取请求参数中的模块与业务...

    java实现校园一卡通源码-vn-server2:vn-server2

    本项目统一使用post请求访问接口, 使用AdapterController作为统一的api入口. 请求业务模块为service的类名,请求业务方法为service的方法名, 在AdapterController方法中,通过@PathVariable获取请求参数中的模块与业务...

    java 面试题 总结

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload...

    Kubernetes_API_notes:跟踪我向kubernetes添加功能的进度

    观看 笔记: kubectl向kube-api-server发出HTTP POST请求,并且kube-api-server返回HTTP响应。 让我们深入了解它。 kubectl将使用来执行kubectl 在内部,我们将有一个 该创建一个,负责获取通过-f标志或-k标志...

    dropservice:Node.js REST API,用于存储消息以在24小时内一次性访问

    将请求的主体设置为具有单个键/值对的JSON对象。 密钥必须是message 。 例子: fetch ( 'http://drop-service.herokuapp.com/drop' , { method : 'POST' , headers : { "Content-Type" : "application/json" ...

    sh-rate-service

    SpotHero费率服务器 ... 您可以使用POST速率/端点添加速率以缓存或清除缓存并以不同的json开头,您可以将速率对象列表传递给POST速率/新端点 API文件 可以通过在端点处的swagger查看端点文档:“ swagger.jso

    app-logging-angular-service:将客户端日志提交到服务器的服务

    公开以下内容,所有这些都需要日志记录配置对象: exceptionLoggingService applicationLoggingService userErrorReport 要传递给每个服务的config对象具有以下属性: LOGGING_THRESHOLD 跟踪/调试/信息/警告/错误...

Global site tag (gtag.js) - Google Analytics