Jsp 把Jsp放到WEB-INF后以保护Jsp源代码

Jsp 把Jsp放到WEB-INF后以保护Jsp源代码把那些限制访问的资源 比如说 jsp 源代码 放到 Web 应用的 WEB INF 目录下 对于 web INF 及其子目录 不允许直接的公共访问 所以就可以起到保护这些代码未经授权的访问和窥视 更好的保护了源代码 nbsp nbsp nbsp 通常 JSP 开发人员会把他们的页面文件存放在 Web 应用相应的子目录下 这种方法的问题是这些页面文件容易被偷看到源代码 或被直接调用 某些场合下这可能不是个大问题 可是在特定情形中却可能构

    把那些限制访问的资源(比如说jsp源代码)放到Web应用的WEB-INF目录下,对于/web-INF/及其子目录,不允许直接的公共访问,所以就可以起到保护这些代码未经授权的访问和窥视,更好的保护了源代码。

    通常JSP开发人员会把他们的页面文件存放在Web应用相应的子目录下。这种方法的问题是这些页面文件容易被偷看到源代码,或被直接调用。某些场合下这可能不是个大问题,可是在特定情形中却可能构成安全隐患。用户可以绕过Struts的controller直接调用JSP同样也是个问题。为了减少风险,可以把这些页面文件移到WEB-INF 目录下。基于Servlet的声明,WEB-INF不作为Web应用的公共文档树的一部分。因此,WEB-INF目录下的资源不是为客户直接服务的。我们仍然可以使用WEB-INF目录下的JSP页面来提供视图给客户,客户却不能直接请求访问JSP。

    如果把这些JSP页面文件移到WEB-INF目录下,在调用页面的时候就必须把”WEB-INF”添加到URL中。

    我们知道,实现页面的跳转有两种方式,一种是通过redirect的方式,一种是通过forward的方式。redirect方式的跳转,系统会在一个新的页面打开要跳转的网页;而forward方式跳转,系统会在原来的页面上打开一个要跳转的网页。所以放到WEB-INF目录下的文件是不允许采用redirect方式的跳转来访问的。

    个人认为,一般jsp进行编程的系统,因为很多页面上都有采用submit这样的方式来进行跳转,但这种方式却非常适合采用struts结构的系统。因为采用这个结果大多是先跳转到一个Action类,然后在Action类进行相关处理后(比如说获取相关的信息保存到session中,进行有效性的判断),然后再forward到另外一个页面,这样放到WEB-INF中的jsp代码可以被正常访问,也防止了对这些页面的直接访问。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178830.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:26
下一篇 2026年3月26日 下午4:26


相关推荐

  • pycharm下载哪个版本_pycharm有几个版本

    pycharm下载哪个版本_pycharm有几个版本https://www.jetbrains.com/pycharm/download/previous.html

    2022年8月28日
    6
  • 【Cursor 进阶指南】老规则系统说拜拜!手把手带你玩转 .cursor/rules 🚀

    【Cursor 进阶指南】老规则系统说拜拜!手把手带你玩转 .cursor/rules 🚀

    2026年3月15日
    2
  • python面试题及答案_微型计算机原理与接口第四版答案

    python面试题及答案_微型计算机原理与接口第四版答案题目目录什么是接口测试?为什么要做接口测试/接口测试有哪些优势?请问你们公司是如何做接口测试的?怎么设计接口测试用例?没有接口文档如何做接口测试?怎么区分bug是前端还是后端的bug?常用的接口测试工具?接口之间数据依赖如何处理?依赖于第三方数据的接口如何进行测试?你平常做接口测试的过程中发现过哪些bug?当接口出现异常时候,你是如何分析异常的?什么是接口测试?接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求测试的重点是

    2026年4月14日
    4
  • ubuntu安装教程_ubuntu docker安装

    ubuntu安装教程_ubuntu docker安装卸载docker1.删除某软件,及其安装时自动安装的所有包sudoapt-getautoremovedockerdocker-cedocker-enginedocker.iocontainerdrunc2.删除docker其他没有没有卸载dpkg-l|grepdockerdpkg-l|grep^rc|awk'{print$2}’|sudoxargsdpkg-P#删除无用的相关的配置文件3.卸载没有删除的docker相关插件(…

    2022年8月30日
    6
  • suna 堪称开源版manus,本地安装部署

    suna 堪称开源版manus,本地安装部署

    2026年3月15日
    2
  • Java快速入门

    Java快速入门1Java简介太阳计算机系统(中国)有限公司1982年成立2009年被Oracle收购甲骨文股份有限公司1977年成立2013年成为全球第二大软件公司詹姆斯·高斯林(JamesGosling)Java编程语言的共同创始人之一一般公认他为“Java之父”1.1Java发展史20世纪90年代,出现了单片机。1991年,Sun公司成立了Green项目小组,专攻家电产品上的嵌入式应用,开发出了一种称为Oak的面向对象语言。1992年,Oak语言开发成功后,因为缺

    2022年6月5日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号