rjxyJSP期末考试复习Word文档下载推荐.docx
- 文档编号:1024688
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:9
- 大小:45.42KB
rjxyJSP期末考试复习Word文档下载推荐.docx
《rjxyJSP期末考试复习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《rjxyJSP期末考试复习Word文档下载推荐.docx(9页珍藏版)》请在冰点文库上搜索。
TOMCAT_HOME=C:
\Tomcat5.5
JAVA_HOME=C:
\jdk1.5.0_04
2.编写好JSP页面后,如何去执行该页面,其执行过程分为哪两个阶段?
JSP页面的调用和编译过程以及第一次调用和第二次调用的区别?
客户是如何请求执行服务器端的JSP页面的?
在执行JSP网页时通常可分为两个时期:
转译时期:
将JSP文件翻译成Servlet文件(以.java为后缀),JSP引擎调用Java编译器编译Servlet文件得到可执行的代码文件(以.class为后缀);
请求时期:
JSP引擎调用Java虚拟机解释执行class文件,并将运行结果返回给服务器。
服务器将运行结果以HTML形式作为响应返回给客户端浏览器。
因此,JSP页面并不是不用编译直接就可以执行的。
当该页面再次被访问时JSP引擎可以直接执行class文件,因此JSP页面的访问速度会大为提高。
3.JSP的基本语法
JSP的特点,什么是JSP指令(page指令的常用属性contentTypeimport)、JSP表达式、JSP中显示变量的值用什么样的语句、JSP和客户交互的过程、JSP动作标签、JSP声明、注释的三种写法。
4.Jsp的页面
普通的HTML标记、JSP标签、变量和方法的声明、JAVA程序片、JAVA表达式、JSP指令和动作标签。
5.Jsp常用的动作标签有哪几个?
其中<
jsp:
forward>
、<
param>
include>
动作标签与include指令的区别。
servlet1和servlet2,include()forward()
include指令是在JSP转译前起作用的。
假设A.jsp用包含指令包含了B.jsp,则包含进来的B.jsp的原文。
B.jsp的内容将直接影响转译的结果。
因此,一般对B.jsp内容有一定要求,如:
要避免使用<
html>
/html>
body>
/body>
等。
include动作标签是在用户请求时起作用的。
假设A.jsp用包含动作包含了B.jsp,其实包含进来的是B.jsp的运行结果。
B.jsp的内容并不参与A.jsp的转译过程。
6.两种WEB应用程序的编程模式
JSP+JavaBean的开发模式成为model1
JSP+JavaBeans+Servlet的开发模式称为model2或MVC模式。
利用jsp页面作为视图,主要处理用户看到的东西。
servlet作为控制器负责网站的整个逻辑,用于管理用户与视图发生的交互。
模型是应用业务逻辑部分,这一部分的主要角色是JavaBean。
7.Jsp和客户交互的过程中需要用到那些内置对象,request(getParameter()、getParameterValues()、getParameterNames()、setAttribute()、getAttribute())、response(sendRedirect(”success.jsp?
name=’zhangsan’&
pass=’12345’”))、out、session、application各起什么作用?
最主要是关于sesion的操作(存取数据,设置超时)
8.JavaBean的特征,JavaBean属性及其访问方法,Cookie的发送的陈述,维护会话有哪几种方式?
cookie和session的区别?
JavaBean属性分为可以读写、只读、只写三种类型。
维护会话的方式:
URL重写、隐藏窗体技术、cookie、Session
9.JSP页面中如何使用JavaBean组件,web应用程序结构,JavaBean的存放位置。
<
useBeanid=”shop”scope=”session”class=com.ShopingCart/>
10.在页面中如何对JavaBean的属性赋值以及如何获得JavaBean的属性。
setProperty>
property=“*”
property=“propertyName”
property=“propertyName”param=“parmeterName”
property=“propertyName”value=“propertyValue”
getPropertyname=”myBean”property=”name”/>
11.表单数据的提交常用的有哪两种方式,有什么区别?
get提交和post提交的区别,共同点、不同点
可用GET方法递少量的数据,因为查询串的长度可限定到240个字符。
12.访问数据库的步骤,识别其遗漏的代码行,访问数据库的页面需要导入哪个包?
数据库连接池的使用,
装载驱动程序(驱动程序类)、建立数据库连接(URL、用户名、密码)、建立语句并发送SQL语句、检索数据、关闭数据库连接,每一个步骤用什么样的语句,其含义是什么?
executeQuery()方法的执行。
三种Statement对象:
Statement、PreparedStatement、
Statement接口有四个基本的方法可以使用,分别是:
executeQuery()、executeUpdate()、execute()、executeBatch()
13.JSP和servlet各有什么优点,有什么区别?
能否互相代替?
Servlet是一种在服务器端运行的Java程序,从某种意义上说,它就是服务器端的Applet。
所以Servlet可以像Applet一样作为一种插件(Plugin)嵌入到WebServer中去,提供诸如HTTP、FTP等协议服务甚至用户自已定制的协议服务。
而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的。
Servlet与JSP相比有以下几点区别:
编程方式不同、Servlet必须在编译以后才能执行、运行速度不同等。
14.servlet是怎么执行的?
别名用在什么地方?
Servlet的生命周期是什么?
servlet接口,servlet代码的编写以及如何使用内置对象?
其中初始化的方法和service()方法的作用?
调用servlet时如何使其输出一个页面?
一个servlet如何包含,定向另一个servlet或jsp?
跳转时要用到接口RequestDispather类型对象的那个方法。
配置Servlet执行方式
servlet>
<
servlet-name>
initparamservlet<
/servlet-name>
servlet-class>
com.mycompany.servlet.InitParamServlet<
/servlet-class>
/servlet>
servlet-mapping>
url-pattern>
/initparamservlet<
/url-pattern>
/servlet-mapping>
或者
web-app>
myservlet<
com.mycompany.servlet.MyServlet<
init-param>
param-name>
MajorVersion<
/param-name>
param-value>
1<
/param-value>
/init-param>
MinorVersion<
2<
Servlet的生命周期是什么
a、servlet的装入和实例化由servlet容器来负责。
b、容器通过调用servlet的init()方法来初始化servlet,并且传递一个ServletConfig对象给它
c、现在servlet已经准备好处理客户的请求了。
当请求到达容器时,容器负责把请求包装成ServletRequest对象,然后调用servlet的service()方法,同时也把包装好的ServletRequest对象作为参数通过service()方法传递给servlet。
d、servlet在service()中通过ServletRequest对象获得客户请求信息,并对请求进行处理,然后把响应信息包装为ServletResponse对象,通过service()方法返回给servlet容器。
然后由容器从ServletResponse对象抽出响应信息并返回给客户端。
e、一旦容器决定从服务中删除某个servlet,它会调用该servlet的destroy()方法,servlet会在destroy()方法中释放它所占用的资源。
然后容器释放servlet实例一遍系统进行垃圾回收
15.过滤器的概念
过滤器是Servlet2.3技术规范引入了一种新的Web应用程序组件。
过滤器位于客户和基层Web应用程序之间,用于检查和修改两者之间流过的请求和响应。
过滤器作为一种Web应用程序组件,可以传输或者修改用户请求与servlet响应。
它可以在用户请求到达servlet之前对请求进行处理,也可以在响应离开servlet之后修改响应信息。
16.过滤器的工作过程
A.在请求到达servlet之前,过滤器可以截取该请求并检查请求内容。
除了检查之外,还可以定制请求,如修改请求标题或者请求数据等。
具体的方法是对传递过来的ServletRequest对象进行操作,达到检查和修改的目的。
B.被过滤器处理后的请求发给servlet
C.servlet执行其任务并可能产生响应
D.过滤器可以截获响应信息并进行修改,例如修改响应标题或者响应数据。
具体的方法是通过操作servlet对象传递给它的ServletResponse对象来达到目的。
处理完毕之后将修改后的响应信息发送给客户端。
17.过滤器链的概念,过滤器链中不同过滤器的先后顺序是在哪个文件中设定?
我们可以实现多个过滤器,这些过滤器就形成了一个“过滤器链”,过滤器链的实现与维护工作是由servlet容器负责实现的。
过滤器链中不同过滤器的先后顺序是在部署文件web.xml中设定的。
最先截取客户请求的过滤器将最后才能截取servlet响应信息。
18.在WEB应用程序中如何部署servlet过滤器和监听器?
要求能看懂过滤器链的配置即可。
由两部分组成。
A.声明过滤器
filter>
filter-name>
LogFilter<
/filter-name>
filter-class>
filters.LogFilter<
/filter-class>
<
filterVersion<
1.0<
copyright<
/filter>
B.设置过滤器映射
在映射过滤器时,应高度重视<
的顺序。
一旦顺序颠倒,完全可能形成与设计时完全不同的结果。
可采用两种方式进行映射
A.使用servlet-name标记将过滤器连接到一个servlet中
filter-mapping>
myServlet<
/filter-mapping>
B.使用url-pattern将过滤器映射到某个URL模式
copyrightFilter<
/*.jsp<
第二种方法会获得更大的灵活性。
它能够使开发人员将过滤器应用于一组servlet、JSP或任何静态资源。
19.简化JSP页面的解决方案有哪些?
使用标签库有什么优势?
在tld文件中taglib标签以及子标签tag的书写,开发标签的两种方式:
直接实现原始接口Tag和TagSupport类继续
开发自定义标签的步骤
1)容器创建一个新的标签实例
2)setPageContext()方法来设置标签的上下文
3)使用setParent()方法设置这个标签的上一级标签。
4)设置标签的属性setXXX()
5)调用doStartTag()方法,返回eval_body_include就计算标签的body;
返回skip_body时,就忽略计算标签body;
6)doEndTag()方法,这个方法返回eval_page:
标签结束时计算当前JSP页面的其他的部分;
返回SKIP_PAGE:
停止计算JSP页面的其他的部分。
7)调用release()方法释放标签程序占用的任何资料.
开发带标签体的标签
带有body的标签必须实现javax.servlet.jsp.tagext.BodyTag接口,
1)容器创建一个新的标签实例以后,通过setPageContext设置标签的页面上下文
2)使用setParent方法设置这个标签的上一级标签
3)设置属性
4)调用doStartTag方法,返回:
EVAL_BODY_INCLUDE,SKIP_BODY
5)调用setBodyContent设置当前的BodyContent.
6)调用doInitBody
7)计算完BodyTag后调用doAfterBody,返回EVAL_BODY_TAG,表示继续计算一次BodyTag,直到返回SKIP_BODY才继续执行(8)步。
8)调用doEndTag方法,返回EVAL_PAGE或者skip_page.
9)调用release()方法.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- rjxyJSP 期末考试 复习