jsp 复习(总体)

一丶小知识

1.JSP网页动态部分包含三种元素,它们是(指令、脚本和动作)。

2、JSP的全称是JavaServer Page。

3、JSP的优点之一是可以使得界面显示和功能逻辑。

4、JSP本质上是对Java的扩展。

5、JSP技术开发的程序架构只能是C/S或B/S。

6、Web应用的三层体系架构中的三层是数据层、业务逻辑层和表示层。

7、JSP引擎和Servlet引擎是系统模块,它们随着Web服务器启动装入内存,而随着Web服务器关闭而释放。

8、客户与Web服务器通信是通过http协议来完成的。

9、Web服务器是一种请求/应答的服务器。

10、指令主要包括page指令、taglib指令和include指令。
11、使用taglib指令可以实现使用自定义的JSP标签。
12、和JavaBean密切相关的三个JSP元素是useBean、getproperty和setproperty。
13、<jsp:plugin>动作元素的主要作用是在客户端中运行一个Bean或显示一个Applet。
15、JSP内置对象共有四种Scope,它们是page、request、session、application。
16、request对象用于获取URL中参数值的方法是getparameter()。
17、表单向JSP提交数据的方式主要有GET和POST。
18、out.println()方法主要作用是向客户端输出换行。
19、实现表单中字段隐藏的方法是<input type=”hidden” name=” “ value=http://blog.soso.com/qz.q/”“>。
20、JDBC的全称是JavaDataBase Connectivity。
22、用来执行executeUpdate方法的对象被称为语句对象。

25、在JSP中使用Javabean可以通过<jsp:usebean>动作元素。

26、如果你只希望你的Javabean在当前页面有效,应该设置scope=”page”。

27、<jsp:setProperty>动作中的value属性具有提供属性值功能。

28、如果你想使用Javabean设计一个网站计数器,那么该bean的scope应当设为application。

29、从本质上讲,Servlet是Java类。

30、JavaBean是为Java语言设计的软件组件模型,具有可重复使用和跨平台的特点。

31、通过JavaBean来封装业务逻辑,进行数据库操作等。从而很好的实现业务逻辑和前后台程序的分离。

32、JavaBean必须是一个公开的类,也就是说JavaBean的类访问权限必须是public的。

33、JavaBean一般将属性设置成私有的,通过使用getXXX()方法和setXXX()方法来进行属性的取得和设置。

34、要想要JSP中调用JavaBean,就需要使用到<jsp:useBean>动作指令,其语法格式是<jsp:useBean id="对象名称" scope="储存范围" class="类名"></jsp:useBean>。

35、JavaBean实例化后的对象储存范围。范围的取值有如下四种,分别是page、request、session和application。
36、JSP中提供了一个<jsp:setProperty>动作指令来设置JavaBean属性,其有如下四种语法格式是
<jsp:setProperty name="实例化对象名"property="*"/>
<jsp:setProperty name="实例化对象名" property="属性名称"/>
<jsp:setProperty name="实例化对象名" property="属性名称" param="参数名称"/>
<jsp:setProperty name="实例化对象名" property="属性名称" value="属性值" />。
 37、Request内置对象用来获得客户端请求参数。
 38、服务器端应用request对象的方法来接受或处理这些信息。后用request对象getParameter方法获得客户端的请求参数。
39、可以通过response对象的sendRedirect方法设置页面重定向,实现页面跳转,
40、JavaBean的应用语言是Java。
41、Language属性主要用来(声明所使用的脚本语言的种类),目前暂时只能使用(Java)语言。
42、 Extends属性用来指定该JSP页面生成的(Servlet继承于哪个父类),设定时必须指定该类的命名,即(包名加类名)。
43、 import属性用来指定导入的(Java包)。
44、 session属性用来指定该JSP页面中是否(可以使用session对象),如果设置为(True),则表示该JSP页面中可以(使用session对象)。
45、使用include指令只有一个属性,只需指定其(file)属性为文件的URL地址。
46、 contentType属性用来(指定该JSP文件的MIME格式),以及(网页编码格式)。

二、简答题

1.两种数据提交方式分别是什么?有什么区别?

Post和get

get提交:请求的数据会存储在url中,以?分割url和传输数据,多个参数使用&连接,传输的数据长度有限制,不安全 
post提交:请求的数据防止在http的包体内,不会在url中体现,传输的数据大小没有限制,更安全 

2.JSP基本动作元素包括了6个动作元素

  • jsp:forward
  • jsp:include //属于动态包含,被编译成多个Servlet
  • jsp:plugin
  • jsp:param
  • jsp:useBean
  • jsp:setProperty
  • jsp:getProperty

3.三个编译指令

JSP指令用来设置与整个JSP页面相关的属性。

JSP指令语法格式:<%@ directive attribute=”value” %> 

page:该指令是针对当前页面的指令。

通常位于JSP页面的顶端,对同一个页面可以有多个page指令。page指令语法格式如下
<%@page
[language=“Java”] //声明JSP页面使用语言的种类
[extends=“package.class”] //JSP程序编译时所产生的Java类,需要继承的父类,或者需要实现的接口的全限定类名[import="package.class | package.},…"] //用来导入包。默认自动导入的包:java.lang.; javax.servlet.; javax.servlet.jsp.; javax.servlet.http.*[session=“true | false”]
[buffer=“none | 8kb | size kb”]
[autoFlush=“true | false”]
[isThreadSafe=“true | false”]
[info=“text”]
[errorPage=“relativeURL”] //指定错误处理页面
[contentType=“mimeType [ ;charset=characterSet]” | “text/html;charSet=ISO8859-1”]
[isErrorPage=“true | false”] //设置本JSP页面为错误处理程序

include:用于指定如何包含另一个页面

使用include指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。

tablib:用于定义和访问自定义标签。

4.四种作用域

  • page:当前页面有效
  • request:一次请求有效(是在页面向服务端发送一个请求时候,就产生了)
  • session:一次会话有效(打开浏览器到关闭浏览器)
  • application:整个应用有效

注意:
范围
application>session>request>page
使用原则:
能用request的绝不用session
能用session的绝不用application

4.jsp三大脚本元素

  1. 声明
      
     语法格式:<%! declarations %>

声明在JSP页面中使用的变量和方法,用‘;’隔开,可以多个,任意位置,也可以用声明覆盖实现类中的init和destroy方法。

  1. 脚本
语法格式:<% Java代码块 %>
  1. 表达式
语法格式:<%= expression %>
 //表达式的运算结果会被填入隐式对象out的print方法中
一般为java中的变量或者运算结果

5、JSP注释
JSP注释主要有两个作用:为代码作注释以及将某段代码注释掉。
<%– 注释 –%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
HTML注释,通过浏览器查看网页源代码时可以看见注释内容
 
 
1、在“<%! %>”之间声明的变量和在“<% %>”之间声明的变量有什么不同?

答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。

3、数据库连接对象在调用commit()方法进行事务处理时,只要事务中任何一个SQL语句没有生效,就抛出SQLException异常,在处理SQLException异常时,必须让连接对象调用rollback()方法,其主要作用是什么?

答:撤销事务中成功执行过的SQL语句对数据库数据所做的更新、插入或删除操作,即撤销引起数据发生变化的SQL语句操作,将数据库中的数据恢复到commit()方法执行之前的状态。

4、编写javabean就是编写一个java的类,这个类创建的一个对象称作一个bean。为了能让使用这个bean的应用程序构建工具知道这个bean的属性和方法,应在类的方法命名上遵守一定的规则。请简述其规则。

答:

(1)必须提供两种方法 getXXX(),用来获取属性xxx的值,setXXX()方法,用来修改属性xxx的值。

(2)类中方法的访问权限都必须是public的。

(3)类中如果有构造方法,那么这个构造方法的访问权限也是public的,并且是无参数的。

5、jsp的工作原理是什么?

答:当我们访问一个JSP页面的时候,这个文件首先会被JSP引擎翻译为一个Java源文件,其实就是一个Servlet,并进行编译,然后像其他Servlet一样,由Servlet引擎来处理。Servlet引擎装载这个类,处理来自客户的请求,并把结果返回给客户

7、JavaBean的特性?

   答:(1)、是公共的类;

   (2)、构造函数没有输入参数;

   (3)、属性必须声明为private,方法必须声明为public;

   (4)、用一组set方法设置内部属性;

   (5)、用一组get方法获取内部属性;

   (6)、是一个没有主方法的类,一般的Java类默认继承自Object类,而Bean不需要这种继承。

8. jsp:forward与response.sendRedirect()实现页面转向有什么区别?

jsp:forward转向只在服务器端进行,不显示地址。

response.sendRedirect()重新发送请求,会显示地址。

10九大内置对象)的作用分别是什么?

   request:用户端请求对象,此请求包含来之GET/POST请求的参数 
   reponse:响应对象 ,允许直接访问HttpServletResponse对象
   out:输出对象 
   session:会话对象、存储当前用户的信息 
   application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

   Config对象允许将初始化数据传递给一个JSP页面

   Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据

   Page对象代表JSP页面对应的Servlet类实例

   PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

11 bean的作用域和生命周期是什么?

Page(当前页面有效)、request(局部有效)、session(会话有效)、application(全体有效)。

12较JSP而言,Servlet有什么优点?有什么缺点?

优点:方便、高效、可移植、简洁。

缺点:相对复杂,不利于界面的开发。

13 jsp:setProperty和jsp:getProperty操作起什么作用?

   用<jsp:setProperty>来存储属性值,用<jsp:getProperty>提取存储的属性值。

JSP页面组成:
1、脚本程序
脚本程序可以包含任意量的Java语句,只要它们在脚本语言中是有效的。
脚本程序的语法格式:<% 代码片段 %>
脚本的本质:就是将代码插入到Servlet的service方法中。
2、JSP声明
一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:<%! declaration; [ declaration; ]+ … %>
声明的本质:其实就是将声明的变量加入到Servlet类(在任何方法之外),方法就成了Servlet的方法。
3、JSP表达式
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:<%= 表达式 %>

6、jsp动作
以“

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值