Tag: tomcat

Java Server,处理Json文件

我有一个移动应用程序,它发出http post请求并发送一个json文件。 我想在java中创建一个服务器,它唯一能做的就是获取这个json文件并将其存储在我的数据库中。 问题是我从来没有写过任何服务器端代码,也不知道如何做到这一点。 我怎样才能创建一个java服务器,它所做的只是等待一个json文件到达然后处理它(比如将它存储到我的数据库等…) 法案

从外部Tomcat目录中读取可重载的xml文件

先决条件 Apache Tomcat 7 spring3.2.11.RELEASE Apache Camel 2.14.1 我的Web应用程序像往常一样部署在$ {catalina.home} / webapps /中 要求 读取放在war-Archive之外的 xml文件(例如来自$ {catalina.home} / myfolder /) xml文件应该是可重新加载的 。 因此,如果xml更改,我的Web应用程序中应该可以使用新的xml文件 应将xml文件映射到Java-Objects 第一次尝试 我已经通过tomcat在catalina.home /conf/catalina.properties中将文件添加到classpath: common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/myfolder/ 该文件放在这里:$ {catalina.home} /myfolder/myFile.xml 读取和映射文件到Java-Objects通过apache camel中的计时器工作。 from(“timer://myTimer?fixedRate=true&period=20000”) .setBody(simple(“resource:classpath:myFile.xml”)) .unmarshal(myFileJaxbDataFormat) .process(myFileTimerProcessor); myFileTimerProcessor获取映射的对象并将其存储到Spring-Bean。 其他Camel-Routes使用此Bean来访问xml文件中包含的Data。 问题 正如Claus Ibsen在下面提到的,问题是ClassLoader缓存了文件。 因此,如果文件中的数据已更改,则不会再次读取该文件。 如果文件$ {catalina.home} /myfolder/myFile.xml发生更改,则应再次读取该文件,并且新值应该可供计时器使用,以便它可以读取应用程序的新值。 是否有可能在war-Archive之外读取xml文件并在内容发生变化时重新加载? 是否有更常见的警惕? 提前致谢。 问候, 马克斯 编辑1:我重新调整了问题,不仅要问具体细节。

使用Java Servlet从AWS SimpleDB创建域

我是一名研究项目的大学生,涉及将Web应用程序迁移到亚马逊云。 我花了最后一个学期与servlet一起工作,并且能够使用在Tomcat中运行的java servlet来获得应用程序的大部分function。 我现在正在尝试集成Amazon Web Services,例如SimpleDB和电子邮件服务。 我使用Eclipse Java EE for Web Developers Indigo IDE进行开发。 我安装了AWS插件,并且能够运行Amazon提供的示例代码,以便成功调用SDB和SES。 但是,当我尝试直接或通过单独的类从servlet调用simpleDB等服务时,我收到以下错误: HTTP状态500 – 类型exception报告 信息 description服务器遇到内部错误(),导致无法完成此请求。 例外 javax.servlet.ServletException:实例化servlet类时出错org.comtor.cloud.api.APIservlet org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve .java:98)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)org.apache.coyote.http11.AbstractHttp11Processor .process(AbstractHttp11Processor.java:987)org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:539)org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:298)java .util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908)java.lang.Thread.run(Thread.java:680)root原因 java.lang.NoClassDefFoundError:com / amazonaws / auth / AWSCredentials java.lang.Class.getDeclaredConstructors0(Native Method)java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)java.lang.Class.getConstructor0(Class.java: 2699)java.lang.Class.newInstance0(Class.java:326)java.lang.Class.newInstance(Class.java:308)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)org。 apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 407)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:539)org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:298)java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886)java.util。 concurrent.ThreadPoolExecutor $ […]

异步从Web服务器调用应用程序

我有一个使用Spring制作的Web应用程序,它运行在Tomcat上。 在同一台机器上有一个普通的Java应用程序。 我想通过从Web服务器调用它来执行Java应用程序,但我想这样做,以便应用程序不会使用服务器的资源(它涉及分类器的培训,因此它可能占用大量资源和并且它不能挂起服务器(所以它必须异步调用)。 有没有办法做到这一点?

tomcat中的Java堆空间错误

我正在使用Tomcat 7.0.28。 我已经部署了一个war文件。 在这个war文件中有一个类似服务器的结构,我们可以上传文件。 现在,当我访问该网页时,它正在工作,但是当我尝试上传大文件时,它显示JAVA堆空间的错误。 我怎么解决呢?

更新Tomcat LIb文件夹

我有一个使用Jersey插件开发并部署在Tomact 7上的应用程序。 我必须将项目中使用的所有jar导出到Tomact的lib /文件夹..但我不想..是否可以部署我的应用程序而不将jar导出到Tomcat lib文件夹。 如果是,那么如何? https://t1.ap01.aws.af.cm/rest/person 这是我的应用程序链接,如果未导出lib /,则会出现以下错误: HTTP Status 404 – Servlet Jersey REST Service is not available type Status report message Servlet Jersey REST Service is not available description The requested resource (Servlet Jersey REST Service is not available) is not available. Apache Tomcat/6.0.35

无法初始化类javax.crypto.SunJCE_b

我开发了一个Java servlet应用程序,在我开发的PC上,一切都按预期工作,包括使用SFTP以编程方式在端口8443等上使用HTTPS复制PDF并使用SSL证书。 但是,当我尝试在Live服务器上运行应用程序时,我收到错误; java.lang.NoClassDefFoundError:无法初始化类javax.crypto.SunJCE_b 在调查中,有人建议检查jce.jar。 但我确保jce.jar存在,并在我的项目中创建了一个“lib”文件夹,并将jar复制到那里并将jar放在我的构建路径上,但问题仍然存在。 我该如何解决这个问题? 提前致谢。 这是Tomcat启动应用程序后的控制台输出; # 08-Jan-2014 10:45:44 org.apache.catalina.startup.Catalina start INFO: Server startup in 12715 ms 08-Jan-2014 10:47:42 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor run SEVERE: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b at javax.crypto.Cipher.getInstance(DashoA13*..) at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(Unknown Source) at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.(Unknown Source) at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(Unknown Source) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Unknown Source) at […]

Java Tomcat LDAP身份validation

由于我使用Tomcat6作为servlet容器运行Java,因此我发现使用Tomcat JNDIRealmfunction是合适的,这样LDAP用户就可以登录我的站点而无需任何额外的工作。 我正在使用的LDAP服务器是Ubuntu上的OpenLDAP 。 除此之外,我还通过https连接使用基于表单的身份validation登录页面。 我通过LDAP找到了两个非常好的身份validation用户示例, 在这里和这里 ,它们都实现了我几乎实现的目标。 为何几乎实现? 当我尝试使用错误的凭据登录时,我已适当地发送到 , login-failed.html 。 当我的凭据良好并且我成功进行身份validation后,我开始为网站中的所有url获取403 。 我无法删除403错误(甚至不是登录页面!),除非我重新启动Tomcat。 我怀疑原因是因为我没有在领域中设置roles或正确设置其他配置文件。 为了简洁起见,我将相关的配置文件摘录放在pastebin上 : Tomcat server.xml域 相关的tomcat-users.xml部分 相关的web.xml部分 基本的LDAP结构 ,破折号表示树结构 请注意,基于Tomcat的auth工作正常,因为角色很容易附加到tomcat-users.xml的用户。 因此,我认为在成功通过身份validation后,从LDAP获取经过身份validation的用户角色是一个问题。 TL / DR 我在将Tomcat连接到LDAP身份validation时遇到配置问题。 用户数据正确获取,但不是用户的角色。 可根据要求提供LDAP日志消息;) 更新 :我在这里粘贴了LDAP数据。

如何在Chef上的Tomcat 7 cookbook上上载WAR文件?

我正在尝试在CHEF上的食谱安装的Tomcat 7上部署War文件。 但是,我无法在任何论坛上找到我的问题的单一答案。 我不知道该怎么做! 我正在使用Ubuntu服务器12.10。 我正在使用的食谱是https://github.com/solarvm/tomcat7-cookbook

“类型java.util.Map $ Entry无法解析”(tomcat6 + JDK7)

我有一个JSP应用程序,它给我错误: The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files Stackoverflow充满了关于这个错误的post,但所有这些都解决了使用JDK7编译.java文件 ,加上使用相同版本的tomcat(我的意思是,下面是JDK8,这似乎是问题所在,因为有些IDE版本和tomcat版本不支持它)。 问题是我 使用JDK 1.7.0_79 构建了我的应用程序 ( .java文件),加上我使用相同的tomcat 6服务器 。 所以在任何地方都没有JDK 8 ……有些数据截图: 我的JVM目录: 错误堆栈跟踪: Tomcat进程(使用JDK7运行): 用于编译的Javac版本: 任何想法为什么我仍然会收到此错误? 先感谢您