在资源中找到未签名的条目

我有以下JNLP文件: TCM 2012 Drift og Performance, *** Servicecenter 现在,当我尝试从网上运行时,我收到以下错误: Found unsigned entry in resource 随着以下的曝光 com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://*****:****/tcm2012.jar at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source) at com.sun.javaws.security.SigningInfo.check(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source) at com.sun.javaws.Launcher.prepareResources(Unknown Source) at com.sun.javaws.Launcher.prepareAllResources(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.launch(Unknown Source) at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) […]

为什么“a ^ = b ^ = a ^ = b;”不同于“a ^ = b; b ^ = A; 一个^ = B;”?

我尝试了一些代码来交换Java中的两个整数而不使用第三个变量,使用XOR。 以下是我尝试的两个交换函数: package lang.numeric; public class SwapVarsDemo { public static void main(String[] args) { int a = 2984; int b = 87593; swapDemo1(a,b); swapDemo2(a,b); } private static void swapDemo1(int a, int b) { a^=b^=a^=b; System.out.println(“After swap: “+a+”,”+b); } private static void swapDemo2(int a, int b) { a^=b; b^=a; a^=b; System.out.println(“After swap: “+a+”,”+b); } } 此代码生成的输出如下: […]

我可以根据其字段的值获得枚举吗?

我想根据其字段值获取特定的枚举。 枚举: public enum CrimeCategory { ASBO (“Anti Social Behaviour”), BURG (“Burglary”), CRIMDAM (“Criminal Damage And Arson”), DRUGS (“Drugs”), OTHTHEFT (“Other Theft”), PUPDISOR (“Public Disorder And Weapons”), ROBBERY (“Robbery”), SHOPLIF (“Shoplifting”), VEHICLE (“Vehicle Crime”), VIOLENT (“Violent Crime”), OTHER (“Other Crime”); private String category; private CrimeCategory (String category) { this.category = category; } public String returnString() […]

如何解决“通过对等方重置连接:套接字写入错误”?

当我从服务器读取文件内容时,它返回以下错误消息: Caused by: java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.SocketOutputStream.write(Unknown Source) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240) at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119) at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192) at org.apache.coyote.Response.doWrite(Response.java:504) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383) … 28 more 我的servlet程序是 response.setContentType(“application/octet-stream”); response.setHeader(“Content-Disposition”,”attachment;filename=”+filename); FileInputStream in = new FileInputStream(new File(filepath)); ServletOutputStream output=response.getOutputStream(); byte[] outputByte=new byte[4096]; while(in.read(outputByte,0,4096)!=-1){ output.write(outputByte,0,4096);//error […]

如何使用iText以正确的顺序从PDF中提取图像?

我试图从PDF文件中提取图像。 我在网上找到了一个很好的例子: PdfReader reader; File file = new File(“example.pdf”); reader = new PdfReader(file.getAbsolutePath()); for (int i = 0; i < reader.getXrefSize(); i++) { PdfObject pdfobj = reader.getPdfObject(i); if (pdfobj == null || !pdfobj.isStream()) { continue; } PdfStream stream = (PdfStream) pdfobj; PdfObject pdfsubtype = stream.get(PdfName.SUBTYPE); if (pdfsubtype != null && pdfsubtype.toString().equals(PdfName.IMAGE.toString())) { byte[] img = […]

将C#RSACryptoServiceProvider转换为JAVA代码

我得到了由Web服务团队编写的这个C#代码,它公开了我计划使用的一些Web服务。 我的密码需要使用此代码加密,以便Web服务知道如何在其末端解密它。 using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { rsa.FromXmlString(publicKey); byte[] plainBytes = Encoding.Unicode.GetBytes(clearText); byte[] encryptedBytes = rsa.Encrypt(plainBytes, false); return Convert.ToBase64String(encryptedBytes); } 我正在使用Java来使用这个Web服务,而且现在,我在将#C代码转换为Java代码时遇到了问题,因为该Web服务无法正确解密我的密码。 这是我目前失败的尝试: – // my clear text password String clearTextPassword = “XXXXX”; // these values are provided by the web service team String modulusString = “…”; String publicExponentString = “…”; BigInteger modulus = new […]

将war应用程序名称与war文件名分隔开

目前,如果我在名为myapp.war tomcat上部署war文件,我可以通过http:// localhost / myapp / MyServlet访问其URL。 但是我想要的是在war文件名中部署一个带有版本号的war并且仍然具有相同的url。 例如,我想部署myapp-1.1.0.war并且仍然将URL设置为http:// localhost / myapp / MyServlet 当然我需要不断更新战争,版本号会不断变化,所以我不能在任何地方硬编码war文件名。 我是否可以使用web.xml任何设置来保持应用程序的相同url,而不管war文件名是什么?

JDBC驱动程序MS Access连接

我想用Java GUI程序连接我的MS访问文件,但我有连接问题…. 我有Windows 7 64b和ms office 2007.当我在控制面板中打开ODBC驱动程序管理器时,我没有找到任何Microsoft Access驱动程序(也许当我启动ODBC时开始运行64位ODBC,现在我认为正在运行32位ODBC。我读了这个,我做到了:“jdbc-odbc连接窗口7 64位机器.. 1.右键单击数据源(ODBC)..转到属性更改下面的事情 目标[%SystemRoot%\ SysWOW64 \ odbcad32.exe]开始于:[%SystemRoot%\ System32] 按回车键继续作为管理员源: 源链接 “)现在,当我在conctrol pannel中启动ODBC时,我可以看到驱动程序的屏幕截图 我的程序代码(我试过两种方法,但我有同样的错误): public void Connect() { try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); // String DatabaseFile = “D:java/Invertory.mdb”; // String DATABASE = // “jdbc:odbc:Driver=” // + “{Microsoft Access Driver (*.mdb, *.accdb)};” // + “DBQ=” + DatabaseFile;`enter code here` String DATABASE =”jdbc:odbc:Driver= […]

没有命名空间的xml的Java xsdvalidation

我想针对XSD架构validationXML文件。 XML文件根元素没有任何名称空间或xsi详细信息。 它没有属性,只有 。 我已经尝试了以下代码来自http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi.html而没有运气,因为我收到cvc-elt.1: Cannot find the declaration of element ‘root’ SchemaFactory factory = SchemaFactory.newInstance(“http://www.w3.org/2001/XMLSchema”); File schemaFile = new File(“schema.xsd”); Schema xsdScheme = factory.newSchema(schemaFile); Validator validator = xsdScheme.newValidator(); Source source = new StreamSource(xmlfile); validator.validate(source); xml使用包含的命名空间头文件(通过xmlspy添加)validation正常,但我认为可以声明xml命名空间而无需手动编辑源文件? 编辑和解决方案: public static void validateAgainstXSD(File file) { try { SchemaFactory factory = SchemaFactory.newInstance(“http://www.w3.org/2001/XMLSchema”); File schemaFile = new File(“path/to/xsd”); Schema […]

Java Nimbus LAF与透明文本字段

我有一个应用程序在几个地方使用禁用的JTextFields是透明的 – 允许显示背景而不是文本字段的正常背景。 运行新的Nimbus LAF时,这些字段是不透明的(尽管设置了setOpaque(false)),并且我的UI被破坏了。 好像LAF忽略了不透明的属性。 明确地设置背景颜色在几个地方都很困难,并且由于背景图像实际上不起作用而不是最佳 – 它仍然在顶部绘制LAF默认背景,留下类似边框的外观(下面的启动画面具有明确设置为匹配图像的背景)。 关于如何让Nimbus不为JTextField绘制背景的任何想法? 注意:我需要一个JTextField而不是JLabel,因为我需要线程安全的setText()和包装function。 注意:我的后备位置是继续使用系统LAF,但Nimbus确实看起来好多了。 见下面的示例图片。 结论 这种行为的惊喜是由于对Nimbus错误报告中setOpaque()的意图的错误解释: 这是Swing的原始设计以及它多年来一直令人困惑的问题。 问题是setOpaque(false)在退出LAF时产生了副作用,即隐藏背景并不是真正的背景。 可以说,我有透明部分和swing的组件应该在其后面绘制父组件。 不幸的是,Nimbus组件似乎也不尊重setBackground(null),否则这将是停止背景绘制的推荐方法。 设置完全透明的背景对我来说似乎不直观。 在我看来,setOpaque()/ isOpaque()是一个错误的公共API选择,应该只有: public boolean isFullyOpaque(); 我这样说,因为isOpaque()== true是与Swing的契约,组件子类将负责绘制它的整个背景 – 这意味着父级可以跳过绘制该区域(如果它需要)(这是一个重要的性能增强)。 外部的东西不能直接改变这个合同(合法地),其履行可以编码到组件中。 因此,不应使用setOpaque()设置组件的不透明度。 相反,像setBackground(null)之类的东西会导致许多组件“没有背景”,因此变得不完全不透明。 举例来说,在理想的世界中,大多数组件应该具有如下所示的isOpaque(): public boolean isOpaque() { return (background!=null); } 示例http://sofzh.miximages.com/java/sviczq.png 替代文字http://sofzh.miximages.com/java/35d80ao.png