带有{}大括号的Spring MVC @Path变量

我正在使用弹簧靴开发应用程序。 在REST控制器中,我更喜欢使用路径变量( @PathVariabale注释)。 我的代码获取路径变量,但它在url中包含{}大括号。 请任何人建议我解决这个问题 @RequestMapping(value = “/user/item/{loginName}”, method = RequestMethod.GET) public void getSourceDetails(@PathVariable String loginName) { try { System.out.println(loginName); // it print like this {john} } catch (Exception e) { LOG.error(e); } } url http://localhost:8080/user/item/{john} 输出控制器 {约翰}

使用SSLSocket的SOCKS5代理

我有一个客户端/服务器应用程序,通过Java的SSLSocket远程连接到服务器。 我正在尝试实现一个可选模式,通过经过身份validation的SOCKS v5代理启用连接。 我尝试使用相关的教程,但没有具体提及有关SSL的任何内容。 我已经尝试设置系统范围的属性(“socksProxyHost”和“socksProxyPort”)但它似乎没有做任何事情。 我的下一个方法是在SSLSocketFactory中使用工厂方法: String proxyHost = Config.prefs.get(“PROXY_NAME”, “localhost”); int proxyPort = Config.prefs.getInt(“PROXY_PORT”, 1080); InetSocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort); Socket underlying = new SSLSocket(new Proxy(Proxy.Type.SOCKS, proxyAddr)); underlying.connect(new InetSocketAddress(getHost(), getPort())); socket = (SSLSocket) factory.createSocket( underlying, getHost(), getPort(), true); 但是这种方法的问题是createSocket方法要求底层套接字已经连接,我的服务器不接受非SSL连接。 使用SOCKS连接到远程服务器的最佳方法是什么? 此外,我接下来不知道如何在此系统中为经过身份validation的SOCKS提供用户名/密码。 谢谢!

无法在以感叹号结尾的目录中打开资源(!)

每当在以感叹号结尾的目录中运行可执行jar时, getResourceAsStream -method都返回null。 对于以下示例,我有一个Eclipse项目具有以下目录结构: src\ (Source Folder) main\ (Package) Main.java res\ (Source Folder) images\ Logo.png 我正在阅读Logo.png如下: public static void main(String[] args) throws IOException { try (InputStream is = Main.class.getClassLoader().getResourceAsStream(“images/Logo.png”)) { Image image = ImageIO.read(is); System.out.println(image); } } 请参阅2个测试用例的附件。 首先,可执行jar从目录“D:\ test123!@#”启动而没有任何问题。 其次,可执行jar从目录“D:\ test123!@#!!!”启动,有问题。 是否不支持以感叹号结尾的目录? 代码错了吗? 提前致谢。

如何实现椭圆GradientPaint?

我们知道在Java中有一个名为RadialGradientPaint的类,我们可以使用它来为圆形绘制渐变画。 但是我想要一个椭圆形(椭圆形) GradientPaint 。 如何实现椭圆GradientPaint ?

如何使用javapackager查找自动模块

我正在使用javapackager捆绑一个应用程序,其中主jar是一个带有module-info.class的模块,但它依赖于许多其他普通旧jar的jar,因此我将它们称为module-info.java中的自动模块。 然而, javapackager抱怨无法找到它们。 如何让它找到自动模块的jar文件? Exception: jdk.tools.jlink.plugin.PluginException: java.lang.module.FindException: Module rcf not found, required by com.username.commander.ui Exception in thread “main” com.sun.javafx.tools.packager.PackagerException: Error: Bundler “Mac Application Image” (mac.app) failed to produce a bundle. at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:374) at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:348) at jdk.packager/com.sun.javafx.tools.packager.Main.main(Main.java:496) 我已经尝试指定模块路径(第一个dir只有主模块jar,第二个dir有所有非模块jar): /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin/javapackager -deploy -native image \ -name Commander -title Commander -vendor “username” \ –module-path /Users/username/Dropbox/coding/commander/Commander-java/moduleJars:/Users/username/Dropbox/coding/commander/Commander-java/packageJars \ –module com.username.commander.ui/com.username.commander.ui.AppWindow \ […]

递归通用用法

编辑:“ 我从’erickson’那里得到了一个非常恰当的答案,但是有一个问题(向上?),这个问题没有在我的原始例子中明确涵盖,并且没有用他的答案解决。我已经将示例扩展到涵盖了这个问题,我已经把它包含在这篇文章的末尾。谢谢你的帮助。 我目前正面临Javagenerics的问题,这个问题与被称为“奇怪的重复通用模式”的东西有关 。 我认为在阅读Jon Skeet对这个问题“java enum definition”的回答后,我找到了解决方案。 然而,当我尝试在我的代码中应用它时,我发现自己遇到了不同的问题。 我想出了一个“小”的例子,我面临的问题出现了。 我希望能够清楚地说明我的问题。 示例说明:我想构建一个节点类型可能不同的图形。 我已经定义了一个抽象类Node ,它定义了一些基本方法,以及一个实现这些方法的具体类,即ConcreteNode 。 我还创建了一个名为City的ConcreteNode专门化。 在给定的图中,一个重要的要求是所有元素应该由它的相同类型或子类型组成,即ConcreteNode的图形只能有ConcreteNodes 或 Cities。 这些是我的类的定义: abstract class Node<T extends Node> class ConcreteNode<T extends ConcreteNode> extends Node class City extends ConcreteNode 这些定义使用了Enum类定义中的“Recurring Generic Pattern”: Class Enum<E extends Enum> 问题:我在使用这些课时遇到了问题。 如果我必须留在层次结构中的城市级别,即将城市连接到城市,我没有问题,但是在尝试访问其他课程时我遇到了很大的问题。 在下面的代码中,我可以在GraphUtil的方法签名中看到我的问题: addNewNeighbors1a使用原始类型Node,但至少它可以工作。 addNewNeighbors1b使用Node类型,但它根本不编译(错误包含在代码中)。 addNewNeighbors1c使用一个更复杂的Node参数,我希望它能工作,但它不能编译(错误包含在代码中)。 addNewNeighbors3使用Node的复杂参数,但它不会再次编译,即使node和newNode的参数相同。 在综合中,我的问题是如何对这些自身参数化的generics类型进行升级? 。 我很高兴能获得有关GraphUtil方法的最佳签名的帮助,假设这些方法将位于一个对City甚至ConcreteNode一无所知的库中。 谢谢你们。 这是示例的完整代码 package […]

JPA SQL Server没有JDBC类型的Dialect映射:-9

我写了一个原生查询 Query query = entityManagerUtil.getEntityManager().createNativeQuery(“SELECT c.NodeID,c.Code,c.Name FROM COM_Location c”); query.getResultList(); 但它对我不起作用…. 我使用JPA,MSSQL Server 2008和Spring.It当我尝试用pojo类编写JPA查询但它无法执行本机查询时工作正常。 我在persistance.xml配置是这样的 任何人都建议我解决问题 我的堆栈跟踪说…… org.springframework.orm.jpa.JpaSystemException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: -9 at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:311) at org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect.ajc$afterThrowing$org_springframework_orm_jpa_aspectj_JpaExceptionTranslatorAspect$1$18a1ac9(JpaExceptionTranslatorAspect.aj:15) at com.iconma.carz.daoimpl.SecurityDaoImpl.getAllLocations(SecurityDaoImpl.java:40) at com.iconma.carz.serviceimpl.SecurityServiceImpl.getAllLocations(SecurityServiceImpl.java:31) at com.iconma.carz.controllers.SecurityController.getLocations(SecurityController.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) […]

我是否可以为每种不同类型的inheritance类使用静态变量的不同副本

我希望具有相同的静态变量,具有不同的值,具体取决于类的类型。 所以我会的 public class Entity { public static Bitmap sprite; public void draw(Canvas canvas, int x, int y) { canvas.drawBitmap(sprite, x, y, null); } } public class Marine extends Entity { } public class Genestealer extends Entity { } 然后在我的主程序中去: Marine.sprite = // Load sprite for all instances of Marine Genestealer.sprite = // Load sprite […]

带有参数的getter的JSTL或JSP 2.0 EL

如何使用JSTL或JSP 2.0 EL访问具有参数的getter? 我想访问这样的东西: public FieldInfo getFieldInfo(String fieldName) { …. } 我可以使用映射属性在Struts中访问它,但不知道它是否可以在JSTL或JSP 2.0中使用。 我尝试了一切,但没有工作。

可怕的java.lang.NoClassDefFoundError

我已经查看了许多关于此错误的现有线程,但仍然没有运气。 我甚至没有尝试打包或使用任何第三方包装工具。 我只是在Eclipse中运行(效果很好),然后尝试从命令行运行完全相同的应用程序,在它构建的同一位置(收到此错误)。 我的目标是能够压缩bin文件夹并将其发送给其他人通过命令行脚本运行。 一些细节: 它是一个命令行应用程序,我使用commons-lang-2.4.jar作为字符串实用程序。 那是无法找到的文件(具体是“java.lang.NoClassDefFoundError:org / apache / commons / lang / StringEscapeUtils”) 我在我的lib文件夹中有那个jar,并通过右键单击“Build Path – > Add to Build Path”将它添加到我在Eclipse的构建路径中 .classpath文件看起来正确并包含对jar的引用,但我认为该文件仅供Eclipse使用(包含以下行: ) 这可能与Eclipse工作目录设置有关吗? 我有一些我在src / templates下创建的内部模板文件,我能看到的唯一方法就是将项目工作目录设置为AppName / src。 也许我应该把那些放在其他地方? 如果有任何其他信息可以帮助我,请告诉我。 当然这很简单,但此时我浪费了太多时间。 这让我想起为什么我最初在05年左右离开了Java …