java - 是否可以不在 spring mvc 的 url 中包含 WEB-INF 中的文件夹

标签 java spring spring-mvc

我有一个使用 spring mvc 的项目,并将所有 View 排序在 WEB-INF 文件夹下的不同文件夹中。为了让我访问 View ,我需要像这样在 url 中定义特定的文件夹。 http://localhost:8080/ProjectName/FolderUnderWEB-INF/thejspfile 例如 http://localhost:8080/StationControl/includes/SuccessTemp 但我已经在我的 servlet 中定义了这个

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/includes/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

我的问题是我不想在 URL 中显示包含文件夹,我该怎么做?我正在解决这个问题,感谢您的提前帮助。

最佳答案

可以访问WEB-INF目录以上的文件和文件夹。例如,index-1.jsp 的 URL将是 http://localhost:8080/test-web/index-1.jsp在网络浏览器中。你可以放置 index-1.jsp在 WEB-INF 目录上方的文件夹中,您的页面应该可以通过网络浏览器访问。此外,检查以确认路径不与配置和 Web 描述 rune 件中的 Spring 请求映射冲突。

在你的spring-mvc.xml ,或您使用的任何名称,应包括 MVC 注释和资源映射,如下定义。

<mvc:resources mapping="/SuccessTemp/**" location="<path to folder>" cache-period="31556926"/>
<mvc:annotation-driven />

您可以通过网络浏览器获取文件。网址为 http://localhost:8080/StationControl/SuccessTemp/<path to file> .

更新截图

enter image description here

从屏幕截图来看,jQuery 的 URL 将是 http://localhost:8080/test-web/scripts/jquery/jquery-3.0.0.js在网络浏览器中。

关于java - 是否可以不在 spring mvc 的 url 中包含 WEB-INF 中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958609/

相关文章:

java - JobLauncherCommandLineRunner 不会在作业完成时退出

spring - 用于集成测试的不同日志文件

java - map 的大小限制为 3 个元素

spring-boot - Spring JPA 查询注解——输入一个sql文件

java - 验证后重新提交表单的问题

java - 主线程会在子线程完成执行之前退出吗?

java - 什么是父类(super class)型方法?

java - 如何从第二类中的 Swing 类中检索所有字段?

java - 如何创建可重用的测试代码而不创建循环依赖项?

java - jconsole 中的类溢出