面试题

  • 格式:docx
  • 大小:36.64 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章

CSS常用的选择器有几种。(答案见附录)

1、标记选择器

2、类别选择器

3、ID选择器

HTML中的换行标记是什么。(答案见附录)


第五章

在Java 1.6中,byte、long和String类型是否可以作为switch语句的判断表达式?(答案见附录)

Switch语句中的判断表达式的类型是int,因此,传递给switch和case语句的参

数类型必须低于int类型。支持类型包括int、short、char和byte,但是long类型

不可以,而String类型在Java 1.6和之前的版本中都不支持。

可以通过哪几种方式创建字符串?(答案见附录)

在Java中使用String类来声明和创建字符串。要创建字符串,可以通过多种方式实现。

通过String类的构造方法可以创建字符串对象,例如:

String str = new String(“good”);

也可以通过为字符串变量赋值的方式来实例化字符串对象,例如:

String str = “good”;

在Java中还可以通过方法调用来实例化字符串对象,例如

int x = 100 ;

String str = String.valueOf(x) ;

第六章

1、如何执行一个线程安全的jsp。

只需要增加如下指令:

<%@page isThreadSafe=”false”%>

2、include指令与动作标识的区别。

include指令是JSP提供的页面包含指令,它可以将一个JSP页面包含到另一个JSP 页面中实现JSP页面的重用,include指令是静态包含,即被包含文件中所有内容会被原样包含到该JSP页面中。

即使被包含文件中有JSP代码,在包含时也不会被编译执行。将两个页面组合成一个页面后编译处理,最后返回结果页面。

动作标识用于包含其他页面,被包含的页面可以是动态页面或静态页面。包含的原理是将被包含的页面编译处理后将结果包含在页面中,当浏览器第1次请求

一个使用包含其他页面的页面时,Web容器首先会编译被包含的页面。然后将编译处理后的返回结果包含在页面中,之后编译包含页面,最后将两个页面组合的结果回应给浏览器。

第七章

1、JSP有哪些内置对象,都应用在什么场合?(答案见附录)

9个内置对象及其应用场合如下。

(1)request对象

该对象封装了客户端提交的HTTP请求信息,适用于处理客户端提交的信息,在开发Web应用时经常应用request对象获取请求参数的值和获取Cooike数据等。

(2)response对象

该对象适用于响应客户端请求信息,在开发Web应用时经常应用response对象重定向网页、设置HTTP响应报头和缓冲区配置等。

(3)session对象

该对象适用于在同一个应用程序中每个客户端的各个页面中共享数据,session对象通常应用在保存用户/管理员信息和购物车信息等。

(4)application对象

该对象适用于在同一个应用程序中各个用户间共享数据,application对象通常应用在计数或是聊天室中。

(5)out对象

该对象适用于向客户端输出各种类型的数据,通常用来在JSP页面中输出文本。

(6)page对象

该对象适用于操作JSP页面自身,在开发Web应用时很少应用。

(7)config对象

该对象适用于读取服务器的配置信息。

(6)exception对象

该对象适用于操作JSP文件执行时发生的异常信息。

(9)pageContext对象

该对象适用于获取JSP页面的request、response、session、application和out等对象。由于这些对象均为JSP的内置对象,所以在实例Web应用开发时很少使用pageContext 对象,而是直接使用相应的内置对象。

2、简述forward和redirect的区别

forward和redirect的区别

1、forward跳转是通过在jsp页面中使用指令,代码如下:

在java代码中也可以使用requestDispatcher对象来实现,代码如下:

request.getRequestDipatcher("/login.jsp").forward(request,response);

forward实现服务器端请求的转发,例如想从index.jsp通过forward语句跳转到login.jsp 页面,客户端浏览器并不知道该跳转过程,因此显示在客户端的内容虽然是login.jsp,但是地址栏的请求路径却是index.jsp。

2、redirect跳转是利用response对象的sendRedirect方法在java代码中使用,来实

现redirect跳转,代码如下:

response.sedRedirect("/login.jsp");

redirect是实现服务器端请求的重定向,例如想要从index.jsp通过redirect跳转到login.jsp页面,那么服务器端会向客户端发送一个状态码,告诉浏览器重新去请求login.jsp 的地址,因此地址栏的请求路径变成了login.jsp。

下面具体从以下几个方面来看看两者的区别

1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.因此redirect等于是客户端向服务器端发出两次request,同时也接受两次response,而forward是一次request。

2.从数据共享来说forward:转发页面和转发到的页面可以共享同一个request里面的数据.但是由于request对象不能跨站点使用,因此forward,方法只能在同一个Web应用程序内的资源之间转发请求.是作为服务器内部的一种操作. redirect:不能共享同一个request里的数据,因为是两次request,销毁之前的request,重新发送请求。由于不是同一个request 所以不受request的限制,因此redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.

3.从运用地方来说forward:一般用于用户登陆的时候,根据角色转发到相应的模块. redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说

forward:高.

redirect:低.

如果上述还不好理解那么请看下面的例子:转发(forward):你要去A局盖个章,去了A 局,A局看过表格后,知道这个事情其实应该B局来管,但是人家态度好没有把你退回来,而是让你先等一会儿,自己到B局帮你盖好章,再把表格送还给你。你自始至终只知道是在A局办的这事,并不知道章是B局盖的。

重定向(redirect):你先去找A局,A局的人说:“你这来的地方不对,这个事情不归我们管,去B局吧”,然后,你就从A局出来,自己乖乖的重新去了B局盖章。

第八章