互联网应用与开发资料(7)

2019-08-01 23:24

了一些Java代码。④它使用 . Jsp的后缀,用来告诉服务器这个文件需要特殊的处理。 纯Servlet方案存在的问题:①开发和维护应用程序的所有部分需要有深厚的Java编程知识。②改变应用程序的外观和风格,或者加入对某种新类型客户机的支持时,都需要更新并重新编译Servlet代码。③很难利用网页开发工具的优势来设计应用程序界面。

JSP与ASP的比较。两者都提供在HTML代码中混合某种程序代码。由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息显示的样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序的代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。此外,ASP和JSP还有一个更为本质的区别:两种语言引擎用两种完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。

JSP的组成:模版元素、指令元素、动作元素、脚本元素、声明、表达式、Scriptlets和JSP内建对象组成。

(1)模版元素:是指JSP的静态HTML或者XML内容,它对JSP的显示是非常重要的。这部分的任务主要由制作网页的美工来完成。在JSP编译时,它将这些模版元素编译到Servlet里。当客户请求JSP时,它会把这些模版元素一字不变的发送给客户端。 (2)指令元素。指令是用于从JSP发送到容器上的一个信息。它用来设置全局变量,声明类要是想的方法和输出内容的类型等。它们并不向客户产生任何输出,所有的指令都在JSP整个文件范围类有效。指令元素为翻译阶段提供了全局信息。格式:<%@ directivename

attribute=“value”,attribute=“value”%>。 JSP有三类指令:页面指令、Include指令、Taglib指令

①页面指令。页面指令定义了很多影响到整个页面的重要属性。一个JSP页面可以包含多个页面指令,子编译过程中,所有的页面指令都被抽出来同时应用到一个页面里。除了Import外,其他的页面指令定义的属性值只能出现一次。格式:<%@ page ATTRIBUTE%> ②Include指令。Include指令通知容器将当前的JSP页面中的内嵌的、在指定位置上的资源内容包含进来。被包含的文件内容可以被JSP解析,这种解析发生在编译期间。格式:<%@ include file=“filename”>。其中filename为要包含的文件名。需要注意的是,一经编译,内容不可变,如果要改变filename的内容,必须重新编译JSP文件,但是它的执行效率高。

③Taglib指令。这个指令允许页面使用者自定义标签。首先开发用户的自定义标签库,为标签库编写 . tld配置文件,然后在JSP 页面里使用自定义标签。这样,容器使用这个标签库确定在遇到定制标签时要怎么做。在JSP 规范里,标签库得到了不断的加强,最新的JSP规范增加了JSTL标签库。格式:<%@ taglib uri=“taglibURL”prefix=“tagPrefix”%>。tagPrefix定义了在JSP页面里要引用这个标签时的前缀,这些前缀不可以是jsp、jspx、iava、iavax、sun、servlet、sunw。

(3)脚本元素。脚本元素把JSP的所有内容都集中在一起,它通常是用Java编写的脚本语言。它允许变量声明和函数声明,可以包含任意的Java脚本代码和对表达式的求值。 脚本元素有三种类型:声明(Declaration)、表达式(Expression)、Scriptlets ①声明。在JSP中,声明是一段Java代码,它用来定义在产生的类文件中了的属性和方法。声明后的变量和方法可以在JSP的任意地方的使用。声明的格式如下: <%!Variable declaration

Method declaration(s)%>

②表达式。表达式是在JSP请求处理阶段计算它的值,所得的结果转换成字符串并与模版数据组合在一起。表达式在页面的位置,也就是该表达式计算结果处在的位置。语法是:<%=Some iava expression %>。如果表达式的任何部分是一个对象,就可以用toString()进行转换。

③Scriptlets。Scriptlets。是一段可以在处理请求时间执行的Java代码。Scriptlets包含在<%和%>之间。它可以产生输出,并将输出发送到客户的输出流里,也可以是一些流程控制语句。在编译的类里,多个Scriptlets可以按照在JSP中出现的顺序合并成一个Scriptlets。Scriptlets像其他的Java代码或者方法一样,可以修改在它内部的对象,作为方法引用的结果。使用方法:<% java code statement %>

(4)动作元素。动作元素在请求处理阶段起作用,它用JSP作为前缀。标准动作有: ①;②;③;④; ⑤;⑥;⑦

用来将JavaBean和JSP连接在一起。它保证对象在标签指定的范围内可以使用。在定义某个JavaBean时,需要指定它的id,然后子以后通过次id来对此JavaBean的实例对象进行引用。语法为:

其中id是一个大小写相关的名字,用来表示这个实例;scope表示此对象可以使用的范围;otherDetails可以是一下四种之一:class=“className”;class=“className”type=“typeName”;beanName=“beanName”type=“typeName”;type=“typeName”。 ②。此操作和useBean一起协作,用来设置Bean的简单属性和索引属性。Bean的自省用来发现出现的是哪些属性和它们的名字是什么,这些属性是简单的

还是索引的,它们是什么类型等。语法:。propertyDetails可以是一下四种之一:property=“*”;property=“propertyName”param=“parameterName”;property=“propertyName”;property=“propertyName”vaule=“propertyValue”

。jsp:getProperty操作是对jsp:setProperty操作的补充,它用来访问一个Bean属性。它访问的属性值,将它转换成一个String,然后发送到输出流中。如果属性是个对象,将调用toString()方法。使用方法为:

。jsp:param操作被用来以“名-值”对的形式为其他标签提供附加的信息。它和jsp:include,jsp:forward,jsp:plugin一起使用。使用方法:

。jsp:include操作允许在请求时间内在现成的JSP页面里包含静态或者动态资源。被包含的对象只有对JspWriter对象的访问权,并且它不能设置头或者Cookie。如果输出页面是缓冲的,那么缓冲区的刷新要优先于包含的刷新。

。jsp:forward操作允许将请求转发到另一个JSP、Servlet或者静态资源文件。请求被转向到的资源必须位于同JSP发送请求相同的上下文件环境之中。每当遇到此操作时,就停止执行当前的JSP,转而执行被转发的资源。

。jsp:plugin用来产生客户端浏览器的特别的标签,可以使用它来插入Applet或者JavaBean。

JSP内建对象:Request对象、Response对象、PageContext对象、Session对象、Application对象、Out对象、Config对象、Page对象、Exception对象。

①Request对象。Request对象有它的请求访问,它被包装成HttpServletRequest接口。

来自客户端的请求经JSP处理后,有Request对象进行封装。它被作为给jspService()方法的一个参数而由容器传递给JSP页面。通过getParameter(String parameterName)方法可以得到Request参数,通过GET、POST、HEAD等可以得到Request类型,通过Cookies、Referer等可以得到引入的Http头。常用的方法有:Request . getParameter(String name)、Request . getParameterNames()、Request . setCharacterEncoding(String encoding)

②Response对象。Response对象对象具有页面的范围,它被包装成HttpServletResponse接口。它封住了JSP产生的响应,然后被发送到客户端以响应客户的请求。同样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流是缓冲的,所以可以设置HTTP状态码和Response头。常用的操作有:Response . sendRedirect(“newURL”)、response.setHeader(“HeadInfo”)

③PageContext对象。PageContext对象被封装成javax.servlet.PageContext接口,它为JSP页面包装上下文。管理对属于JSP中特殊可见部分中已命名对象的访问。它的创建和初始化,都是由容器来完成的。JSP页面里可以直接使用PageContext对象的句柄。PageContext对象的getXXX()、setXXX()和findXXX()方法可以用来根据不同的对象范围实现对这些对象的管理。常用的方法有:getServletContext()、getAttribute()、setAttribute()、getSession()等

④Session对象。Session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。其中,Session信息保存在容器里,Session的id保存在客户机的Cookie中。一般情况下,用户首次登录系统时,这个Session就会自动消失。和Session对应的是HttpSession接口。常使用的方法有:getAttribute(String attrName)、setAttribute(String attrName)、getID等。


互联网应用与开发资料(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:植物生产与环境单元六植物生产与温度模拟试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: