Tag: tomcat

有时HttpURLConnection.getInputStream的执行速度太慢

我们有下一个代码。 有时我们应该在最后一行等待10-20-40秒。 可能是什么问题? Java 1.4 URL url = …; HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.connect(); OutputStream out = conn.getOutputStream(); ObjectOutputStream outStream = new ObjectOutputStream(out); try { outStream.writeObject(objArray); } finally { outStream.close(); } InputStream input = conn.getInputStream(); 更新: 下一个代码修复了问题IN ECLIPSE。 但它仍然无法通过Java WebStart工作:( HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); System.setProperty(“http.keepAlive”, “false”); //<————— […]

将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文件名是什么?

Web应用程序中的计划任务?

我正在为在线游戏构建统计应用程序,使用Java中的servlet API构建(将部署在Tomcat上)。 每次用户登录时,让游戏向stats服务器发送消息都很容易,因为处理请求是Servlets / Tomcat的用途。 我还需要定期在统计服务器上发起请求,例如从游戏服务器检索在线用户的数量或从我们的Facebook页面检索粉丝数量。 在应用程序的主servlet中启动一个线程并让它偶尔进行数据检索会很容易,但感觉有点奇怪,因为所有其他线程都是由Tomcat创建的。 这样做好吗? 如果没有,推荐的方法是什么? 将servlet用于这样的事情是否正确? 有什么选择? 请注意第一个答案:我不是在寻找解决时序或并发问题的方法,因为我可以轻松处理这两个问题。 我只需要知道如何在servlet容器中正确启动主动进程。

Servlet“已启动一个线程但未能阻止它” – Tomcat中的内存泄漏

Apache Tomcat多次说: Web应用程序[/ MyServlet]似乎已启动名为[pool-61-thread-2]的线程,但未能将其停止。 这很可能造成内存泄漏。 这有危险吗? servlet应该能够处理10.000个请求/天。 完成后如何关闭线程? class Worker { private final CountDownLatch startSignal; private final CountDownLatch doneSignal; private final int threadNumber; Worker( CountDownLatch startSignal, CountDownLatch doneSignal, int threadNumber ){ this.startSignal = startSignal; this.doneSignal = doneSignal; this.threadNumber = threadNumber; } public String[][] getSomeStrArrArr() { String[][] isRs = new String[8][20]; String[][] inRs = new String[8][20]; […]

Servlet从tomcat 7中的多部分表单获取参数

制作项目并需要上传文件。 所以,我使用enctype =“multipart / form-data”通知。 但我无法解析请求中的参数。 我也试过getPart,但它返回空字符串。 Servlet代码 – > import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class upload_wall extends HttpServlet { private static final long serialVersionUID = 1L; // location to store file uploaded private static final String […]

处理multipart / form-data请求失败。 读取超时

关于Stack Overflow的其他问题已经解决了这个问题,但是所提供的答案都没有帮助我解决这个问题。 我正在尝试使用Apache HTTP Commons从applet上传一个介于10 kB到16 MB之间的文件。 在我的本地环境中一切正常。 我只在我的生产服务器(Tomcat 6.0, https://www.dailyrazor.com/ )上收到以下exception,无论文件大小如何: org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Read timed out at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:384) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116) at com.actura.helper.UploadHelper.processUpload(UploadHelper.java:92) at com.actura.voice.upload.FileUploadServlet.process(FileUploadServlet.java:85) at com.actura.voice.upload.FileUploadServlet.doPost(FileUploadServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) […]

如何为tomcat应用程序增加Java堆空间

有很多问题要问这个或类似的问题。 它们都给出了必须执行的命令,我不明白的是我在哪里写这个命令。 我想永久增加我的tomcat应用程序的堆空间。 我读了这页http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html ,它在Tomcat部分下面说 停止Tomcat服务器,设置环境变量CATALINA_OPTS,然后重新启动Tomcat。 查看文件tomcat-install / bin / catalina.sh或catalina.bat以了解如何使用此变量。 例如, 设置CATALINA_OPTS = -Xms512m -Xmx512m(Windows,没有“”围绕值) export CATALINA_OPTS =“ – Xms512m -Xmx512m”(ksh / bash,“”围绕值) setenv CATALINA_OPTS“-Xms512m -Xmx512m”(tcsh / csh,“”围绕值) 所以我换了这条线 设置CATALINA_OPTS = 同 设置CATALINA_OPTS = -Xms512m -Xmx512m 但我仍然得到错误。 javax.servlet.ServletException:Servlet执行引发exception 根本原因 java.lang.OutOfMemoryError:Java堆空间java.lang.reflect.Array.multiNewArray(本机方法)java.lang.reflect.Array.newInstance(Array.java:90)nom.tam.util.ArrayFuncs.newInstance(ArrayFuncs。 java:1028)nom.tam.fits.ImageData.read(ImageData.java:259)nom.tam.fits.Fits.readHDU(Fits.java:573)controller.UploadServlet.retreiveFITSFileFields(UploadServlet.java:206)controller。 ScanServerFiles.doPost(ScanServerFiles.java:39)javax.servlet.http.HttpServlet.service(HttpServlet.java:637)javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

如何禁用tomcat缓存?

如何禁用tomcat缓存? 我用这个 – 在Tomcat / conf / context.xml中 但它没有帮助

启动java.util.concurrent.ExecutionException期间子容器失败

我试图创建/运行一个基本的JSP并遇到以下错误。 我看到其他人也有类似的问题,但是,我还没有找到(或正确实施)手头问题的解决方案。 任何帮助,将不胜感激! SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) … 6 more Caused by: java.lang.NoClassDefFoundError: […]

CORSfilter未按预期工作

我试图从我的Webstorm应用程序发送请求到我的后端应用程序,它们都在不同的端口,我在前端使用angularJS,在后端使用java。 我已经阅读了一些关于CORSfilter的内容,并且我了解到为了做Cross Origin Requests,我需要实现它们。 然而,在做完这个我的错误后,正在 Failed to load resource: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:63343’ is therefore not allowed access. http://localhost:8080/register?password=&username= XMLHttpRequest cannot load http://localhost:8080/register?password=&username=. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:63343’ is therefore not allowed access. 没有改变导致我相信我做错了什么,这是我发送请求的代码: var charmanderServices = angular.module(‘charmanderServices’, [‘ngResource’]); var hostAdress = […]