JSP 技术介绍
模板元素:模板元素是指JSP的静态HTML或者XML内容,它对JSP的显示是非常必要的。这部分的任务主要由制作网页的美工来完成。
在JSP编辑时,它将把这些模板元素编译到Servlet里。当客户请求次JSP时,它会把这些模板元素一字不变地发送到客户端。
Request:Request对象有它的请求访问,它将包装成HttpServletRequest接口。来自客户端的请求经JSP处理后,由Request对象进行封装。它将作为给jspService()方法的一个参数而由容器传递给JSP页面。通过getParameter(String paramaeterName)方法可以得到Request参数,通过GET、P0ST、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")等。
简答题
1. 简述Servlet带来的问题。简述纯Servlet
方案中存在的
问题(考点)
答:纯Servlet存在以下一些问题:
(1)开发和维护应用程序的所有部分需要有深厚的
Java编程知识,因此处理代码和
HTML元素是交织在一起的。
(2)改变应用
程序的外观和风格,或者加入对某种新类型客户机(如WML客户机)的支持时,都需要更新并重新编译Servlet代码。
(3)很难利用网页开发工具的优势来
设计应用程序界面。如果使用这些工具来开发网页布局的话,生成的HTML代码必须被手工嵌入到Servlet代码中,这个过程既耗时又容易出错,而且极度枯燥乏味。
2. 简述JSP中的指令元素。
答:指令是用于从JSP发送到容器上的一个信息。它用来设置全局变量,声明类要实现的方法和输出内容的类型等。它们并不向客户产生任何输出,所有的指令都在
JSP整个文件范围内有效。指令元素为翻译阶段提供了全局信息。指令元素使用以下的格式:
<%@ directivename attribute="value",attribute="value"%>
JSP有三种类指令:页面指令;Include指令;Taglib指令。
下面来分别看这三类指令。
(1)页面指令。页面指令定义了许多影响到整个页面的重要属性。一个JSP页面可以包含多个页面指令,在编译过程中,所有的页面指令都被抽出来同时应用到一个页面里。除了Import外其他的页面指令定义
的属性值只能出现一次。页面指令的格式如下:
<%@ page ATTRIBUTE%>
(2)Include指令。Include指令通知容器将当前JSP页面中内嵌的、在指定位置上的资源内容包含进来。被包含的文件内容可以被JSP解析,这种解析发生在编译期间。Include指令如下:<%@ include file="filename"%>
其中filename为要包含的文件名。需要注意的是,一经编译,内容不可变,如果要改变filename的内容,必须重新编译JSP文件,但是它的执行效率高。
(3)Taglib指令。这个指令允许页面使用者自定义标签。首先开发用户的开发标签库,为标签库编写.tld配置文件,然后在JSP页面里使用自定义标签。这样,容器使用这个标签库确定在遇到定制标签时要怎么做。在JSP规范里,标签库得到了不断的加强,最新的JSP规范增加了JSTL标签库。JSP的标签库在页面里定义如下:
<%@ taglib uri="taglibURL"prefix="tagPrefix"%>
Uri用来表示标签描述符,也就是告诉容器怎么找到标签描述文件和标签库。tagPrefix定义了在JSP页面里要引用这个标签时的前缀,这些前缀不可以是jsp、jspx、java、javax、sun、servlet、sunw。
UML建模语言介绍约束:在UML中提供了一种简便、统一及一致的约束条件的表达方式,用于类、关系、关联、属性、操作等元素及其基本构成要素的约束条件,这些约束条件描述了这些元素及其构成要素应遵守的限制和应满足的条件。依赖关系:有两个元素X,Y,若修改元素X的定义,可能引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。