抱歉,这是基本问题,但我不容易找到答案。
目前我的大部分页面都符合该模式
page.html -> action.jsp -> result.jsp
page.html 有一个表单并将数据提交到 action.jsp,然后再重定向到 result.jsp。 用户通常永远不会看到操作页面,但如果他们知道名称,则可以直接导航到
action.jsp?parameter=thisisbad
例如。
处理这个问题的最佳方法是什么?
最佳答案
使用 servlet 代替 action.jsp
并将 result.jsp
隐藏在 /WEB-INF/lib
文件夹中。在 servlet 的 doGet()
方法中只是转发到 /WEB-INF/result.jsp
。在servlet的doPost()
方法中,处理表单提交,最后转发给/WEB-INF/result.jsp
。
这样最终用户将永远无法直接打开result.jsp
。在 servlet 中,您可以完全控制对 GET 和 POST 请求执行的操作。
另见:
关于jsp - 用tomcat保护jsp Action 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423997/