JAVA笔试题总结(二)

1、列出JSP的九大内置对象,并说明其用途。

内置对象定义:可以不加声明就在JSP页面中使用的成员变量

JSP共有以下9种基本内置组件:

(1)request对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

(2)response对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

(3)session对象

session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。

(4)out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象。

(5)page对象

page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。

(6)application对象   

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

(7)exception对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。

(8)pageContext对象

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

(9)config对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

 

2、forward 和redirect的区别?

(1)从地址栏显示来说

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。

redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址。所以地址栏显示的是新的URL。

(2)从数据共享来说

forward:转发页面和转发到的页面可以共享request里面的数据。

redirect:不能共享数据。

(3)从运用地方来说

forward:一般用于用户登陆的时候,根据角色转发到相应的模块。

redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等。

(4)从效率来说

forward:高

redirect:低

 

3、Java中Error与Exception的区别?

Error类和Exception类都继承自Throwable类。

二者的不同之处:

Exception:

(1)可以是可被控制(checked) 或不可控制的(unchecked)。

(2)表示一个由程序员导致的错误。

(3)应该在应用程序级被处理。

Error:

(1)总是不可控制的(unchecked)。

(2)经常用来用于表示系统错误或低层资源的错误。

(3)如何可能的话,应该在系统级被捕捉。

 

4、JAVA中final,finally,finalize的区别?

(1)final是全局变量声明的时候使用,意思是这个变量不可被修改

(2)finally是在try-catch-finally块中配套使用,作用是,不管代码执行了try还是catch,最后一定会执行finally里面的代码

(3)finalize是召唤垃圾收集器的命令,使用后,系统就安排一次垃圾回收

 

5、写出一个单例类。

在java中实现单件模式需要私有的构造器、一个静态方法、一个静态变量。

public class Singleton()

{

     public static Singleton uniqueInstance;   //一个静态变量

     private Singleton()  {}   //私有的构造器

     public static Singleton getInstance()      //一个静态方法

      {

         if(uniqueInstance==null)

             {

                  uniqueInstance=new Singleton();

             }

          return uniqueInstance;

      }

}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值