我试图了解请求的工作原理。不幸的是,我被抛弃了编码,然后才开始理解。
几年前我在java中写了一些非常基本的web应用程序,它确实按预期工作。在它的主要网页(.jsp)上,我有一个菜单按钮:
<p><a href="home.jsp">test</a></p>
我目前正在编写新的webapp并忘了很多。这次我正在使用Spring MVC正确地完成它。我真的不明白为什么这个片段不再将我带到当前webapplication中的home.jsp,为什么一开始我在旧应用程序中使用它。
Apache给出:请求的资源()不可用。
这不是我需要那种直接的互动,只是我试图了解资源是否可以通过URL访问? Spring MVC是否为我带来了额外的安全性,只有servlet处理的请求才能产生视图?我错过了一些非常微不足道的东西吗?
此外,在同一个旧的Web应用程序菜单中,我直接链接到servlet,但是目前我无法在新的webapp中直接引用servlet。我可以提出相关的请求,这些请求将由servlet捕获,而不是由它的名称捕获。
Apache给出:请求的资源()不可用。
从菜单中引用servlet:
<% if((String) session.getAttribute("passengerFound") != null){ %>
<a href="TripRecentBook"><img style="border:0" src="menuButtons/My Trips.png" alt="My Trips"/></a> <%} %>
谢谢,我打赌这很简单。我真的很想了解,请帮忙。 我知道它与Front Controller(dispatcherServlet)有关,但我不能在脑子里形成逻辑和坚定的解释。
答案 0 :(得分:2)
只是我试图了解资源是否可访问 通过网址
简而言之,没有。使用Spring MVC时的默认行为和建议配置是将Spring DispatcherServlet映射到/
url模式,这意味着所有请求都将发送到DispatcherServlet。开箱即用,dispatcher-servlet不会为任何静态资源请求提供服务。如果需要,两个主要选项是
<mvc:resources mapping="/res/**" location="/res/" />
上面的内容将告诉spring mvc将对res / **的所有请求视为对静态资源(如图像等)的请求,并且这些资源实际位于应用程序根目录的/ res /文件夹中。
答案 1 :(得分:0)
您可能只是错过{/ 1}}中的“/”而不是"/home.jsp"