`
taiwei.peng
  • 浏览: 228128 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

模块之间调用form 表单提交

    博客分类:
  • java
阅读更多

package com.soft.util;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLDecoder;

import java.nio.charset.Charset;

 

import org.apache.commons.lang.StringUtils;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

 

/**

 * POST支持发送二进制数据

 */

public class HttpUtilGet {

 

private static final Log logger = LogFactory.getLog(HttpUtilGet.class);

 

private static final String charset = "UTF-8" ; 

private static final String timeOut = "2000" ; //单位毫秒,超时设置为2秒

 

public static String sendHttpUrlGet(String url, String data) {

try {

URL urlGet = new URL(url);

HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();

http.setRequestMethod("GET"); // 必须是get方式请求

http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

http.setDoOutput(true);

http.setDoInput(true);

System.setProperty("sun.net.client.defaultConnectTimeout", timeOut);// 连接超时5秒

System.setProperty("sun.net.client.defaultReadTimeout", timeOut); // 读取超时5秒

http.connect();

if (StringUtils.isNotBlank(data)) {

OutputStream os = http.getOutputStream();

os.write(data.getBytes(charset));// 传入参数

os.flush();

if(os != null){

os.close();

}

}

InputStream is = http.getInputStream();

String message = transInputStreamToString(is, charset) ;  

return message;

} catch (Exception e) {

e.printStackTrace();

logger.error(e.getMessage(), e);

}

return null;

}

 

 

public static String sendHttpUrlPOST(String url, String data) {

try {

URL urlGet = new URL(url);

HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();

http.setRequestMethod("POST"); 

http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

http.setDoOutput(true);

http.setDoInput(true);

System.setProperty("sun.net.client.defaultConnectTimeout", timeOut);// 连接超时5秒

System.setProperty("sun.net.client.defaultReadTimeout", timeOut); // 读取超时5秒

http.connect();

if (StringUtils.isNotBlank(data)) {

OutputStream os = http.getOutputStream();

os.write(data.getBytes(charset));// 传入参数

os.flush();

if(os != null){

os.close();

}

}

InputStream is = http.getInputStream();

String message = transInputStreamToString(is, charset) ;  

return message;

} catch (Exception e) {

e.printStackTrace();

logger.error(e.getMessage(), e);

}

return null;

}

 

/**

* 输入流转字符串,出现过解析数据丢失的情况

* @author liujf 2017年4月26日 下午2:16:54

* @param is

* @param encoding

* @return

*/

protected static String tansIsToString(InputStream is, String encoding) {

try {

int size = is.available();

byte[] jsonBytes = new byte[size];

is.read(jsonBytes);

String message = new String(jsonBytes, encoding);

return message ;

} catch (Exception e) {

 

}finally{

if(is != null){

try {

is.close();

} catch (IOException e) {

 

}

}

}

return null;

}

 

/**

* 输入流转字符串

* @author liujf 2017年4月26日 下午2:17:50

* @param is

* @param encoding

* @return

*/

private static String transInputStreamToString(InputStream is, String encoding) {

String line = null;

StringBuffer sb = new StringBuffer();

BufferedReader br = new BufferedReader(new InputStreamReader(is,Charset.forName(encoding))); //一定传编码,否则会出现乱码

try {

while ((line = br.readLine()) != null) {

sb.append(line);

}

return URLDecoder.decode(sb.toString(), encoding);

} catch (IOException e1) {

e1.printStackTrace();

} finally {

try {

if (br != null) {

br.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return sb.toString();

}

 

}

 

分享到:
评论

相关推荐

    【JavaScript源代码】nodejs获取表单数据的三种方法实例.docx

     nodejs作为服务端语言,在开发中注册登录等需通过form表单向后端发送数据进行判断,那作为服务端语言的nodejs通过哪些方法可以接收调用form表单的post请求值呢。 常见的会用到以下三种,让我们对着例子看看具体...

    c#在多线程中访问Form中控件的多种解决方案

    c#在多线程中访问Form中控件的多种解决方案,是我看到的最好最全的方案,贡献给大家看看,希望有所启发

    valid-form:HTML5 表单验证助手

    有关背景信息,请查看指向此模块的。 HTML5 表单验证功能非常好,但也有一些缺陷。 ValidForm是HTML5功能的一层,并尝试通过三件事来增强它们: 输入无效时的invalid类。 此类提供比:input伪选择器更好的用户反馈...

    php HttpRequest class HTTP请求类及调用示例.rar

     setFormdata 设置表单数据  setFiledata 设置文件数据  send 发送数据  connect 创建连接  disconnect 断开连接  sendGet get 方式,处理发送的数据,不会处理文件数据  sendPost post 方式,处理发送的数据  ...

    基于django框架的股票系统代码

    股票系统模型 前端:页面显示模块化 k线显示 后端:django框架,调用第三方获取数据代码说明: views.py 逻辑代码 urls.py 路由跳转 models.py 用于数据库ORM data.py 调用tushare获取股票实时数据 forms.py 定义...

    angular-crud-kit:AngularJS 模块,用于使用 JSON 模式构建模型、构建表单并与 RESTful API 服务交互

    ck-form 和 ck-field 标签可帮助您构建和重用表单控件。 (即将推出)ck-field 将使用 swagger-spec 自动选择正确的表单控件模板。 JsonApi 服务管理您的 api 调用,目前支持。 无需编写自己的 HTTP 请求。 服务器...

    AspBox-v1.3.2工具API

    Form表单处理块 Fso操作类操作 Html控件 Http对XMLHttp处理块 Error错误处理块 Json处理块 jsLib(JS脚本核心引用操作) List处理各种List对象 Mail邮件处理块 PY拼音转换模块 Rnd随机数函数块 Session操作类 Sc脚本...

    business-component:react组件封装,基于antd二次封装的业务组件,主要为表单,表格,model弹窗

    react 常用组件API调用的模块化封装 项目启动 npm install npm run server npm run build 发布 npm install webpack-cli --save-dev 配置环境变量 cross-env 项目介绍 工作中发现我们在做react后台管理系统的时候,...

    formeo:拖放表单生成器

    要开始使用此模块构建表单,请在您的项目中包含formeo.min.js和formeo.min.css并调用: import { FormeoEditor , FormeoRenderer } from 'formeo' // Set up a form builder const editor = new FormeoEditor ( ...

    DevExpressVCL18.2.8.rar

    T733443 - Ribbon Form - 在使用皮肤时,如果ribbon样式为rs2013或更新时,则打开的Backstage视图中不正确地绘制表单的边框的问题 T731314 - TdxOfficeSearchBox - 在下拉菜单显示搜索结果时释放Alt Gr键将关闭菜单...

    asp留言板系统

     2、可调用留言,能做为评论模块用于其他系统的开发.  3、代码简洁,功能实用. 使用说明:  2、帐号密码以及一些参数在gustbook_Conn.asp中修改,用记事本打开,里面有注释。初始帐号密码都为:admin  3、...

    eWebSoft在线文本编辑器

    可以在同一个表单Form里有多个eWebEditor,也可以在同一页里有多个eWebEditor,也可以有多个样式不同的eWebEditor。 大文件支持 一般的输入框有102399字节的限制(100K左右),大文本内容不能使用,而eWebEditor...

    ewebeditor

    可以在同一个表单Form里有多个eWebEditor,也可以在同一页里有多个eWebEditor,也可以有多个样式不同的eWebEditor。 大文件支持 一般的输入框有102399字节的限制(100K左右),大文本内容不能使用,而eWebEditor...

    Java毕业设计:基于springboot的小区物业管理系统(源码+文档+录像演示).zip

    输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。 (4)收费信息管理 描述:管理员点击左侧的菜单“收费信息管理”,页面跳转到收费信息...

    validator.js:轻量级的 JavaScript 表单验证,字符串验证。没有依赖,支持 UMD ,~3kb

    安装使用模块在应用中引用 validator.min.js 文件# npm 安装$ npm install validator.tool --save# bower 安装$ bower info validator.tool在 .js 文件中调用// 字符串验证var validator = require('validator.tool'...

    python入门到高级全栈工程师培训 第3期 附课件代码

    08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的背景属性 第39章 01 css的文本...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    从输入框输入数据,在servlet层通过request.getParameter()获取form表单提交的参数,将获得的用户名、密码作为参数调用dao层的方法进行查询数据库,select * from t_user_info where username=? andpassword =? 如果...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    Dom提交表单及其他 Dom事件操作 Dom事件操作补充 Dom绑定时间的另外一种方式 JavaScript 词法分析解析 前端学习方法分享 Sublime Text工具使用介绍 谢幕 第17周 今日内容概要 jQuery 和Dom关系及jQuery版本 jQuery...

    Ext+JS高级程序设计.rar

    8.2 Form表单组件 226 8.2.1 DisplayField控件 226 8.2.2 在FormPanel中使用TabPanel 229 8.2.3 DirectLoad与DirectSubmit 232 8.2.4 使用DirectSubmit上传文件 235 8.3 Grid组件 238 8.3.1 一个结合DataWrite和...

    图书管理系统 大二上学期的期末大作业。感觉是一个不错的Javaweb的练手项目hh。

    注册的时候不要以form表单的形式直接提交信息,要采用ajax,以json的形式,向后台提交信息。 学生登录页面: 登录信息:学号、密码登录 用cookie(加密)使十天内记住账号信息 (提示:为了您的信息安全,请不要在...

Global site tag (gtag.js) - Google Analytics