Tag: java

如何使用Jsoup通过HTTPS进行连接?

它通过HTTP正常工作,但是当我尝试使用HTTPS源时,会引发以下exception: 10-12 13:22:11.169: WARN/System.err(332): javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:477) 10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:328) 10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.setupSecureSocket(HttpConnection.java:185) 10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:433) 10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeConnection(HttpsURLConnectionImpl.java:378) 10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205) 10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:152) 10-12 13:22:11.189: WARN/System.err(332): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:377) 10-12 13:22:11.189: […]

在Java中使用recursion的因子

我正在使用Java:The Complete Reference这本书学习Java。 目前我正在研究主题recursion。 请注意:在stackoverflow上也有类似的问题。 我搜查了他们,但我没有find解决我的问题。 我很困惑以下程序的逻辑。 如果我运行下面的程序,它会产生正确的输出,但我不理解逻辑。 我不明白以下行中的逻辑: result = fact(n-1)* n; 据我所知,如果我们通过下面的程序中显示的n = 4的值, 然后,3 * 4被存储在结果中,即12。 再一次,事实(n-1)被调用。 然后n变成3。 然后2 * 3被存储在结果中,replace前面的12。 我想你明白我困惑的地方。 谢谢。 class Calculation { int fact(int n) { int result; if(n==1) return 1; result = fact(n-1) * n; return result; } } public class Factorial { public static void main(String […]

在Web应用程序中暴露jar文件中的资源(Tomcat7)

前段时间,我读了一篇文章,预计在Servlet API 3.0中。 我记得我读过,你可以将一些.jsp文件保存在/WEB-INF/lib/somelib.jar/META-INF/web/ .jsp文件中 ,这些资源将暴露给Web应用程序的上下文根。 我刚刚安装了Tomcat7来尝试,但我没有发现任何文档,我可以把一些networking资源在jar文件。 这个特性是否存在于servlet api 3.0中? 这个function是否存在于tomcat 7.0中? 在/lib/*.jar文件中是否有另一种方法来使用jsp文件?

HashSet,Vector,LinkedList的最大大小

什么是HashSet , Vector , LinkedList的最大大小? 我知道ArrayList可以存储超过3277000个数字。 但是列表的大小取决于内存(堆)的大小。 如果达到最大值,则JDK将引发OutOfMemoryError 。 但是我不知道HashSet , Vector和LinkedList中元素数量的限制。

如何在使用基于Spring注解的configuration时configurationMappingJacksonHttpMessageConverter?

我没有足够的理由通过注释来configurationspring beans,而不是纯xml bean,现在我正面临着后果。 我使用configurationREST通道 <mvc:annotation-driven /> 现在我只需MappingJacksonHttpMessageConverterconfiguration为MappingJacksonHttpMessageConverter输出具有非空值的字段。 我已经尝试了以下内容: <bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="prefixJson" value="false" /> <property name="supportedMediaTypes" value="application/json" /> <property name="objectMapper"> <bean class="org.codehaus.jackson.map.ObjectMapper"> <property name="serializationInclusion" value="NON_NULL"/> </bean> </property> </bean> bean被创build,但另一个转换器实例被创build并在通道中使用。 所以我已经尝试了在这个Stackoverflow问题中描述的@Configuration和@Bean的方式,但仍然json序列化使用它自己的configuration。 最后我试图通过注入映射器 @Autowired private MappingJacksonHttpMessageConverter jacksonConverter; 但是我已经结束了NoSuchBeanDefinitionException 。 所以现在我没有select,所以我在这里要求任何想法。 如何控制和configuration框架使用的映射器?

如何在Java中recursion解压缩文件?

我有zip文件,其中包含一些其他的zip文件。 例如,邮件文件是abc.zip,它包含xyz.zip,class1.java,class2.java。 而xyz.zip包含文件class3.java和class4.java。 所以我需要提取使用java的zip文件到一个文件夹,该文件夹应该包含class1.java,class2.java,class3.java和class4.java。

从Java调用C#代码?

有没有人有一个很好的解决scheme,将一些C#代码集成到一个Java应用程序? 代码很小,所以我可以用java重新编写代码,但如果可能的话,我宁愿重新使用代码。 不要重复自己,等等 另外,我知道我可以将C#作为一个Web服务或任何其他的东西公开,但是它里面有一些安全/encryption的东西,所以如果可能的话,我宁愿保持它的紧密集成。 编辑:它将在一个基于服务器的应用程序,所以“下载”另一个运行时是无关紧要的。

用Spring初始化Log4J?

我有一个Web应用程序,它使用Spring的Log4jConfigurer类来初始化我的Log4J日志工厂。 基本上它使用一个离开类path的configuration文件来初始化Log4J。 这是configuration: <bean id="log4jInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="sbeHome"> <property name="targetClass" value="org.springframework.util.Log4jConfigurer" /> <property name="targetMethod" value="initLogging" /> <property name="arguments"> <list> <value>#{ MyAppHome + '/conf/log4j.xml'}</value> </list> </property> </bean> 但是我在应用程序启动时出现这个错误: log4j:WARN No appenders could be found for logger 和大量的Spring应用程序上下文初始化消息被打印到控制台。 我认为这是因为Spring在初始化我的应用程序之前有工作来初始化我的应用程序。 万一重要,我在Log4J上面使用了SLF4J。 有什么办法可以让我的Log4jConfigurer成为初始化的第一个bean? 还是有其他的方法来解决这个问题?

迭代器vs

我在采访中被问到使用迭代器使用for循环的优点是什么,或者使用循环迭代器有什么优势? 任何机构都可以回答,以便将来如果我面临类似的问题,那么我可以回答

types擦除,覆盖和generics

有人可以向我解释为什么 @Override public void fooMethod(Class<?> c) 不会覆盖 public void fooMethod(Class c) 并给我以下错误,而不是: – 名称冲突:方法fooMethod(Class <?>) typesSubClass与fooMethod(Class)的擦除次数相同 键入SuperClass但不覆盖它 – types的方法fooMethod(Class <?>) 子类必须重写一个超类方法 ? 编辑: “ java -version ”说Java(TM)2运行时环境,标准版(版本1.5.0_16-b06-284)。 至于代码片段,它已经在上面了,非常多; 以上延伸下面的一个。