jsp简答题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.JSP的特点及工作原理(执行过程)
JSP运行原理解释:JSP 的执行过程主要包括以下步骤:
1.客户端发出Request请求;
2.JSP 容器将JSP 转译成Servlet 的源代码;
3.将产生的Servlet 的源代码经过编译后,并加载到内存执行;
4.把结果Response 响应至客户端。
5. JSP页面首次访问速度慢,之后访问速度快(直接将内存中首次加载的结果返回)
2.JSP指令标签有哪些及作用
指令标记是为JSP引擎而设计的,它向JSP引擎发送消息,告诉引擎如何处理其余JSP页面,它并不会直接产生任何看得见的输出。
指令的语法形式为:<%@ 指令%>
指令主要包括:page 指令、include 指令和taglib指令。
(1<%@page %>指令用来设置整个JSP页面的相关属性和功能
page指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。
为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。
(2 include指令的语法形式为:
<%@ include file="relativeURL" %>
该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。
所谓静态插入,是指当前的JSP页面和被嵌入的文件合并成一个新的JSP页面,然后JSP 引擎再将这个新页面转换成Servlet。
include指令能让页面内容分成几个组成部分分别管理。
实现多个文件共享同一个文件。
(3taglib指令:代码复用是衡量软件可维护性的重要标志之一。
一个web应用中可能有许多JSP页面需要使用某些相同的信息
JSP页面可以通过自定义标记使用一种特殊的文件Tag文件(标记文件),将需要重复使用的代码编写成Tag文件就可以实现代码复用
Tag文件的结构和JSP文件相同,只是文件扩展名为.tag
3.在JSP文件中注释种类及区别
(1)客户端注释使用HTML标签“<!--”和“-->”创建的
语法形式:<!-- 注释-->
<!--这个注释可以在客户端源代码中看到-->
客户端注释类似于普通的HTML注释,唯一的不同在于,可以在这种JSP注释中加入特定
的JSP表达式
(2)服务器端注释--隐藏注释也称为JSP注释,只能在原始JSP文件中看到。
语法形式:<%-- 注释--%>
该注释不会被写入对应的Servlet文件中,也不会发给客户浏览器
(3)脚本注释:在JSP页面的java脚本中使用的注释。
其语法形式为:
// 单行注释
/* 注释*/
脚本注释不仅能在原始JSP文件中看到,而且能在JSP编译成的Servlet中看到。
该注释会被写入对应的Servlet文件中,但不会发给客户浏览器
4.Request对象application对象与session对象的不同
所有用户的Application 对象是相同的而且在服务器启动时就产生了,session对象在会话建立时产生,不同用户的session对象是不同的,同一用户的不同请求session对象也不同。
见书P66.
5.Request对象的功能
在JSP页面中,使用内置对象request可以查看HTTP请求报文中的这些信息。
Request对象封装HTTP请求数据包
requet是实现javax.servlet.http.HttpServletRequest 接口的一个实例。
6.JDBC的体系结构
7.JDBC的驱动程序有哪几类?
JDBC-ODBC桥加ODBC驱动
Java到本地API驱动
JDBC 网络纯Java驱动程序
Java到本地数据库协议
8.FILE类对象的构造函数有哪些?
可以用来生成File对象的构造函数有如下3个。
(1)File(String directoryPath):通过全路径——路径文件名来创建对象,路径可以是绝对路径也可以是相对路径。
(2)File(String directoryPath, String filename):通过父目录和文件名来创建对象,filename 是不含路径的文件名。
(3)File(File f, String filename):也是通过父目录和文件名来创建对象,但父目录由一个File 对象提供。
其中,filename是文件名,directoryPath是文件的路径名,f是一个指定目录的文件对象。
9.Javabean的代码应遵循哪些规则?
JavaBean的书写规范主要包括:
(1)JavaBean是一个public的类
(2)Java类中方法的访问属性都必须是public的
(3)类要实现Serializable接口
(4)要有一个默认构造函数(没有参数),以便任何一个容器都可以创建JavaBean的实例(5)类的所有属性定义为protected或private(最好)特性
(6)设置和获取属性时,使用setXxx()和getXxx()方法
10.Javabean的范围
(1 page范围
(2 request范围
(3 session范围
(4 application范围
(1.)page范围的生命周期和作用范围在4种类型的JavaBean 组件中是最小的。
page表示该JavaBean的生命周期只在一个页面内,即为JSP 程序的运行周期。
当JSP 程序运行结束,该JavaBean 组件的生命周期也就结束了。
它无法在别的JSP程序中起作用,对应于不同的客户端请求服务器都会创建新的JavaBean 组件对象,而且一旦客户端的请求执行完毕,该JavaBean 对象会马上注销,无法供别的客户端请求使用。
这样的Bean用的最多,比如:
大部分表单提交
bean的一些计算处理
(2)request范围的生命周期和作用范围与JSP 的Request 对象一样,当JavaBean的Scope属性值被设为request时,表示JavaBean在整个请求的范围内都有效,而不仅仅在一个页面内有效。
当一个JSP 程序使用<jsp:forward>操作指令定向到另外一个JSP 页面或使用<jsp:include>操作指令导入另外的JSP页面时,第一个JSP页面会把Request 对象传送到下一个JSP页面,由于request范围的JavaBean 存在于Request对象中,因此,JavaBean对象也将随着Request 对象送出,被第二个JSP 程序接收。
这种类型的JavaBean对象使得JSP 程序之间传递信息更为容易。
(3)session范围的生命周期就是某个会话过程所经历的时间。
当JavaBean的Scope属性值为session时,表示JavaBean可以在当前HTTP会话的生命周期内被所有页面访问,该JavaBean存在于session对象中。
不同的用户对应着不同的会话过程,不同的会话过程之间是互不干涉互不影响。
通常用于共享同一session的JSP页面,比如
购物车
(4)当JavaBean 的Scope 属性被指定为application时,它的生命周期和JSP 的Application 对象具有相同的作用范围,也和Application 对象一样使用。
这个JavaBean的生命周期是最长的,从创建了这个JavaBean开始,就可以在任何使用相同application的JSP文件中使用这个JavaBean。
这种类型的JavaBean可以在多个用户之间共享全局信息。
比如:
程序中一些经常用到的数据库连接URL
聊天室中的人员统计
11.Sevlet程序应具备哪些功能?
Servlet的基本功能:
用于处理客户端的请求和产生动态网页内容(中间层)
访问服务器端的文件系统
连接数据库并开发基于数据库的应用
调用其它的Java类
12.Sevlet的工作原理
13.Sevlet的生命周期包括哪几部分,说明每部分的具体功能
14.MVC设计模式
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用
MVC是一种软件设计模式,不仅仅应用于WEB。
在日常生活中处处可以找到类似于MVC 的例子。
1、模型(Model)
业务逻辑层。
用于封装业务逻辑和数据模型。
2、视图(View)
表示层。
就是与用户实现交互的界面,通常实现数据的输入和输出功能。
3、控制器(controller)
控制层。
起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
15.简述Struts框架的基本结构及工作流程
(1)检查Action的映射,确定在Action中已经配置了对应的ActionForm的映射
(2)根据name属性,找到对应的Form bean的配置信息
(3)查找Form bean的使用范围(request\session),判断该范围下是否有此Form bean的实例
(4)若有则重用,否则创建实例
(5)如果validate设置为true则调用validate()进行表单数据的验证
(6)否则或验证正确,则控制器将ActionForm作为参数,传给对应的Action实例的execute() (详见书P248)。