JAVA Swing中的谷歌地图

这是我的代码。 没有编译错误,但我没有获得所需的输出:地图没有出现。 我想在我的JPanel中打开Goog​​le静态地图,并希望将其保存在我的本地驱动器上。 这是我正在使用的代码。 请指导我出错的地方。 try { String imageUrl = “http://maps.google.com/staticmap?center=40,26&zoom=1&size=150×112&maptype=satellite&key=ABQIAAAAgb5KEVTm54vkPcAkU9xOvBR30EG5jFWfUzfYJTWEkWk2p04CHxTGDNV791-cU95kOnweeZ0SsURYSA&format=jpg”; String destinationFile = “image.jpg”; str = destinationFile; URL url = new URL(imageUrl); InputStream is = url.openStream(); OutputStream os = new FileOutputStream(destinationFile); byte[] b = new byte[2048]; int length; while ((length = is.read(b)) != -1) { os.write(b, 0, length); } is.close(); os.close(); } catch (IOException […]

JSR303自定义validation器被调用两次

我正在使用Spring MVC创建一个网站,并且为了持久性我使用Spring Data JPA和Hibernate 4作为我的JPA提供者。 目前正在使用Hibernate Validator处理validation。 我有一个问题,我的validation器被调用两次,我无法弄清楚为什么。 这是一个问题的主要原因是因为第二轮,依赖关系没有自动连接到validation器,我得到一个空指针exception。 以下是导致失败的呼叫序列: 提交注册表单,首先调用NotDefaultSectValidator并成功完成用户对象上的“whereDidYouHearAboutUs”字段。 接下来调用UniqueUsernameValidator并成功完成“用户名”字段validation。 控制器上的’addUserFromForm’方法启动,并在bindingResults对象中找不到任何错误。 然后在UserService类上调用’addUser’方法。 此方法到达’userRepository.save(user);’行 但之后不要立即运行’print.ln’行。 单步执行此行将返回到“NotDefaultSectValidator”断点。 这是第二次完成,我重新输入第二个validation器’UniqueUsernameValidator’。 这里我得到一个空指针exception,因为出于某种原因,Spring第二次无法在DAO中自动assembly。 任何人都可以阐明为什么validation器被调用两次,特别是为什么要跨越’userRepository.save(user);’ 回到这些validation器? 非常感谢 这是我的user.java类 package com.dating.domain; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.PrePersist; import javax.persistence.PreUpdate; import javax.persistence.Table; […]

从Lucene找到搜索命中的位置

使用Lucene,在搜索结果中找到匹配的推荐方法是什么? 更具体地说,假设索引文档具有字段“fullText”,其存储某些文档的纯文本内容。 此外,假设对于这些文件中的一个,内容是“快速的棕色狐狸跳过懒狗”。 接下来,搜索“狐狸狗”。 显然,这份文件很受欢迎。 在这种情况下,Lucene可以用来提供类似于找到的文档的匹配区域吗? 所以对于这种情况,我想产生类似的东西: [{match: “fox”, startIndex: 10, length: 3}, {match: “dog”, startIndex: 34, length: 3}] 我怀疑它可以通过org.apache.lucene.search.highlight包中提供的内容来实现。 我不确定整体方法……

获取mybatis中最后插入记录的ID

我是mybatis的新手。 我想获取最后插入记录的ID。 我的数据库是mysql,我的mapper xml是 SELECT LAST_INSERT_ID() as id insert into fileAttachment name, size, #{name,jdbcType=VARCHAR}, #{attachmentFileSize,jdbcType=INTEGER}, 我认为这里写的语句’SELECT LAST_INSERT_ID()as id’应该返回最后插入记录的id但是我在插入记录后总是1。 我的mapper.java类我有方法 int insertSelective(FileAttachment record); 在我正在使用的dao课程中 int id = fileAttachmentMapper.insertSelective(fileAttachment); 插入新记录时,我的ID值始终为1。 我的Id字段自动递增,记录正确插入。

一次替换多个子串

假设我有一个文件,其中包含一些文字。 其中有子字符串,如“substr1”,“substr2”,“substr3”等。 我需要用其他一些文本替换所有这些子串,例如“repl1”,“repl2”,“repl3”。 在Python中,我会创建一个这样的字典: { “substr1”: “repl1”, “substr2”: “repl2”, “substr3”: “repl3” } 并创建用’|’连接键的模式,然后用re.sub函数替换。 在Java中是否有类似的简单方法?

启用AngularJS到Jersey的CORS发布请求

我正在尝试将一个JSON文档从AngularJS应用程序发布到Jersey REST服务。 请求失败,通知我: XMLHttpRequest cannot load http://localhost:8080/my.rest.service/api/order/addOrder. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost’ is therefore not allowed access. Jersey REST Postfunction 我启用了(我相信的)适当的标题:响应的Access-Control-Allow-Origin和Access-Control-Allow-Methods ,如下面的方法所示: @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @Path(“/addOrder”) public Response addOrder(DBObject dbobject) { DB db = mongo.getDB(“staffing”); DBCollection col = db.getCollection(“orders”); col.insert(dbobject); ObjectId id = (ObjectId)dbobject.get(“_id”); return Response.ok() .entity(id) .header(“Access-Control-Allow-Origin”,”*”) .header(“Access-Control-Allow-Methods”, […]

谷歌界面X509TrustManager的不安全实现

我在谷歌播放中使用了一个应用程序,我收到了谷歌的一封邮件说: 您在此电子邮件末尾列出的应用使用了界面X509TrustManager的不安全实现。 具体而言,在与远程主机建立HTTPS连接时,该实现会忽略所有SSL证书validation错误,从而使您的应用容易受到中间人攻击。 要正确处理SSL证书validation,请在自定义X509TrustManager接口的checkServerTrusted方法中更改代码,以便在服务器提供的证书不符合您的期望时引发CertificateException或IllegalArgumentException。 我的应用使用“https”,我的checkServerTrusted()如下: TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } }; 然后我修改这个function: TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { […]

何时初始化实例变量并分配值?

当doees实例变量初始化? 是在构造函数块完成之后还是之前? 考虑这个例子: public abstract class Parent { public Parent(){ System.out.println(“Parent Constructor”); init(); } public void init(){ System.out.println(“parent Init()”); } } public class Child extends Parent { private Integer attribute1; private Integer attribute2 = null; public Child(){ super(); System.out.println(“Child Constructor”); } public void init(){ System.out.println(“Child init()”); super.init(); attribute1 = new Integer(100); attribute2 = new Integer(200); […]

Eclipse在单独的窗口中打开控制台应用

有没有办法在新窗口中配置eclipse打开控制台应用程序而不是在运行/调试它们时自己的控制台? 我正在调试客户端/服务器应用程序,我希望一次看到两个应用程序的输出,而不必在选项卡之间切换…

在Datatable JSF中显示Set集合中的对象不起作用

任何原因如Set objects = new HashSet(); 不应该在JSF Datatable中工作? 它适用于List。