jspリソースの非表示


すべてのアクセス要求は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>

*ユーザーがアクセスできないことを示します