所有的访问请求都应该发送到servlet,并通过servlet间接的访问jsp。jsp页面不应该允许直接访问。有几种方法可以保护jsp页面不会被直接访问到。
1,把jsp页面放到WEB-INF目录下,这样一来,即使用户通过浏览器直接输入把些jsp页面的URL地址也无法访问到它们。但是该方法在不同服务器中有不同的效果。
2,用过滤器保护那些没有存放在WEB-INF目录里的JSP页面。只要把以.jsp结尾的URL全部重定向到用户页面去就行了。
3,通过web.xml文件里的security-constraint元素把所有的JSP页面者保护起来,只允许那些是特定的合法角色的用户访问它们。
<security-constraint>
<web-resource-collection>
<web-resource-name>Direct Access to Jsps</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>none</role-name>
</auth-constraint>
</security-constraint>
以上代码不允许任何直接访问JSP页面。只有none角色的用户才能访问以.jsp结尾的URL,也就是说,如果没有一个用户是这个角色,那就没人能够直接访问这些JSP页面。
也可以定义多个目录
<security-constraint>
<web-resource-collection>
<web-resource-name>Direct Access to Jsps</web-resource-name>
<url-pattern>/demo0/*</url-pattern>
<url-pattern>/demo1/*</url-pattern>
<url-pattern>/demo2/*</url-pattern>
<url-pattern>/demo3/*</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
*<auth-constraint/>表示没有用户可以访问
分享到:
相关推荐
- **Include指令**:`<jsp:include>`用于动态包含其他资源,如JSP或HTML文件。 - **Page指令**:`<%@ page %>`用于配置整个页面的属性,如语言、导入的包、错误页面等。 - **UseBean指令**:`<jsp:useBean>`用于在...
例如,在`onclick`事件中,我们可以调用一个隐藏的`<jsp:include>`标签或者使用JavaScript向服务器发送请求: ```html 图片描述" onclick="doRedirect('${pageContext.request.contextPath}/targetPage.jsp')"> ...
- **作用**:实现请求转发,将控制权交给另一个资源。 #### 结论 JSP_cheatsheet总结了JSP的核心语法和元素,为开发人员提供了方便快捷的参考指南。熟练掌握这些语法可以帮助开发者更高效地构建动态网站。此外,...
4. 提供关闭或隐藏悬浮窗的选项,让用户有控制权。 总的来说,"jsp悬浮窗deom"这个主题涵盖了JSP、HTML、CSS、JavaScript以及前端设计和用户体验等多个方面,对于学习和提升Web开发技能具有一定的实践价值。通过...
JSP动作(如`<jsp:include>`,`<jsp:forward>`等)允许在运行时动态地插入资源,实现页面间的交互和控制流程。 六、JSP的内建对象: JSP提供了若干内建对象,如Request、Response、Session、PageContext等,它们...
- 目标资源必须能够处理通过`<jsp:param>`传递的参数。 #### `<jsp:getProperty>`标签 `<jsp:getProperty>`标签用于从Bean对象中获取属性值,并将其输出到页面上。这是一种非常实用的方式,可以帮助开发者动态地...
- **WebRoot**:Web应用的根目录,通常包含HTML、JSP、CSS、JavaScript以及静态资源文件。 在`WebRoot`目录下,我们可能找到登录页面(如`login.jsp`)、处理登录请求的Servlet(如`LoginServlet.java`)以及其他与...
包括`page`、`include`和`taglib`指令,用于设定页面属性和引入外部资源。 【动作语法】 - `<jsp:forward>`:将请求转发到另一个JSP或Servlet。 - `<jsp:include>`:动态包含其他页面内容。 - `<jsp:plugin>`:创建...
毕业论文《jsp356图像信息隐藏》详细探讨了信息隐藏技术在数字图像中的应用,尤其是在计算机科学领域的重要性和实际价值。这篇论文涵盖了从技术背景、需求分析到系统实现的全过程,为读者提供了全面深入的理解。 ...
`$(document).ready`确保在所有DOM元素加载完毕后显示遮罩层,而`$(window).on('load', hideMask)`则在所有资源(如图片、脚本等)加载完成后隐藏遮罩层。 总的来说,"jsp页面加载之遮罩层"这个主题涉及了前端开发...
在JSP中引用资源文件(如图片、样式表等),通常使用相对路径或通过 `request.getContextPath()` 获取项目根路径。例如: ```jsp () %>/images/logo.png" alt="Logo" /> ``` #### 九、注意事项 1. 在进行页面转发...
JSP页面可以通过`HttpServletRequest`对象来获取这些信息,以便显示或隐藏特定的内容。 **示例项目"ca.war":** 这个压缩包文件"ca.war"是一个WAR(Web应用程序归档)文件,它是Java Web应用的标准打包格式,包含了...
- **jsp:forward**:将请求转发到另一个页面,通常用于处理URL隐藏。 - **jsp:useBean**:找到或创建一个JavaBean,用于封装数据和逻辑。 5. **EL(Expression Language)和JSTL(JavaServer Pages Standard Tag ...
压缩包文件名为"050212JSP",这可能是日期(如2022年5月2日)加上"JSP"的组合,表示这是关于JSP的一个资源,可能是教程、案例研究或者工具包。具体内容无法直接推断,但可以假设它可能包含与JSP源码泄露相关的工具、...
### 根据一个JSP文件实例看下九个隐藏对象 #### 一、JSP基础知识简介 JavaServer Pages (JSP) 是一种基于Java技术的标准,用于开发动态网页的应用程序。它结合了HTML、XML以及Java代码来创建动态网页内容。在JSP...
8. 关闭结果集、语句对象以及数据库连接,以释放资源。 在项目文件“SQLOperate”中,很可能包含了实现这些步骤的Java代码。这个类可能封装了数据库连接和查询逻辑,以供JSP页面调用。JSP页面通过调用这个类的方法...
### JSP高级内容速成资源知识点详解 #### 一、Servlet概述及基本配置 Servlet是Java Web开发中的重要组成部分,它主要用于处理客户端的HTTP请求,并返回相应的响应。Servlet的实现通常基于`HttpServlet`类,这是一...
- GET 方法通常用于获取资源,其参数显示在URL中,不适用于提交敏感数据,且有长度限制。 - POST 方法可传输大量数据,数据在请求体中,可以提交敏感信息,并可被保存为书签。 2. Web 应用程序打包后扩展名 - ...
在【myapp】这个压缩包文件中,可能包含了整个项目的源代码,包括JSP文件、JavaBeans(可能用来封装业务逻辑)、配置文件(如web.xml)、数据库脚本以及可能的样式表和图片资源。开发者可以通过解压并导入到合适的...