caizi1288
caizi1288
2012-09-01 17:17
浏览 508
已采纳

springMVC框架访问web-inf下的jsp文件

使用springMVC,一般都会使用springMVC的视图解析器,大概会这样配置
[code="java"]
[/code]

当我的control返回[code="java"]return new ModelAndView("admin/index"); [/code]

实际访问的就是/WEB-INF/jsp/admin/index.jsp这个页面,那么放在web-inf下只能服务端可以访问保证了安全性。如果index.jsp中有这样一个代码
[code="java"] [/code],top.jsp和index.jsp都在admin目录下,这样访问index就会404.
此时纠结了:1、top.jsp如果一定要和index.jsp在同目录下,就要加个control,为一个连接加个control太不值。2、如果不在同一目录下放到webRoot根目录下,index.jsp和top.jsp就不在同一个地方,维护时候不太方便,3、另一种情况springMVC视图解析器路径修改为即在项目根目录下,这样客户端也可直接访问此目录,没有安全性可言,到底该怎么做呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • jinnianshilongnian
    jinnianshilongnian 2012-09-01 17:50
    已采纳

    点赞 评论
  • j_clxy
    clxy大叔 2012-09-01 17:59

    我的做法是 —— 还得加控制器。思路是下面这样

    [list=1]
    [*]弄个专门放公开的jsp的目录,比如/WEB-INF/jsp/public
    [*]弄个control,spring也有个只是redirect的来着。或者自己写个。里面固定转向上面的目录。当然可以用参数配置等灵活点实现。
    [*]
    [code="html"] [/code]
    变成
    [code="html"] [/code]
    类似这样。
    [/list]

    这么做的目的,基本上就是回答你的问题。

    1. jsp统一放在一起 —— /WEB-INF/jsp/。
    2. 用一个且只用一个控制器控制需要公开的jsp。

    当然也可以按你的需求调整下目录,或者添加更多的逻辑。

    点赞 评论

相关推荐