From ae256b9ff6c0b2c911202c4c20309f22750f9063 Mon Sep 17 00:00:00 2001 From: chenweiqing <740311548@qq.com> Date: Sat, 21 Nov 2020 15:26:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=AE=A1=E6=9F=A5,=E5=81=9A?= =?UTF-8?q?=E4=BA=86=E7=9B=B8=E5=BA=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/smartboot/servlet/ContainerRuntime.java | 6 +++--- .../servlet/impl/ServletContextImpl.java | 17 ++++++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/servlet-core/src/main/java/org/smartboot/servlet/ContainerRuntime.java b/servlet-core/src/main/java/org/smartboot/servlet/ContainerRuntime.java index 25dadac..1dd95f4 100644 --- a/servlet-core/src/main/java/org/smartboot/servlet/ContainerRuntime.java +++ b/servlet-core/src/main/java/org/smartboot/servlet/ContainerRuntime.java @@ -125,13 +125,13 @@ public class ContainerRuntime { } public void stop() { + servletContext.getDeploymentInfo().getServlets().values().forEach(servletInfo -> { + servletInfo.getServlet().destroy(); + }); servletContext.getDeploymentInfo().getServletContextListeners().forEach(servletContextListener -> { ServletContextEvent event = new ServletContextEvent(servletContext); servletContextListener.contextDestroyed(event); }); - servletContext.getDeploymentInfo().getServlets().values().forEach(servletInfo -> { - servletInfo.getServlet().destroy(); - }); } public boolean isStarted() { diff --git a/servlet-core/src/main/java/org/smartboot/servlet/impl/ServletContextImpl.java b/servlet-core/src/main/java/org/smartboot/servlet/impl/ServletContextImpl.java index d7ba12c..cbf91e8 100644 --- a/servlet-core/src/main/java/org/smartboot/servlet/impl/ServletContextImpl.java +++ b/servlet-core/src/main/java/org/smartboot/servlet/impl/ServletContextImpl.java @@ -119,14 +119,17 @@ public class ServletContextImpl implements ServletContext { path = "/" + path; } - URL url = new URL(deploymentInfo.getContextUrl(), path.substring(1)); - RunLogger.getLogger().log(Level.SEVERE, "path:" + url + " ,url:" + deploymentInfo.getContextUrl()); - //todo 资源不存在时,返回空,参考实现org.apache.jasper.servlet.JspCServletContext#getResource - try (InputStream is = url.openStream()) { - } catch (Throwable t) { - RunLogger.getLogger().log(Level.SEVERE, "path:" + url + " ,Err:" + t.getMessage()); - url = null; + URL pathUrl = new URL(deploymentInfo.getContextUrl(), path.substring(1)); + //todo 判断文件是否存在 + URL url = null; + try { + if(new File(pathUrl.toURI()).exists()){ + url = pathUrl; + } + } catch (URISyntaxException e) { + RunLogger.getLogger().log(Level.SEVERE, "path:" + pathUrl + " ,URISyntaxException:" + e.getMessage()); } + RunLogger.getLogger().log(Level.SEVERE, "path" +((url==null)?"(404):":":") + pathUrl + " ,url:" + deploymentInfo.getContextUrl()); return url; } -- Gitee