对不起,这是基本的,但我找不到答案。
目前,我的大部分网页都符合
模式page.html -> action.jsp -> result.jsp
page.html有一个表单并将数据提交给action.jsp,然后重定向到result.jsp。 用户通常永远不会看到操作页面,但如果他们知道名称,他们就可以导航到
action.jsp?parameter=thisisbad
例如。
处理此问题的最佳方法是什么?
答案 0 :(得分:3)
使用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请求上执行的操作。