Chap3 JSP 概述

来源:互联网 发布:长沙java招聘 编辑:程序博客网 时间:2024/06/06 07:04
Chap3 JSP 概述3.1 servlet存在的问题(1)应用程序较大时(多个页面,使用数据库等外部资源,多个选项,支持多种类型的client),设计网站的方式对于能否适应新需求、能否演化非常重要。Jsp能适用于简单到复杂的web应用。2)纯基于servlet的途径存在下列问题:1>需要全面的java编程知识来开发和维护应用程序的各个方面,因为处理代码和html元素搅在了一起;2>改变程序的外观或需要支持新的client类型,需要更新并重新编译servlet代码;3>设计程序界面时,很难利用页面开发工具。需要将生成的html手工添加到servlet代码中,效率低,易出错。3)由纯servlet转变为:Servlet负责请求处理;jsp负责表示(presentation);JavaBean负责业务逻辑。4)分工:java程序员实现请求处理(servlet)和业务逻辑(JavaBean);页面作者实现用户界面。5)上面的开发模型,使得页面作者即使不会编程,也能开发出具有很多动态特性的web应用。因为他可以利用jsp标准actionsjstl库,还能利用开源或商业性的java组件。3.2 JSP分解(1)JSP页面包括JSP元素和template text。页面中只要不是JSP元素,就是template textTemplate text可以是任何文本,不光可以是html;通常直接传递给浏览器。(2)处理jsp页面请求时,将template text + JSP元素产生的动态内容一起,作为response传给浏览器3.3 JSP处理(1)JSP容器:负责截获对JSP页面的请求。首先,将JSP页面转变成servlet(即JSP page implementation class);然后,编译serlet class。该阶段即translation phase[]一般是收到对页面的第一次请求时,启动translation phase。可以采用precompilation
 JSP容器还负责调用产生的servlet。即“请求处理阶段”。除了第一次请求,以后的请求都只需要经历“请求处理阶段”。
2)通常将JSP容器实现为一个servletServlet容器和JSP容易通常合并为一个web容器。3)可见,jsp事实上是另外一种写servlet的方法。除了translation phaseJSP页面就像一个servlet一样被处理。3.3.1 JSP元素(1)三类jsp元素:directiveactionscripting(2)directive元素:指定页面自身的信息,这些信息对于各次请求都是相同的。包括:<%@ page…><%@ include …><%@ taglib ...>(3)标准action元素:对于每次请求相关的信息,执行一些action。包括:<jsp: usebean><jsp: getProperty><jsp: setProperty><jsp: include><jsp: forward><jsp: param><jsp: plugin>(4)自定义的action元素:通过jsp规范包含的一个java api实现,可扩展jsp语言。(5)JSTLJSP standard tag library)就是一种上述扩展。它由sun公司制定,可用于jsp程序常用的处理,例如条件处理、数据库访问等。(6)除了jstl,还可以通过扩展api自定义action元素。(7)scripting元素:可用于在jsp页面中添加小段(java)代码。不鼓励使用;如果页面中大量使用代码,会造成维护问题。(8)javabean组件:遵循特定编码规范的java类;通常用于描述应用程序实体信息(例如客户、订单)的容器。3.4 使用MVC,进行JSP应用程序设计(1)MVC设计模型(Model-View-Controller(2)在服务器程序中,通常把程序分成3部分:业务逻辑;表示;请求处理(3)业务逻辑:表示如何处理数据(4)表示:应用程序的数据如何显示给客户(5)请求处理:如何把“业务逻辑”和“表示”联系在一起。(6)MVC中,Model对应业务逻辑和数据;View对应“表示”;Controller 对应请求处理(7)使用MVC模型的原因:1>应用程序的Model(应用程序+逻辑)是程序中最稳定的部分,而View(表示)却经常变化;2>需要把数据以不同的语言、或把数据的不同部分显示给不同的用户,每个client都需要不同的显示格式。
原创粉丝点击