2.6 servlet名的映射的必要性

2.6 servlet名的映射的必要性

建立 servlet名的映射,这有助于改善应用的灵活性和安全性
如果你把真实的路径和文件名通过硬编码写到了所有使用这个 servlet的JSP和其他HTML页面中,这样做是没有问题的。但是假设你现在想要重新组织你的应用,可能要把某些东西移到不同的目录结构下,此时,事情就变得很麻烦。

  • 因为这样你要让每一个使用这个servlet的人都知道你移动了目录结构,并确保他们都能正确的使用这个新的目录结构。
  • 通过映射servlet名,而不是把真实的文件和路径名写入代码,这样就能提供很大的灵活性,使你能轻松地移动文件,而不用担心遭遇维护噩梦,否则,就需要跟踪客户代码中哪里引用了servlet文件原先的位置,并相应地进行修改,这种手动修改的工作量是非常巨大的。
  • 安全性方面,如果客户对你的服务器上的目录结构了如指掌,他们就可能绕过你的应用搞事情?因为最终用户可以看到真实的路径,他们就可以在浏览器中键入这个路径直接访问。比如他们可以直接访问servlet,而不经过适当的页面或表单验证。