您的位置:首页 > 职场人生

JAVA企业面试题精选 Servlet和JSP 21-30

2017-08-12 10:10 603 查看

2.21.如何从form表单中得取checkbox的值?

参考答案:

  可在页面把checkbox的name属性取同一个,value属性取每个条目的id,在Servlet中使用HttpServletRequest的getParamterValues(“name”)能娶到checkbox的一组值.

2.22.请画出Servlet2.2以上Web Application的基本目录结构

参考答案:

web程序的基本结构:

 web工程(dir)

  |–页面,图片,CSS,JS

  |–WEB-INF(dir)

   |–classes(dir) .class文件(可选)

   |–lib(dir) .jar(可选)

   |–web.xml web工程的信息描述文件

  Web工程下可以有页面,图片,样式,脚本以及WEB-INF目录,在WEB-INF目录下web.xml文件是web工程的信息描述文件,classes目录是放置.class文件的地方,lib目录是放置.jar文件的地方.

2.23.Servlet执行时一般实现哪几个方法?

参考答案:

public void init(ServletConfig config)
public ServletConfig getServletCofig()
public String getServletInfo()
public void service(ServletRequest request,ServletResponse response)
public void destroy()


2.24.说出Servlet的声明周期,并说出Servlet和CGI的区别

参考答案:

  Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init方法尽心Servlet的初始化,请求到达时运行其service方法,service方法自动派遣运行于请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法.

  与CGI的区别在于Servlet处理服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet.

2.25.请简述Request,Response的作用

参考答案:

  Request对象:提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息.这包括能指明浏览器和用户的HTTP变量,在这个域名下存放在浏览器中的cookie,任何作为查询字符串而附于URL后面的字符串或页面的
<FORM>
段中的HTML控件的值.也提供使用Secure Socket Layer(SSL)或其他加密通信协议的授权访问,及有助于对连接进行管理的属性.

  Response对象:用来访问服务器所创建的并发回到客户端的响应信息.提供HTTP变量,指明服务器和服务器的功能和关于发回浏览器的内容的信息,以及任何将为这个域而存放在浏览器里的新的cookie.它也提供了一系列的方法用来创建输出,例如无处不在的Response.write方法.

2.26.请说明cookie,request,session,application的作用域和生命周期,举例说明他们用在什么场景

参考答案:

  request的生命周期是一次请求.可以用于JSP表单提交数据;

  session会话可以设置它的时间,Tomcat中的默认时间为30分钟,当你关闭浏览器,结束本次会话.session对象的典型应用是用来对用户的身份进行验证,进而进行权限设置.

  cookie存放的载体在客户端的浏览器中,生命周期默认是根据服务器返回的Set-Cookie头设置的.有2大类:

  1)会话cookie:浏览器一关就没了;

  2)有过期时间:超过设定的过期时间才消失.Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点;

  application生命周期在整个应用程序中.生命周期为应用程序启动到停止.application对象的最常见的应用是用来统计页面的访问人数或者是记录网站的在线人数.

2.27.描述一下界面的跳转方式有几种?分别是什么?

参考答案:

  界面跳转方式有以下8中:

  1.
<a href=""> </a>


  2.response.sendRedirect(“”);

  3.response.setHeader(“Location”,”“);

  4.
<jsp:forward page=""/>


  5.request.getRequestDispatcher(“”).forward(request,response);

  6.通过表单提交:
<form method=" " name=" " action=" ">


  7.通过JS方式:

    1)window.location.href=”http://www.baidu.com/”;

    2)window.navigate();

    3)window.location.replace(“http://baidu.com/“);

    4)self.location=”;

    5)top.location=”;

    6)window.history.back(-1)/history.go();

  8.
<meta http-equiv="refresh" content="300;url=target.html">
:在5分钟之后正在浏览的页面会自动变为target.html这一页.

2.28.谈谈你对Servlet过滤器的理解

参考答案:

  过滤器是Servlet2.3规范中定义的一种小型的,可插入的Web组件.用来拦截Servlet容器的请求和响应过程,以便查看,提取客户端和服务器之间正在交换的数据.过滤器通常是封装了一些功能的Web组件,这些功能很重要,但对于处理客户端请求或发送响应来说不是决定性的.典型的应用包括记录请求和响应的数据,管理会话属性等.

2.29.简述什么是监听器

参考答案:

  Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理.

2.30.描述Cookie和Session的作用,区别和各自的应用范围.Session工作原理.

参考答案:

  1.Cookie和Session的作用如下:

  Cookie是网站保存在浏览器客户端的信息,也就是说保存在访客的机器里的变量,一般随着HTTP头发送到客户端.在Cookie生效之后及失效之前,客户每次发送页面请求的时候,都会把Cookie一块发送到服务器,只要我们针对它进行相应的处理,就可以改变它的值.

  Session的中文译名叫做”会话”,其本来的含义是指有始有终的一系列动作/消息,比如用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.

  2.Cookie和Session的区别和各自的应用范围如下:

  1)cookie数据存放在客户的浏览器上,session数据放在服务器上.

  2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session.

  3)session会在一定时间内保存在服务器上.当访问增多,会比较占用服务器的资源,考虑到提高服务器的性能,应道使用cookie.

  4)单个cookie保存的数据不能超过4k,很多浏览器cookie有数量限制.

  5)将登录信息等重要信息存放为session;其他信息如果需要保留,可以放在cookie中.

  3.Session的工作原理如下:

  session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息.当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session表示(成为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索步伐哦,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存.保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器.一般这个cookie的名字都是类似于session id.但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: