Web应用程序URL访问java

时间:2011-10-25 11:18:18

标签: java url request web

我试图了解请求的工作原理。不幸的是,我被抛弃了编码,然后才开始理解。

几年前我在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)有关,但我不能在脑子里形成逻辑和坚定的解释。

2 个答案:

答案 0 :(得分:2)

  

只是我试图了解资源是否可访问   通过网址

简而言之,没有。使用Spring MVC时的默认行为和建议配置是将Spring DispatcherServlet映射到/ url模式,这意味着所有请求都将发送到DispatcherServlet。开箱即用,dispatcher-servlet不会为任何静态资源请求提供服务。如果需要,两个主要选项是

  1. 将DispatcherServlet映射到除root之外的其他模式,有效地将Spring MVC部分隔离到子上下文
  2. 将资源映射添加到spring上下文(applicationContext.xml)。
  3. <mvc:resources mapping="/res/**" location="/res/" />

    上面的内容将告诉spring mvc将对res / **的所有请求视为对静态资源(如图像等)的请求,并且这些资源实际位于应用程序根目录的/ res /文件夹中。

答案 1 :(得分:0)

您可能只是错过{/ 1}}中的“/”而不是"/home.jsp"