JSP与Servlet
在使用JSP技术开发网站时,不强调使用Servlet。,这是为什么呢?Servlet的应用是没有问题的,它非常适合服务器端的处理和编程。但是如果用Servlet处理大量的HTML文本,那么将是一件及其繁琐的事情。这种事情更适合机器去做,否则就是浪费程序员的体力。所以Servlet更适合处理后端的事务,前端的效果用JSP来实现更为合适。
早期的JSP标准给出了两种使用JSP的方式。这些方式都可以归纳为JSP模式1和JSP模式2,主要的差别在于处理大量请求的位置不同。在模式1中,JSP页面独自响应请求并将处理结果返回客户。这里仍然有视图和内容的分离,因为所有的数据都依靠bean来处理。尽管模式1可以很好的满足小型应用的需要,但却不能满足大型应用的需要。大量使用模式1,常常会导致页面被嵌入大量的Script和Java代码。特别是当需要处理的商业逻辑很复杂时,情况会变得很严重。也许这对于Java程序员来说,这不是大问题。但是如果开发者是前台界面设计人员,在大型项目中,这是很常见的,则代码的开发和维护将出现困难。在任何项目中,这样的模式多少总是会导致定义不清的响应和项目管理的困难。下图是模式1的示意图:
JSP模式2是一种面向动态内容的实现,结合了Servlet和JSP技术。它利用两种技术原有的优点,采用JSP来表现页面,采用Servlet来完成大量的处理,Servlet扮演一个控制者的角色,并负责响应客户请求。接着,Servlet创建JSP需要的Bean和对象,再根据用户的行为,决定将哪个JSP页面发送给用户。特别要注意的是,JSP页面中没有任何商业处理逻辑,它只是简单的检索Servlet先前创建的Beans或者对象,再将动态内容插入预定义的模板。
从开发的观点来看,这一模式具有更清晰的页面表现,清楚的开发者角色划分,可以充分的利用开发小组中的界面设计人员。事实上,越是复杂的项目,使用模式2的好处就越突出。
使用模式2,JSP和Servlet可以在功能最大幅度的分开。正确的使用模式2,导致一个中心化的控制Servlet,以及只完成显示的JSP页面。另一方面,模式2的实现很复杂,因此,在简单应用中,可以考虑使用模式1。下面是模式2的示意图:
在Web的建设中到底使用哪一种模式是很重要的事前规划,只有积累了大量的经验才能作出正确而有效的选择。总之网站建设不光是技术的问题,总体的规划是很重要的,读者在学习JSP和Servlet的同时更应该注意从中吸取思想的精华,技术是会过时的,而思想却是永远有价值的。
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)