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

问题: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。

时间: 2024-10-03 22:51:56

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

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

一般情况下(不考虑出现安全问题被入侵,那样啥都能访问到),WEB-INF下的jsp文件单凭浏览器端请求时访问不到的. 想访问的话需要通过服务端servlet的转发. 下面通过转发和重定向的尝试来观察访问情况. 引申:dlut 教务处的网站改一下url就可以访问到所有人的成绩,个人认为jsp文件一定是在WEBRoot根目录下,而不是在WEB-INF目录下 至于为什么看出是jsp文件(后缀名经过了隐藏)...看到刚登陆时的action...就知道是struts2没跑了.... TestServlet

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

1 package gz.itcast.b_resource; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.util.Properties; 6 7 import javax.servlet.ServletException; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRe

web站点下robots.txt文件的书写与注意事项

Robots协议(爬虫协议)是国际互联网界通行的道德规范,一般是在一个web站点的根目录下写的robots.txt文件,用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取,可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽:可以屏蔽站点的一些死链接.方便搜索引擎抓取网站内容:设置网站地图连接,方便引导蜘蛛爬取页面. 通常的写法格式如下: User-agent: *  #这里的*通配符代表搜索引擎种类,*就是匹配所有的蜘蛛 Allow: / Disallow: #以上2个都表

Cookie和Session,访问Web项目上的资源文件

WEB项目总路径问题总结: 背景:项目中的资源文件我们如何访问:(路径怎么写) 例子:webRoot目录下有一个目标资源: target.html,如何访问 思考: 目标资源是给谁使用的. * 给服务器使用的:   / 表示在当前web应用的根目录(webRoot下) * 给浏览器使用的: /  表示在webapps的根目录下 代码测试: public void doGet(HttpServletRequest request, HttpServletResponse response) thr

Web环境下applicationContext.xml文件配置

在web环境下(web.xml)如何配置applicationContext.xml文件 <listener>  <listener-class>   org.springframework.web.context.ContextLoaderListener  </listener-class> </listener> 或: <servlet>  <servlet-name>context</servlet-name>  

禁止用户访问某个目录下的所有文件

<?xml version="1.0"?><configuration>    <system.web> </system.web>  <system.webServer>    <handlers>      <!-- 此目录下的所有文件受保护,不能下载,不能执行脚本-->      <clear />   </handlers>  </system.webServer&

nginx的web目录下处理中文文件和文件夹以及编码格式问题

有时候网站的根目录下有中文文件名或者文件夹时,在客户端进行访问这些相关文件时就会  出现显示的问题. 下面尝试了一些方法解决,可用. [[email protected] ~]# echo $LANGen_US.UTF-8[[email protected] ~]# cat /etc/sysconfig/i18nLANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"#LANG="zh_CN.GB18030"#L

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

转自:http://blog.csdn.net/eidolon8/article/details/7050114 方法1:本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了.如下: [html] view plaincopy <servlet> <servlet-name>runtain</servlet-name> <jsp-file&

访问WEB-INF目录中的JSP文件

方法1:本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了.如下: [html] view plaincopy <servlet> <servlet-name>runtain</servlet-name> <jsp-file>/WEB-INF/INF.jsp</jsp-file> </servlet> <