Tag: java

HttpServletRequest获取JSON POST数据

可能重复: 从HttpServletRequest中检索JSON对象 我是HTTP POST-URL到URL http:// laptop:8080 / apollo / services / rpc?cmd = execute 与POST数据 { "jsondata" : "data" } Http请求具有Content-Type application/json; charset=UTF-8 application/json; charset=UTF-8 如何从HttpServletRequest获取POST数据(jsondata)? 如果我枚举请求参数,我只能看到一个参数,它是“cmd”,而不是POST数据。

Java:为什么SSL握手给“无法生成DH密钥对”异常?

当我与一些IRC服务器进行SSL连接(而不是其他的 – 大概是由于服务器的首选加密方法),我得到以下异常: Caused by: java.lang.RuntimeException: Could not generate DH keypair at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:106) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:183) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165) … 3 more 最终原因: Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive) at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..) at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627) at […]

使用Volley和不使用HttpEntity的POST多部分请求

这不是一个真正的问题,但是,我想分享一些我的工作代码在这里供您参考,当你需要的时候。 因为我们知道HttpEntity已经从API22中弃用了,并且从API23开始就被删除了。 目前,我们无法再访问Android Developer上的HttpEntity Reference (404)。 所以,以下是我的工作示例代码,用于使用Volley而不使用HttpEntity的POST Multipart Request 。 它的工作,用Asp.Net Web API进行测试。 当然,这个代码也许只是一个基本的样本,而且它并不是所有情况下的最佳解决方案,也不是所有的可调整文件。 任何建议更好/更美丽的代码将不胜感激。 希望这可以帮助! MultipartActivity.java: package com.example.multipartvolley; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.android.volley.NetworkResponse; import com.android.volley.Response; import com.android.volley.VolleyError; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; public class […]

收到致命警报:handshake_failure通过SSLHandshakeException

我有一个授权SSL连接的问题。 我创建了使用客户端授权SSL证书连接到外部服务器的Struts Action。 在我的行动中,我试图发送一些数据到银行服务器,但没有任何运气,因为我从服务器的结果有以下错误: error: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 我的方法从我的操作类发送数据到服务器 //Getting external IP from host URL whatismyip = new URL("http://automation.whatismyip.com/n09230945.asp"); BufferedReader inIP = new BufferedReader(new InputStreamReader(whatismyip.openStream())); String IPStr = inIP.readLine(); //IP as a String Merchant merchant; System.out.println("amount: " + amount + ", currency: " + currency + ", clientIp: " + IPStr + ", […]

Android写入SD卡文件夹

我使用下面的代码从我的服务器下载文件,然后将其写入到SD卡的根目录,它一切正常: package com.downloader; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.os.Environment; import android.util.Log; public class Downloader { public void DownloadFile(String fileURL, String fileName) { try { File root = Environment.getExternalStorageDirectory(); URL u = new URL(fileURL); HttpURLConnection c = (HttpURLConnection) u.openConnection(); c.setRequestMethod("GET"); c.setDoOutput(true); c.connect(); FileOutputStream f = new FileOutputStream(new File(root, fileName)); InputStream […]

为什么数组是协变的,但泛型是不变的?

来自Joshua Bloch的Effective Java, 数组在两个重要方面与泛型不同。 第一个数组是协变的。 泛型是不变的。 协变简单地意味着如果X是Y的子类型,那么X []也将是Y []的子类型。 数组是协变的因为字符串是Object So的子类型 String[] is subtype of Object[] 不变简单地意味着不管X是否是Y的子类型, List<X> will not be subType of List<Y>. 我的问题是为什么决定在Java中使数组协变? 还有其他的SO帖子,比如为什么数组是不变的,但是列表是协变的? ,但他们似乎集中在斯卡拉,我不能遵循。

确定一个字符串是否是一个整数在Java中

我试图确定一个字符串数组中的特定项是否是一个整数。 我是.split(" ")'ing一个String形式的中缀表达式,然后试图将结果数组拆分成两个数组; 一个用于整数,一个用于操作员,同时舍弃括号和其他杂项。 什么是最好的方法来完成这个? 我想我可能能找到一个Integer.isInteger(String arg)方法或其他东西,但没有这样的运气。

Java安装的环境变量

如何在windows中设置java的环境变量(类路径)

如何避免在部署应用程序时安装“无限强度”JCE策略文件?

我有一个使用256位AES加密的应用程序,Java不支持开箱即用。 我知道得到这个功能正常我安装JCE无限强度罐在安全文件夹。 这对我是开发者来说很好,我可以安装它们。 我的问题是,因为这个应用程序将被分发,最终用户很可能不会有这些策略文件安装。 让最终用户下载这些只是为了使应用程序功能不是一个有吸引力的解决方案。 有没有办法让我的应用程序运行而不覆盖最终用户机器上的文件? 可以在没有安装策略文件的情况下处理它的第三方软件? 或者从JAR中引用这些策略文件的方法?

如何找到Java内存泄漏

如何找到Java中的内存泄漏(例如,使用JHat)? 我已经尝试在JHat中加载堆转储以获得基本的外观。 但是,我不明白我应该如何能够找到根引用( ref )或任何它被称为。 基本上,我可以告诉有几百兆哈希表条目([java.util.HashMap $条目或类似的东西),但地图遍布的地方…有没有办法搜索大地图,或者找到大对象树的一般根源? [编辑]好吧,我已经阅读了答案,但我们只是说我是一个便宜的混蛋(这意味着我更感兴趣学习如何使用JHat比支付JProfiler)。 此外,JHat始终可用,因为它是JDK的一部分。 除非JHat没有办法,否则蛮力,但我不敢相信可以这样。 此外,我不认为我将能够实际修改(添加所有地图大小的日志记录)并运行足够长的时间,以便我注意到泄漏。