东方标准试题解答.docx
- 文档编号:3482255
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:12
- 大小:19.83KB
东方标准试题解答.docx
《东方标准试题解答.docx》由会员分享,可在线阅读,更多相关《东方标准试题解答.docx(12页珍藏版)》请在冰点文库上搜索。
东方标准试题解答
1.在JAVA中,运行时异常与一般异常的异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
2.ArrayList,Vector,LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
3.设计4个线程,其中两个实现对j加1,两个实现对j减1
publicclassThreadTest1{
privateintj;
publicstaticvoidmain(Stringargs[]){
ThreadTest1tt=newThreadTest1();
Incinc=tt.newInc();
Decdec=tt.newDec();
for(inti=0;i<2;i++){
Threadt=newThread(inc);
t.start();
t=newThread(dec);
t.start();
}
}
privatesynchronizedvoidinc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:
"+j);
}
privatesynchronizedvoiddec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:
"+j);
}
classIncimplementsRunnable{
publicvoidrun(){
for(inti=0;i<100;i++){
inc();
}
}
}
classDecimplementsRunnable{
publicvoidrun(){
for(inti=0;i<100;i++){
dec();
}
}
}
}
4.Servlet的生命周期,并说出Servlet和CGI的区别
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。
5.JSP的内置对象与方法
一.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例。
1objectgetAttribute(Stringname)返回指定属性的属性值
2EnumerationgetAttributeNames()返回所有可用属性名的枚举
3StringgetCharacterEncoding()返回字符编码方式
4intgetContentLength()返回请求体的长度(以字节数)
5StringgetContentType()得到请求体的MIME类型
6ServletInputStreamgetInputStream()得到请求体中一行的二进制流
7StringgetParameter(Stringname)返回name指定参数的参数值
8EnumerationgetParameterNames()返回可用参数名的枚举
9String[]getParameterValues(Stringname)返回包含参数name的所有值的数组
10StringgetProtocol()返回请求用的协议类型及版本号
11StringgetScheme()返回请求用的计划名,如:
http.https及ftp等
12StringgetServerName()返回接受请求的服务器主机名
13intgetServerPort()返回服务器接受此请求所用的端口号
14BufferedReadergetReader()返回解码过了的请求体
15StringgetRemoteAddr()返回发送此请求的客户端IP地址
16StringgetRemoteHost()返回发送此请求的客户端主机名
17voidsetAttribute(Stringkey,Objectobj)设置属性的属性值
18StringgetRealPath(Stringpath)返回一虚拟路径的真实路径
二.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
它是HttpServletResponse类的实例。
1StringgetCharacterEncoding()返回响应用的是何种字符编码
2ServletOutputStreamgetOutputStream()返回响应的一个二进制输出流
3PrintWritergetWriter()返回可以向客户端输出字符的一个对象
4voidsetContentLength(intlen)设置响应头长度
5voidsetContentType(Stringtype)设置响应的MIME类型
6sendRedirect(java.lang.Stringlocation)重新定向客户端的请求
三.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
它是HttpSession类的实例.
1longgetCreationTime()返回SESSION创建时间
2publicStringgetId()返回SESSION创建时JSP引擎为它设的惟一ID号
3longgetLastAccessedTime()返回此SESSION里客户端最近一次请求时间
4intgetMaxInactiveInterval()返回两次请求间隔多长时间此SESSION被取消(ms)
5String[]getValueNames()返回一个包含此SESSION中所有可用属性的数组
6voidinvalidate()取消SESSION,使SESSION不可用
7booleanisNew()返回服务器创建的一个SESSION,客户端是否已经加入
8voidremoveValue(Stringname)删除SESSION中指定的属性
9voidsetMaxInactiveInterval()设置两次请求间隔多长时间此SESSION被取消(ms)
四.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
1voidclear()清除缓冲区的内容
2voidclearBuffer()清除缓冲区的当前内容
3voidflush()清空流
4intgetBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为0
5intgetRemaining()返回缓冲区还剩余多少可用
6booleanisAutoFlush()返回缓冲区满时,是自动清空还是抛出异常
7voidclose()关闭输出流
五.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
1classgetClass返回此Object的类
2inthashCode()返回此Object的hash码
3booleanequals(Objectobj)判断此Object是否与指定的Object对象相等
4voidcopy(Objectobj)把此Object拷贝到指定的Object对象中
5Objectclone()克隆此Object对象
6StringtoString()把此Object对象转换成String类的对象
7voidnotify()唤醒一个等待的线程
8voidnotifyAll()唤醒所有等待的线程
9voidwait(inttimeout)使一个线程处于等待直到timeout结束或被唤醒
10voidwait()使一个线程处于等待直到被唤醒
11voidenterMonitor()对Object加锁
12voidexitMonitor()对Object开锁
六.application对象
application对象实现了用户间数据的共享,可存放全局变量。
它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。
服务器的启动和关闭决定了application对象的生命。
它是ServletContext类的实例。
1ObjectgetAttribute(Stringname)返回给定名的属性值
2EnumerationgetAttributeNames()返回所有可用属性名的枚举
3voidsetAttribute(Stringname,Objectobj)设定属性的属性值
4voidremoveAttribute(Stringname)删除一属性及其属性值
5StringgetServerInfo()返回JSP(SERVLET)引擎名及版本号
6StringgetRealPath(Stringpath)返回一虚拟路径的真实路径
7ServletContextgetContext(Stringuripath)返回指定WebApplication的application对象
8intgetMajorVersion()返回服务器支持的ServletAPI的最大版本号
9intgetMinorVersion()返回服务器支持的ServletAPI的最大版本号
10StringgetMimeType(Stringfile)返回指定文件的MIME类型
11URLgetResource(Stringpath)返回指定资源(文件及目录)的URL路径
12InputStreamgetResourceAsStream(Stringpath)返回指定资源的输入流
13RequestDispatchergetRequestDispatcher(Stringuripath)返回指定资源的RequestDispatcher对象
14ServletgetServlet(Stringname)返回指定名的Servlet
15EnumerationgetServlets()返回所有Servlet的枚举
16EnumerationgetServletNames()返回所有Servlet名的枚举
17voidlog(Stringmsg)把指定消息写入Servlet的日志文件
18voidlog(Exceptionexception,Stringmsg)把指定异常的栈轨迹及错误消息写入Servlet的日志文件
19voidlog(Stringmsg,Throwablethrowable)把栈轨迹及给出的Throwable异常的说明信息写入Servlet的日志文件
七.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。
如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。
他实际上是java.lang.Throwable的对象
1StringgetMessage()返回描述异常的消息
2StringtoString()返回关于异常的简短描述消息
3voidprintStackTrace()显示异常及其栈轨迹
4ThrowableFillInStackTrace()重写异常的执行栈轨迹
八.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
1JspWritergetOut()返回当前客户端响应被使用的JspWriter流(out)
2HttpSessiongetSession()返回当前页中的HttpSession对象(session)
3ObjectgetPage()返回当前页的Object对象(page)
4ServletRequestgetRequest()返回当前页的ServletRequest对象(request)
5ServletResponsegetResponse()返回当前页的ServletResponse对象(response)
6ExceptiongetException()返回当前页的Exception对象(exception)
7ServletConfiggetServletConfig()返回当前页的ServletConfig对象(config)
8ServletContextgetServletContext()返回当前页的ServletContext对象(application)
9voidsetAttribute(Stringname,Objectattribute)设置属性及属性值
10voidsetAttribute(Stringname,Objectobj,intscope)在指定范围内设置属性及属性值
11publicObjectgetAttribute(Stringname)取属性的值
12ObjectgetAttribute(Stringname,intscope)在指定范围内取属性的值
13publicObjectfindAttribute(Stringname)寻找一属性,返回起属性值或NULL
14voidremoveAttribute(Stringname)删除某属性
15voidremoveAttribute(Stringname,intscope)在指定范围删除某属性
16intgetAttributeScope(Stringname)返回某属性的作用范围
17EnumerationgetAttributeNamesInScope(intscope)返回指定范围内可用的属性名枚举
18voidrelease()释放pageContext所占用的资源
19voidforward(StringrelativeUrlPath)使当前页面重导到另一页面
20voidinclude(StringrelativeUrlPath)在当前位置包含另一文件
九.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
1ServletContextgetServletContext()返回含有服务器相关信息的ServletContext对象
2StringgetInitParameter(Stringname)返回初始化参数的值
3EnumerationgetInitParameterNames()返回Servlet初始化所需所有参数的枚举
6.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。
Server.java:
源代码
import.*;
importjava.io.*;
classServer{
publicServer(){
BufferedReaderbr=null;
PrintWriterpw=null;
try{
ServerSocketserver=newServerSocket(8888);//建立服务器端
Socketsocket=server.accept();//监听客户端
//得到该连接的输入流
br=newBufferedReader(newInputStreamReader(socket
.getInputStream()));
//得到该连接的输出流
pw=newPrintWriter(socket.getOutputStream(),true);
//先读后写
Stringdata=br.readLine();
System.out.println(data);//输出到控制台
pw.println(data);//转发给客户端
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
//关闭读写流
br.close();
pw.close();
}catch(Exceptione){
}
}
}
publicstaticvoidmain(String[]args){
Serverserver=newServer();
}
}
Client.java:
源代码
import.*;
importjava.io.*;
classClient{
publicClient(){
BufferedReaderbr=null;
PrintWriterpw=null;
try{
Socketsocket=newSocket("localhost",8888);//与服务器建立连接,服务器要先启
//得到Socket的输入与输出流
br=newBufferedReader(newInputStreamReader(socket
.getInputStream()));
pw=newPrintWriter(socket.getOutputStream(),true);
//先写后读
pw.println("Client:
你好!
");
Stringdata=null;
while(true){
data=br.readLine();
if(data!
=null)
break;
}
System.out.println(data);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
br.close();
pw.close();
}catch(Exceptione){
}
}
}
publicstaticvoidmain(String[]args){
Clientc=newClient();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东方 标准 试题 解答
![提示](https://static.bingdoc.com/images/bang_tan.gif)