connection.getInputStream()抛出java.io.FileNotFoundException

以前写的HttpURLConnection下载,今天迁移到新服务器上出现问题,在connection.getInputStream()抛出java.io.FileNotFoundException

网上查大多是因为使用GET方式但设置了conn.DoOutput(true)删除即可,但是我用的是post方式。

所以我尝试使用GET方式在没删除conn.DoOutput(true)下竟然成功了。

有经验的可以说一下是什么情况。

package com.example.myapplication; import android.util.Log; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class NetUtil { public static final String URL_BEMFA = "https://apis.bemfa.com/va/getmsg?uid=c5d604eb9c3d46d5803b4a6d0dd427bc&topic=sensors&type=3"; public static String doGet(String urlStr) { String result = ""; HttpURLConnection connection = null; InputStreamReader inputStreamReader = null; BufferedReader bufferedReader = null; try { URL url = new URL(urlStr); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { InputStream inputStream = connection.getInputStream(); inputStreamReader = new InputStreamReader(inputStream); bufferedReader = new BufferedReader(inputStreamReader); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); } result = stringBuilder.toString(); } else { Log.e("NetUtil", "HTTP request failed with status code: " + responseCode); } } catch (Exception e) { e.printStackTrace(); Log.e("NetUtil", "HTTP request failed: " + e.getMessage()); } finally { if (connection != null) { connection.disconnect(); } if (inputStreamReader != null) { try { inputStreamReader.close(); } catch (IOException e) { e.printStackTrace(); } } if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public static String doPost(String urlStr, String json) { String result = ""; HttpURLConnection connection = null; OutputStream outputStream = null; try { URL url = new URL(urlStr); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/json"); connection.setConnectTimeout(5000); outputStream = connection.getOutputStream(); outputStream.write(json.getBytes()); outputStream.flush(); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { InputStream inputStream = connection.getInputStream(); inputStreamReader = new InputStreamReader(inputStream); bufferedReader = new BufferedReader(inputStreamReader); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); } result = stringBuilder.toString(); } else { Log.e("NetUtil", "HTTP request failed with status code: " + responseCode); } } catch (Exception e) { e.printStackTrace(); Log.e("NetUtil", "HTTP request failed: " + e.getMessage()); } finally { if (connection != null) { connection.disconnect(); } if (outputStream != null) { try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } }httpqing求失败
06-21
java.io.FileNotFoundException: http://localhost:8080/api/course/list at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1913) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at com.ndky.StudentManagementGUI.sendGetRequest(StudentManagementGUI.java:355) at com.ndky.StudentManagementGUI.refreshTable(StudentManagementGUI.java:115) at com.ndky.StudentManagementGUI.lambda$openWindow$6(StudentManagementGUI.java:107) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:262) at java.awt.Component.processMouseEvent(Component.java:6539) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
06-12
F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\catalina.bat run 2025-06-17 06:17:33,028 Artifact WebKS:war: Waiting for server connection to start artifact deployment... Using CATALINA_BASE: "C:\Users\����\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff" Using CATALINA_HOME: "F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40" Using CATALINA_TMPDIR: "C:\Users\����\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\temp" Using JRE_HOME: "D:\Java\jdk-16.0.2" Using CLASSPATH: "F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\bootstrap.jar;F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" 17-Jun-2025 18:17:33.753 信息 main org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/10.1.40 17-Jun-2025 18:17:33.755 信息 main org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Apr 1 2025 17:20:53 UTC 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 10.1.40.0 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 10 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\Java\jdk-16.0.2 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 16.0.2+7-67 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40 17-Jun-2025 18:17:33.758 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\conf\logging.properties 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\jmxremote.password 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\jmxremote.access 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\temp 17-Jun-2025 18:17:33.763 信息 main org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本1.7.4加载了基于APR的Apache Tomcat本机库2.0.8。 17-Jun-2025 18:17:33.769 信息 main org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 OpenSSL 3.0.14 4 Jun 2024 17-Jun-2025 18:17:33.953 信息 main org.apache.coyote.AbstractProtocol.init 初始化协议处理器 "http-nio-8080" 17-Jun-2025 18:17:33.975 信息 main org.apache.catalina.startup.Catalina.load 服务器在437毫秒内初始化 17-Jun-2025 18:17:34.035 信息 main org.apache.catalina.core.StandardService.startInternal 正在启动服务Catalina 17-Jun-2025 18:17:34.035 信息 main org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:Apache Tomcat/10.1.40 17-Jun-2025 18:17:34.054 信息 main org.apache.coyote.AbstractProtocol.start 开始协议处理句柄"http-nio-8080" 17-Jun-2025 18:17:34.098 信息 main org.apache.catalina.startup.Catalina.start 122毫秒后服务器启动 Connected to server 2025-06-17 06:17:34,106 Artifact WebKS:war: Artifact is being deployed, please wait... 17-Jun-2025 18:17:35.895 严重 RMI TCP Connection(2)-127.0.0.1 org.apache.catalina.core.StandardContext.startInternal ServletContainerInitializer处理期间出错 jakarta.servlet.ServletException: java.io.FileNotFoundException: JAR entry META-INF/taglib.tld not found in F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\webapps\WebKS_war\WEB-INF\lib\jakarta.servlet.jsp.jstl-3.0.1.jar at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4464) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1787) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:418) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:372) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) at java.base/java.security.AccessController.doPrivileged(AccessController.java:691) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1406) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:691) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) Caused by: java.io.FileNotFoundException: JAR entry META-INF/taglib.tld not found in F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\webapps\WebKS_war\WEB-INF\lib\jakarta.servlet.jsp.jstl-3.0.1.jar at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:147) at java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:155) at java.base/java.net.URL.openStream(URL.java:1192) at org.apache.tomcat.util.descriptor.tld.TldResourcePath.openStream(TldResourcePath.java:127) at org.apache.tomcat.util.descriptor.tld.TldParser.parse(TldParser.java:62) at org.apache.jasper.servlet.TldScanner.scanJspConfig(TldScanner.java:187) at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:96) at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:81) ... 45 more 17-Jun-2025 18:17:35.941 严重 RMI TCP Connection(2)-127.0.0.1 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context/WebKS_war启动失败 2025-06-17 06:17:35,963 Artifact WebKS:war: Error during artifact deployment. See server log for details. 17-Jun-2025 18:17:40.956 信息 mysql-cj-abandoned-connection-cleanup org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 非法访问:此Web应用程序实例已停止。无法加载。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1400) at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:987) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 依然有错您帮我分析一下
06-18
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值