java如何禁用对jsp页面的直接访问?
我在java项目中有一个jsp页面,我使用下面的代码从url中隐藏jsp扩展,但也使用url中的jsp扩展加载我的页面。如何防止这种情况? 我的代码:
<servlet>
<servlet-name>myTest</servlet-name>
<jsp-file>/testing.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>myTest</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
url测试是:localhost/testing。jsp和我的测试页面是access
# 1 楼答案
为了快速解决问题,只需将JSP页面放到
WEB-INF
文件夹中(这样它们就无法直接访问),并按如下方式定义它们:但是你应该考虑使用框架来完成它,比如Struts2或Spring。p>
# 2 楼答案
通过将以下内容添加到web,可以防止直接访问jsp文件。xml,根据需要更改url模式
# 3 楼答案
我将把url映射到servlet,然后从servlet返回jsp。例如:
在web xml中:
在servlet中:
因此,您的url模式将是/test,而不是测试。将加载jsp页面。希望这有帮助
# 4 楼答案
您还可以使用过滤器并拒绝对JSP的访问
菲特勒: