Y_csgoto 2020-04-20 21:19 采纳率: 57.1%
浏览 948
已采纳

maven构建springMVC项目后无法访问main与resources目录下的静态资源

各位大佬,小弟最近使用springmvc编写入门程序,遇到了静态资源无法访问的问题。程序的代码结构如下

图片说明

整体导包等步骤是使用maven进行的,目录结构也完善好了。但是在springmvc.xml文件中配置视图解析器时遇到了问题,不管如何修改可能的URL,其部署访问时总是报404的错误。

比如现在静态资源(success.html)在pages文件夹下,然后把pages放在main文件夹中,视图解析器配置如下:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/edu/hlju/pages/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

Controller结束可以正常success字符串,但是视图解析器无法根据配置找到正确的界面。

与之对应的,如果我把静态资源放在WEB-INF目录下,调整视图解析器路径,就可以找到对应的路径。比如WEB-INF/page/success.jsp,就可以用

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

来进行解析。

可是为什么maven规范目录中的静态资源无法被解析呢,是权限问题吗?求大佬解答

  • 写回答

1条回答 默认 最新

  • 红尘丶世界 2020-04-21 08:30
    关注

    我想先问一下,为啥你不把页面统一放在 webapp 下面或者 resource 的 static 目录下,而是把页面分散放,这样也太不规范了吧, 而且 java源目录文件夹是给你放java代码的,你整个html页面能识别才怪,放resource,你在 resource目录下创建一下这个目录 /edu/hlju/pages/ 然后把success.html放到这个目录下就可以了,如果你一定要问为什么,那给你答案,因为 java 源目录下的代码是会进行编译的,编译后你的 html 就不一定能找到了,除非你能指定它不编译,不过没意义.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据