Y_csgoto 2020-04-20 21:19 采纳率: 66.7%
浏览 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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘