Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Spring InternalResourceView没有';t抛出一个关于不存在JSP文件的异常?_Spring_Jsp_Spring Mvc_Requestdispatcher - Fatal编程技术网

为什么Spring InternalResourceView没有';t抛出一个关于不存在JSP文件的异常?

为什么Spring InternalResourceView没有';t抛出一个关于不存在JSP文件的异常?,spring,jsp,spring-mvc,requestdispatcher,Spring,Jsp,Spring Mvc,Requestdispatcher,当预期的JSP不存在时,SpringMVC是否打算不抛出ServletException 下面的代码片段是InternalResourceView的一部分,我认为在这里应该有一个例外RequestDispatcher可能为空,因为dispatcherPath上没有文件。 具体来说,dispatcherPath看起来像/WEB-INF/jsp/v2/post/somename.jsp //获取目标资源(通常是JSP)的RequestDispatcher。 RequestDispatcher rd

当预期的JSP不存在时,SpringMVC是否打算不抛出
ServletException
下面的代码片段是InternalResourceView的一部分,我认为在这里应该有一个例外
RequestDispatcher
可能为空,因为dispatcherPath上没有文件。
具体来说,dispatcherPath看起来像
/WEB-INF/jsp/v2/post/somename.jsp

//获取目标资源(通常是JSP)的RequestDispatcher。
RequestDispatcher rd=getRequestDispatcher(requestToExpose,dispatcherPath);
if(rd==null){
抛出新的ServletException(
“无法获取[”+getUrl()的RequestDispatcher”+
“]:检查web应用程序存档中是否存在相应的文件!”);

}
是的,它是历史性的
InternalResourceView
是一个
UrlBasedViewResolver
基本上它所做的就是构造一个指向某个地方的URL。可能存在也可能不存在。如果需要,您可以提供自己的
JstlView
子类,并实现
checkResource
方法来检查它是否确实存在。然后使用此视图配置
InternalResourceViewResolver
。@M.Deinum感谢您的解释。但我不认为
JstlView.checkResource
是检查jsp是否存在的合适点。1.checkResource仅具有区域设置参数2。ViewResolver可能能够事先检查是否存在<例如,code>UrlBasedViewResolver.buildView。它被委托给
checkResource
,因为它了解视图技术。视图解析器(至少这个)不知道这项技术。接下来的
视图
扩展了
WebApplicationObjectSupport
,它有一个
ServletContext
,因此您可以在
视图
@M.Deinum中很好地检查它,完全理解您的意思。非常感谢!是的,它是历史性的
InternalResourceView
是一个
UrlBasedViewResolver
基本上它所做的就是构造一个指向某个地方的URL。可能存在也可能不存在。如果需要,您可以提供自己的
JstlView
子类,并实现
checkResource
方法来检查它是否确实存在。然后使用此视图配置
InternalResourceViewResolver
。@M.Deinum感谢您的解释。但我不认为
JstlView.checkResource
是检查jsp是否存在的合适点。1.checkResource仅具有区域设置参数2。ViewResolver可能能够事先检查是否存在<例如,code>UrlBasedViewResolver.buildView。它被委托给
checkResource
,因为它了解视图技术。视图解析器(至少这个)不知道这项技术。接下来的
视图
扩展了
WebApplicationObjectSupport
,它有一个
ServletContext
,因此您可以在
视图
@M.Deinum中很好地检查它,完全理解您的意思。非常感谢!