专栏首页大道七哥访问WEB-INF目录中的JSP文件

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

转自:http://blog.csdn.net/eidolon8/article/details/7050114

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

[html] view plaincopy

  1. <servlet>
  2. <servlet-name>runtain</servlet-name>
  3. <jsp-file>/WEB-INF/INF.jsp</jsp-file>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>runtain</servlet-name>
  7. <url-pattern>/XXX</url-pattern>

访问地址:http://localhost:8080/runtain/xxx 就可以看见内容了!

方法2:<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />

方法3:request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);

怎么样让servlet访问web-inf下的网页或jsp文件呢.因为web-inf下,应用服务器把它指为禁访目录,即直接在浏览器里是不能访问到的. 因些,可以让servlet进行访问,如web-inf下有a.jsp则可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);进行派遣访问.但如果web-inf下有a.htm,则用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);就不能访问.

一开始想不通,觉得怪.后来想想,jsp其实也是servlet,会自动编译的,于是work目录下会有/web-inf/a$jsp.class类型,于是有头绪了,让应用服务器能够编译.htm,如a$htm.class.抱有这个想法,开始动手

在tomcat下的conf/web,找到jsp的访问方式,

[html] view plaincopy

  1. <servlet-mapping>
  2. <servlet-name>jsp</servlet-name>
  3. <url-pattern>*.jsp</url-pattern>
  4. </servlet-mapping>

于是在下面添加

[html] view plaincopy

  1. <servlet-mapping>
  2. <servlet-name>jsp</servlet-name>
  3. <url-pattern>*.htm</url-pattern>
  4. </servlet-mapping>
  5. <servlet-mapping>
  6. <servlet-name>jsp</servlet-name>
  7. <url-pattern>*.html</url-pattern>
  8. </servlet-mapping>

结果:一切OK,访问a.htm,和a.html在work/web-inf/下者有a$htm.class,a$html.class生成


-END-

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • js jquery 实现html页面之间参数传递(单一参数、对象参数传递)

    最近自己在忙着做毕业设计,后台程序员,前端菜鸡,因为需要,所以实现了html页面之间参数传递。------jstarseven 、菜鸡的自我修养.

    大道七哥
  • Js解析Json数据获取元素JsonPath与深度

    JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Ja...

    大道七哥
  • logstash使用template提前设置好maping同步mysql数据到Elasticsearch5.5.2

    上篇blog说到采用logstash-input-jdbc将mysql数据同步到ES(http://www.cnblogs.com/jstarseven/p/7...

    大道七哥
  • 机器学习(三):K均值聚类

    机器学习中有两类的大问题,一个是分类,一个是聚类。 分类是根据一些给定的已知类别标号的样本,训练某种学习机器,使它能够对未知类别的样本进行分类。这属于super...

    海天一树
  • MySQL一些花样招式

    AlicFeng
  • 初识kafka

    kafka是用来干嘛的? 一个系统通常拥有许多的应用场景,比如聊天,购物,前端交互等,每个场景的数据进行单独分析的时候需要有各自的队列来搜集数据,然后分发给各自...

    爬蜥
  • 谷歌或将推出一款基于AI的健身教练Google Coach

    此前有报道称,苹果可能正在开发一款用于健康数据分析的协处理器,而目前有消息指出,谷歌的一款名为“Google Coach”的产品由AI提供动力。

    AiTechYun
  • 前端开发利器:Emmet 介绍 其他

    Emmet 是一个能提高前端开发效率的编辑器插件,支持 Sublime,Atom,TextMate,Nodepad++ 等主流编辑器。Emmet 定义了一些缩写...

    Joel
  • 基于Selenium写的Python爬虫

    萌海无涯
  • Swoole TCP和UDP(同步和异步)

    gaobinzhan

扫码关注云+社区

领取腾讯云代金券