做了一个java web项目,javaweb点击跳转链接打开jframe。为什么在别人机子上javaweb点击跳转链接,还是在我本机打

请求页面为何要放到META-INF目录下

安全性不是真正的原因因为jsp是要解析后才显示到浏览器的,即使用户知道你jsp的路径也不可能通过浏览器看到jsp源码的,而如果是通过其它手段入侵服务器的话放在WEB-INF又和放在别的地方有什么区别呢??
真正的原因是对于早期直接嵌入Java代码的jsp,是直接给出jsp路径给用户访问的这种情况恰恰不能放在WEB-INF,而到了现在的mvc模式jsp已经不是曾经那个包含完整逻辑的jsp,而仅仅充当view层的模板必须要填入model数据后进行渲染,財能生成可读的页面这样的模板是不能让用户直接访问的,直接访问的话要么是一堆各种空白或者一堆占位符,甚至一堆NullPointException所以需要放到WEB-INF里。补充一下“安全性问题”指的是“不允许你访问,否则会对我不好”而这里的情况其实是“不建议你访问,否则会对你不好”应该属于健壮性的范畴。
  放到WEB-INF下的Jsp文件如果你直接去访问这个Jsp是不可以的,必须通过Action的跳转这样就能够理解为什么安全性高了,對于用户是不可见的对于一些对于用户,可以直接访问的如,登录注册页面,可以直接放在webroot下这个也是根据你系统的需求了。
通過设置过滤器放在webroot下面的文件也可以实现不能直接访问。所以说放在哪里就看习惯是什么样了
一般项目都是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面若放在webroot下面,肯定要加一个过滤器阻止所有对*.jsp的访问只要比较的话:
放在webroot下面:优点,程序结构清晰便于编码和维护;缺点,要加过滤器
放在web-inf下面:优点,不用过滤器;缺点打乱了程序结构,编码和维护麻烦
为了减少风险可以把這些页面文件移到WEB-INF 目录下。基于Servlet的声明WEB-INF不作为Web应用的公共文档树的一部分。因此WEB-INF 目录下的资源不是为客户直接服务的。我们仍然可以使用WEB-INF目录下的JSP页面来提供视图给客户客户却不能直接请求访问JSP。JSP存放在 WEB-INF 目录下更为安全

}

我要回帖

更多关于 jsp按钮跳转jsp 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信