问个关于安全方面的问题,WEB层和应用层能完全分离么?

比如做个WEB项目,为了防止被攻击,把应用层(就是连数据库那块)与JSP前台展示层放在两个项目里,分开布署,(两个项目比如用WEBSERVICE通讯)。
有没有这样的必要性?

1、项目是完全动态的,就是普通的SSH项目。
2、如果要完全剥离,是不是得走WEBSERVICE通讯了?
3、前辈们是怎么做的呢?(在安全这块)

前面几位介绍了一般数据库服务器和应用服务器是部署在不同的机器上的,那么
web层和业务层如果不分开会有什么安全问题呢?担心暴漏应用服务器所在机器的ip地址吗?能够介绍一下这方面的考虑不?
如果一定要分开部署的话:webservice、ejb都是可以处理的

正式环境下数据库服务器和应用服务器一般是分开部署在两台服务器的(当然有可能在一台硬件服务器上),指定数据库的合法访问IP一般就没有你说的问题了

“把应用层(就是连数据库那块)与JSP前台展示层放在两个项目里,分开布署”没有必要,一般安全处理是敏感数据加密传输,终端做代码混淆。至于部署,就像向楼上说的那样,数据库服务器和应用服务器分开,指定白名单、黑名单访问就行了。如果真要部署在两台服务器上只能通过通信的方式来调用。webservice是一种,还有一种原始的就是提供包这种形式,还有其他方式的,就看你怎么去选择了。

一般来说用SSH中的Struts2就等着服务器被人挂马吧
http://ahack.iteye.com/blog/1873661
http://ahack.iteye.com/blog/1883445
http://ahack.iteye.com/blog/1858871
最好用url rewrite坐下URL处理,或者直接生成HTML
当然解决了前台的威胁后台只要藏的够深也勉强可以算作安全吧。