




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
J2EE复习知识总结一.选择(20*21)1.关于标签功能说法正确的是:2.自定义标签业务上完成的功能3.自定义标签创建的时候需要4.关于Tag接口说法正确的是5.标签的工作流程6.Jstl功能、概念7.标准标签库中功能对应的是哪个标签8.Jstl标签功能说法正确的是9.Jstl迭代标签-自定义标签库:在Jsp程序中,通过taglib编译指令在Jsp中引入标签库。当通过taglib编译指令引用标签库时,用参数URI唯一地标识引用的标签库,并指定一个相应的标签库识别符(prefix),以辨别不同标签库标记的使用。自定义标签库由以下两部分组成:标签处理类:标签库描述文件(Tab Library Descriptor,TLD);在开发标签库时,有两种选择:一种是实现原始的接口,另一种是继承已经实现接口的类。标签的工作原理:JSP标签库(也称自定义库)可以看成是一套产生基于XML脚本的方法,它由JavaBeans来支持,在概念上说,标签库是非常简单的和可以重用的代码构造。一个自定义的标签是用户定义的一种JSP标记,当一个含有自定义的标签的JSP页面被JSP引擎编译为Servlet程序时,tag标签被转化成了对一个称为标签处理类的对象进行的操作。一个自定义标签就是一个普通的Java类,唯一特别之处是必须继承TagSupport类或BodyTagSupport类,这两个标签类的父类提供了一些方法,负责JSP页面和标签类之间的交互,只需让实现了业务逻辑的类继承TagSupport类或BodyTagSupport类,再做一些特别的工作,这个类就是自定义标签,并且它自己负责和JSP页面的交互,JSTL是一个开放源码并不断在完善的JSP标准标签库,JSTL只能在支持JSP 1.2 和Servlet 2.3 规范的容器上运行。JSTL包含用于编写和开发JSP页面的一组标签,它可以为开发者提供一个无脚本(不在JSP页面中使用Java代码)环境,用户可以使用JSTL标签编写JSP页面,而无需使用Java脚本。JSTL 1.1 提供5个主要的标签库:核心标签库、国际化与格式化标签库、XML标签库、SQL标签库、函数标签库。核心标签库(Core)为日常任务提供通用标签,如显示和设置变量、重复使用一组项目、测试条件以及其它操作(如导入和重定向)。 JSTL的核心标签库 :JSTL的核心标签库主要包括通用标签、流程控制标签、迭代标签和URL相关标签。要使用JSTL的核心标签库,需要在JSP页面中加入下面的指令:(1).标签:这个标签用来在JSP页面中显示数据。当escaapeXml=true时,会将特殊字符、&、 、 等转换为实体代码。(2).标签:这个标签用来保存数据。(3).标签:这个标签用于删除变量(5).标签:这个标签用来实现单分支的分支结构代码(6).、标签:这3个标签联合起来实现多分支。 代码1 代码2代码 (7) .迭代标签类似于Java语言中的for语句,实现循环功能,通过循环,重复处理集合中的每一个元素。:.适合处理集合对象中的每一个元素:标签体.适合于完成规定次数的循环标签体标签这个标签是专门针对字符串而设计的迭代标签,它用特定的符号将字符串分割成若干子串,然后利用循环分别处理每一个子串。Var :代表一个分割出来的子段;Items:要被分割的字符串;Delims:分割符。varStatue:保存当前迭代状态的对象;begin:开始值;end:结束值;step:步长。(8). XML标签库提供了对XML文档的处理,包括XML结点的解析、迭代、基于XML数据的条件判断以及可扩展样式表语言(xslt)的执行。国际化标签库支持多语种的应用程序。国际化格式(i18n) 标签库是JSTL的一个重要标签,可以实现国际化支持功能,可以根据不同的语言请求作出不同的响应,JSTL的国际化标签库包括:国际化:、。消息:、。数字日期格式化:、。要使用i18n国际化格式标签,必须在JSP页面中加入:(1).标签这个标签用来设置格式化日期/时间、数值时所使用的语言环境(选定国家或地区)。其语法如下:En:英文;zh_TW:中文(台湾);zh_CN:中文(大陆);zh_HK:中文(香港);zh_SG:中文(新加坡)。例如:中文:(2).标签这个标签用于向JSP容器指定请求(request)的字符编码,相当于request.setCharacterEncoding()方法,其语法如下:(3).标签这个标签的作用是根据本地化环境来选择所需要的信息包,供其标签体内的标签使用,其语法如下: (4).标签这个标签为本地化环境设置一个默认的资源包,在标签的特定作用域内起作用,其语法格式如下:标签和标签都用于资源包的绑定,不同的是:将资源包绑定在该标签的标签体内(绑定的资源包只能被该标签体内的标签使用),标签将资源包文件保存为一个变量,在之后的工作中可以根据该变量来使用绑定的资源包。例: 将会在WEB-INF/classes目录中查找一个名为applicationMessage_zh_CN.properties的资源包文件,来作为显示的资源绑定。(5).标签这个标签用来从已经绑定的资源包中检索文本信息,从而实现文本的本地化,其语法如下:(6).标签这个标签应该位于消息标签体内,为该消息标签提供参数,这些参数添加进资源包中的消息中,使得消息完整,它只有一个属性value,语法是:(7).标签该标签用来格式化数值,即设置特定语言环境下的数值输出方式,其语法如下:Value:要转换的数值;Type:格式化方式(currency,number,percent)Pattern:用户自定义的格式;var:保存转换结果的变量;scope:变量的范围。(8).标签该标签用来将日期类型对象转换为字符串格式,其语法为:Value: 要转换的日期/时间Type: 指定要设置格式的Date对象的部分(time、date、both)Pattern:用户自定义的日期/时间dateStyle:设置特定时区的日期格式(default、short、medium、long、full);timeStyle:设置特定时区的时间格式;timeZone:指定使用的时区;var:保存转换结果的变量;scope:变量的范围。c:set var=date value=/默认模式:short模式:full模式:自定义模式: 数字标签的使用 日期标签的使用 数据库标签提供了对访问数据库的支持。函数标签库提供了许多用于字符串处理的标准EL函数。与URL相关的JSTL go El.jsp !- 此时执行的是重定向 -Ajax(Asynchronous JavaScript and XML):10.Ajax技术组成(11、12)javaScript xml Dom css(1)、使用 XHTML + CSS 来表示信息;(2)、使用 JavaScript 操作 DOM (Document Object Model)进行动态显示及交互;(3)、使用 XML 和 XSLT 进行数据交换及相关操作;(4)、使用 XMLHttpRequest 对象与 Web 服务器进行异步数据交换;(5)、使用 JavaScript 将所有的东西绑定在一起。13.异步请求对象操作(请求/发送)XMLHttpRequest对象的方法和属性:open():建立到服务器的新请求,并指定此请求的方法、URL以及验证信息(用户名/密码) send():向服务器发送请求。(发送请求到HTTP服务器并接受回应)readyState:提供当前 HTML 的就绪状态。 Onreadystatechange:指定当readyState属性改变时的处理句柄responseText:服务器返回的请求响应文本。ResponseXML:将响应信息格式化为XML Document对象并返回Status:返回当前请求的HTTP状态码使用get方式发送请求:req.open(“get”,”xxx.jsp? UserName =”+userName);req.send(null);使用Post方式发送请求:如果在open的方法中指明是post请求,在send提交之前需要设置http头。req.open(“post”,”xxx.jsp”);req.senRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);req.send(“UserName=”+userName);14.Ajax响应(15)16.如何创建异步请求对象(IE/非IE)Var req;If(window.ActiveXObject) req=new ActiveXObject(“Microsoft.XMLHTTP”);/IEIf(window.XMLHttpRequest) req=new XMLHttpRequest();/非IE17.异步请求对象响应状态码18.异步请求对象四个状态、服务器响应状态码(19、20)0:没有初始化 1:请求打开 2:请求已发送 3:接受相应信息 4:接受完成initialized(未初始化)Loadng(正在载入)Interactive(交互)Comlete(完成)服务器响应状态码:1*:请求收到,继续处理2*:操作成功收到,分析、接受200:交易成功3*:完成此请求必须进一步处理4*:请求包含一个错误语法或不能完成404:没有发现文件、查询或URl5*:服务器执行一个完全有效请求失败500:服务器产生内部错误二.简答1.EL表达式(什么是EL、EL操作、EL内置对象)EL表达式是一种简化的数据访问方式。使用EL表达式可以采用标记的形式方便地访问JSP页面中的隐含对象和JavaBean组件。(1)EL表达式提供的运算符:算数运算符:+ - * /(div) %(mod) 逻辑运算符:&(and) |(or) !(not)比较运算符:(gt) (lt) =(ge) = !=(ne)特殊运算符: empty(2)条件求值:条件求值是指用条件运算符来计算值,条件运算符的格式是:$ 条件表达式 ? 表达式1 : 表达式2 (3)访问作用域变量。$pageScope.username 从page范围取变量username $requestScope.username 从request范围取变量username$sessionScope.username 从session范围取变量username$applicationScope.username 从application范围取变量usernameEL内置对象:EL表达式中一共定义了11个隐含对象,可以分为三类:1.一个用于访问JSP页面中其它8个JSP的EL隐含对象pageContext:JSP页面的上下文,它可以用于访问JSP的内置对象,如request、response、out、session、config等;2.六个用于访问环境信息的EL隐含对象Param:$param.参数名相当于request.getParameter(参数名)paramValues:$paramValues.参数名相当于request.getParameterValues(参数名)header:$header.头名相当于request.getHeader(头名)headerValues:$headerValues.头名相当于request.getHeaderValues(头名)cookie:取一个Cookie的值,$cookie.名.valueinitParam:取初始化参数,相当于config.getInitParameter(参数名)3.四个用于访问作用域变量的EL隐含对象pageScope:访问页面范围的变量,例如 $pageScope.变量名requestScope:访问请求范围的变量,例如 $requestScope.变量名sessionScope:访问会话范围的变量,例如 $sessionScope.变量名applicationScope:访问应用范围的变量,例如 $applicationScope.变量名2.Ajax工作原理Ajax(Asynchronous Javascript and XML)工作原理:Ajax采用异步交互过程。Ajax在用户与服务器之间引入了一个中间媒介,从而消除了网络交互过程中的处理-等待-处理-等待缺点,即相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。Ajax工作原理如下图所示:3.自定义标签创建步骤在Jsp页面中使用自定义标签库开发Web应用程序时,一般需要以下几个步骤:(1)编写标签处理类;TagSupport类实现了Tag接口,它的4个重要方法如下:int doStartTag():遇到自定义标签开始时调用该方法。int doEndTag():遇到自定义标签结束时调用该方法。可选返回值如下:SKIP_BODY:表示不用处理标签体,直接调用doEndTag()方法EVAL_BODY_INCLUDE:正常执行标签体,但不对标签体做任何处理;SKIP_BODY:表示不用处理标签体,直接调用doEndTag()方法;EVAL_BODY_AGAIN:重复执行标签体内容;SKIP_PAGE:忽略标签后面的JSP内容,中止JSP页面执行;EVAL_PAGE:处理标签后,继续处理JSP后面的内容。public class HelloWorldTag extends TagSupport Overridepublic int doStartTag() throws JspException return EVAL_BODY_INCLUDE; /将当前的页面向客户端输出Overridepublic int doEndTag() throws JspException / 1.标签的目的是在jsp的页面上显示,获取向页面输出的输出流/* * 标签直接出现在jsp的页面中,因此直接的使用pageContext对象 */JspWriter writer = pageContext.getOut();/注意此时得到的是字符流/2.通过输出流 在页面上显示输出的信息String msg=Hello World !;try writer.write(msg);/ FAQ:不要关闭writer的输出 catch (IOException e) e.printStackTrace();throw new JspException(输出的错误);return EVAL_PAGE;/执行页面的后续的内容(2)编写标签描述文件;1.0sayHelloWorldcom.tag.mytag.HelloWorldTagempty对于一个标签的每个属性,都需要使用元素来定义,具体的格式是:属性名true/falsetrue/false属性的数据类型,带包名 (3)在Jsp页面引用自定义标签。 4.struts作为MVC核心,它的工作原理、实现。工作的流程1.客户的请求http2.web项目中的struts1的控制器ActionServlet负责拦截3.判断http请求 是否是需要拦截(通过http的请求的后缀)4.将请求转发给struts-config.xml(配置Action的工作设置:请求路径,转发的目标)进行转发操作(交给另外的Action或者是客户的显示页面)实现: 1.创建项目,添加框架(手动的添加/自动)2.actionServlet将过滤到的http请求转发到struts-config.xml3.struts-config.xml定义客户的请求(接受),请求的处理(Control),使用的JavaBean (Model),及处理完成后的转发 (View)5.struts验证方式 验证流程 提示错误方式一. 通过Validator框架来验证数据Struts中Validator验证框架验证:Validator采用基于两个xml文件的方式来配置验证规则,分别为validation.xml,validator-rules.xml。在struts应用中,需放到web-inf目录下。(1)validator-rules.xml:这个文件包含了一组验证规则,对所有struts应用都适用。(2)validator.xml文件:这个文件是针对于具体struts应用的。(3).Validator插件:为了在struts中用validator,可以用插件方式加载Validator框架,需在struts配置文件中配置ValidatorPlugIn插件,同时写明两个xml文件的路径。(4). Validator和ActionFormValidator框架不能直接使用org.apache.struts.action.ActionForm。应采用ActionForm的两个子类:ValidatorActionForm和ValidatorForm。DynaValidatorActionFrom继续自DynaValidatorForm,支持动态在ActionFrom中使用Validator框架。ValidatorFormActionForm继承ValidatorForm,支持在标准ActionForm中使用Validator框架。DynaValidtaorForom和ValidatorForm类都实现了validator()方法,如果验证失败,就会返回包含错误消息的ActionMessage对象,并把该对象添加到ActionErrors集合对象中,由validator方法最后返回ActionErrors对象。(5)在validator框架中使用JavaScript默认情况下,validator框架在服务器端执行表单验证。也可以在客户端验证。如果在客户端验证,需要使用struts的标签,在jsp页面中生成用于客户端验证的JavaScript脚本。二.在对应的Form Beans中重载validate方法继承自ActionForm的F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多渠道代收代付服务合作协议
- 电商平台用户行为分析合作协议
- 主题公园场地租赁与游乐设施运营协议
- 科技园区场地租赁合同行政备案及支持措施
- 修理费合同模板
- 沿海牧场污染防控策略-洞察及研究
- 儿科护理安全风险管理-洞察及研究
- 能效管理平台开发-洞察及研究
- 土壤动物多样性维持-洞察及研究
- 新媒体艺术批判-洞察及研究
- 小学安全隐患排查表
- 测控电路课程设计报告-信号采集调理电路的设计【完整版】
- 银行业法律法规与综合能力经济基础知识课
- 套管开窗侧钻技术
- 2023-2024学年山西省长治市小学语文五年级期末模考题详细参考答案解析
- 淘宝客服销售技巧-客户分析
- 现代物流管理(第三版-钱廷仙)课件3.物流成本核算特点与内容
- 混凝土结构下册第章钢筋混凝土框架结构设计
- 江西师范大学师范类教育心理学期末考试答案
- 小区燃气壁挂炉采购及安装合同
- 电子科技大学《嵌入式系统》20春期末考试【答案50234】
评论
0/150
提交评论