gpt4 book ai didi

java - Web应用程序URL访问java

转载 作者:行者123 更新时间:2023-12-02 08:07:49 25 4
gpt4 key购买 nike

我正在尝试了解请求的工作原理。不幸的是,我首先被困在编码上,然后才被困在理解上。

几年前我用 java 编写了一些非常基本的 Web 应用程序,它确实按预期工作。在其主网页(.jsp)上,我将以下内容作为菜单按钮之一:

<p><a href="home.jsp">test</a></p>

我目前正在编写新的网络应用程序,忘记了很多。这次我用 Spring MVC 正确地完成了它。我真的无法理解为什么这段代码不再将我带到当前 Web 应用程序中的 home.jsp 以及为什么一开始我确实在旧应用程序中使用它。

Apache 给出:请求的资源 () 不可用。

这并不是说我需要那种直接交互,只是我想了解资源是否可以通过 URL 访问? Spring MVC 是否给我带来了额外的安全性,只有 servlet 处理的请求才能产生 View ?我是否错过了一些非常微不足道的事情?

此外,在同一个旧的 Web 应用程序菜单中,我可以直接链接到 servlet,但目前我无法在新的 web 应用程序中直接引用 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) 有关,但我无法在脑海中形成逻辑且坚定的解释。

最佳答案

it is just I am trying to understand whether resources are accessible via URL

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

  1. 将 DispatcherServlet 映射到根以外的其他模式,有效地将 Spring MVC 部分隔离到子上下文
  2. 将资源映射添加到您的 Spring 上下文(您的 applicationContext.xml)。

<mvc:resources mapping="/res/**" location="/res/" />

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

关于java - Web应用程序URL访问java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com