博客原文章:http://td.xue163.com/1042/1/10425265.html

用户提出问题:springMVC框架访问web-inf下的jsp文件,具体如下: 使用springMVC,一般都会使用springMVC的视图解析器,大概会这样配置

<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>

当我的control返回

return new ModelAndView("admin/index");   

实际访问的就是/WEB-INF/jsp/admin/index.jsp这个页面,那么放在web-inf下只能服务端可以访问保证了安全性。如果index.jsp中有这样一个代码

 <frame src="left.jsp"/> 

,top.jsp和index.jsp都在admin目录下,这样访问index就会404.

此时纠结了:1、top.jsp如果一定要和index.jsp在同目录下,就要加个control,为一个连接加个control太不值。2、如果不在同一目录下放到webRoot根目录下,index.jsp和top.jsp就不在同一个地方,维护时候不太方便,3、另一种情况springMVC视图解析器路径修改为<property name="prefix" value="/jsp/"></property>即在项目根目录下,这样客户端也可直接访问此目录,没有安全性可言,到底该怎么做呢?

通过互联网整理获得以下解决方法:

=================1楼=====================

<mvc:view-controller path="/left" view-name="left"/>

=================2楼=====================

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

[list=1]

  • 弄个专门放公开的jsp的目录,比如/WEB-INF/jsp/public
  • 弄个control,spring也有个只是redirect的来着。或者自己写个。里面固定转向上面的目录。当然可以用参数配置等灵活点实现。
<frame src="left.jsp"/> 

变成

<frame src="redirect.do?page=left.jsp"/> 

类似这样。

[/list]

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

1. jsp统一放在一起 —— /WEB-INF/jsp/。

2. 用一个且只用一个控制器控制需要公开的jsp。

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

如果您还有更好的解决方法,请在最下面评论中留下您的解决方法

springMVC框架访问web-inf下的jsp文件的更多相关文章

  1. 【servlet】客户端是否可以访问到WEB-INF下的jsp文件

    一般情况下(不考虑出现安全问题被入侵,那样啥都能访问到),WEB-INF下的jsp文件单凭浏览器端请求时访问不到的. 想访问的话需要通过服务端servlet的转发. 下面通过转发和重定向的尝试来观察访 ...

  2. 关于springMVC框架访问web-inf下的jsp文件

    问题:springMVC框架访问web-inf下的jsp文件,具体如下: 使用springMVC,一般都会使用springMVC的视图解析器,大概会这样配置 <property name=&qu ...

  3. springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。

    springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...

  4. SpringMVC框架入门配置 IDEA下搭建Maven项目(zz)

    SpringMVC框架入门配置 IDEA下搭建Maven项目 这个不错哦 http://www.cnblogs.com/qixiaoyizhan/p/5819392.html

  5. 使用.NET框架、Web service实现Android的文件上传(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAKpCAIAAADcx6fPAAAgAElEQVR4nOydd1hT5+LHg1attbfr1t ...

  6. 读取web应用下的资源文件(例如properties)

    package gz.itcast.b_resource; import java.io.IOException; import java.io.InputStream; import java.ut ...

  7. centos7限制普通用户访问单一目录下的单一文件

    要求给开发同事开设一个查看日志的账号,并限制其只能访问该目录下的单一文件 1.先新建账号 useradd loglook passwd loglook 家目录为/home/loglook 2.日志的属 ...

  8. Eclipse利用Maven2搭建SpringMVC框架的Web工程

    一.准备工作: 下载apache-maven--> 配置Maven_home -->下载Eclipse Maven插件 二.新建工程:   选择新建Maven Project  arche ...

  9. 【转载】访问WEB-INF目录中的JSP文件

    转自:http://blog.csdn.net/eidolon8/article/details/7050114 方法1:本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问 ...

随机推荐

  1. CentOS7区域设置

    区域设置的配置文件在/etc/locale.conf,通过localectl命令进行设置: systemd服务在启动的时候读取区域配置文件,完成系统的设置. 命令的几个常用方法如下: 1 查看当前配置 ...

  2. (五)ASP.NET中动态生成控件

    今天被问到如何在ASP.NET 页面中动态创建一批控件,并且希望在后续代码中能访问到这些动态创建的控件.我用下面的例子来解释这个问题 ================================= ...

  3. JS方法

    1.方法可作为对象使用 function aa() { this.a = "aaaa"; this.b = 23; this.f = function () { alert(thi ...

  4. 深入浅出:Linux设备驱动之字符设备驱

    一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流 ...

  5. 在服务器端保存ViewState

    1.比较 Asp.net 的一个强大的功能就是ViewState,  但是这也成为很多人诟病的地方,我们先来看一个实例 ViewState其中一个特性就是保存页面的状态,下面我们看一个很简单的登录页面 ...

  6. STL笔记(2) STL之父访谈录

    年3月,dr.dobb's journal特约记者, 著名技术书籍作家al stevens采访了stl创始人alexander stepanov. 这份访谈纪录是迄今为止对于stl发展历史的最完备介绍 ...

  7. 内存分配(c/c++)

    C++中内存分配          内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1,栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的 ...

  8. Kafka中的Message Delivary机制

    学习Kafka的读书笔记,暂未把文章设为翻译类型,因为并非直译文档.水平有限,还请路过高手指正. <1> “最多(发送)一次”(At most once):消息可以丢失但绝不会重新发送:& ...

  9. [Warning] TIMESTAMP with implicit DEFAULT value is deprecated

    As indicated by the warning, to turn off the nonstandard behaviors, enable the new explicit_defaults ...

  10. mysql 调用带返回值的存储过程

    存储过程: create procedure proc_t(out uname varchar(50),out upwd varchar(50),in uid int) BEGIN select na ...