Mr. Cappuccino的第16杯咖啡——金三银四面试题之JavaWeb基础篇

金三银四面试题之JavaWeb基础篇

        • 1. 什么是B/S和C/S?
        • 2. 如何设置Servlet初始化的参数?如何获取Servlet初始化的参数?
        • 3. 什么是Ajax?
        • 4. HTTP请求的GET与POST方式的区别?
        • 5. 说一说Servlet的生命周期?
        • 6. Servlet API中forward()与redirect()的区别?
        • 7. 什么是JSP?
        • 8. JSP的优缺点?
        • 9. JSP的九大内置对象分别是什么?
        • 10. JSP中的四种作用域是什么?
        • 11. Session和Cookie的区别?

1. 什么是B/S和C/S?

B/S是Brower/Server(浏览器/服务器模式)的缩写,客户机上只要安装一个浏览器,实现与服务器交互,安装维护的成本很小;
C/S是Client/Server(客户端/服务器模式)的缩写,客户机上需要安装专用客户端,实现与服务器交互,安装维护的成本较大。

2. 如何设置Servlet初始化的参数?如何获取Servlet初始化的参数?

在web.xml里为每一个Servlet配置初始化参数;
通过ServletConfig对象获取Servlet初始化参数。

3. 什么是Ajax?

Ajax(Asynchronous Javascript And XML)是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax采用了异步请求的方式,解决了页面无刷新式提交的问题,改善了页面的用户体验效果。

4. HTTP请求的GET与POST方式的区别?

  1. GET方式表单中的数据放到HTTP数据包的头部,POST方式放到body中;
  2. GET方式提交后,数据会在地址栏中显示出来,而POST方式不会,所以POST更安全;
  3. GET方式在提交数据的时候,数据长度是有限制的,而POST方式在理论上对提交数据的大小是无限制的;
  4. GET方式提交表单永远使用字符方式提交,而POST方式提交表单可以是字节方式也可以是字符方式;
  5. GET方式比POST方式效率更高;

5. 说一说Servlet的生命周期?

Servlet的生命周期包括加载和实例化、初始化、处理请求以及服务结束。
Servlet被服务器实例化后(用户第一次访问该Servlet时),容器运行其init()方法,请求到达时运行其service()方法,service()方法自动派遣运行与请求对应的doGet()或doPost()方法,当服务器决定将实例销毁时调用其destroy()方法。

6. Servlet API中forward()与redirect()的区别?

  1. forward()是请求转发,而redirect()是重定向;
  2. 请求转发是服务器将客户端的请求转发到另一个地址去处理,然后将响应返回给客户端,实际上是1次请求,1次响应;而重定向是服务器根据客户端发来的请求,返回给客户端一个新的地址,客户端根据这个返回的地址再发送请求,得到响应,实际上是2次请求,2次响应;
  3. 转发只能转发到自己的资源,重定向无限制;
  4. 转发的效率高于重定向。

转发核心代码:request.getRequestDispatcher(“资源地址”).forward(request,response)
重定向核心代码:response.sendRedirect(“资源地址”)

7. 什么是JSP?

JSP 是一种简化的 Servlet 设计,可以调用强大的 Java 类库,并可以与其他相关的一些技术(Servlet、JavaBean、EJB)联合工作。

8. JSP的优缺点?

优点:一次编写,到处运行;系统的多平台支持;强大的可伸缩性;多样化和功能强大的开发工具支持;
缺点:产品复杂性大;需要占用大量的内存和硬盘空间;JSP程序调试困难。

9. JSP的九大内置对象分别是什么?

request 请求对象
response 响应对象
pageContext 表示JSP页面上下文
session 表示一次会话
application 表示web应用上下文
out 输出响应体
config 表示Servlet配置
page 表示当前JSP页面
exception 表示发生异常对象

10. JSP中的四种作用域是什么?

page:表示变量只能在当前页面生效;
request:表示变量能在一次请求中生效,一次请求可能包括一个或多个页面;
session:表示变量能在一次会话中生效,基本上就是在web项目下都有效;
application:表示在整个应用程序中生效;

11. Session和Cookie的区别?

Session和Cookie都是会话跟踪技术;
Session是保存在服务器端的技术,而Cookie是保存在客户端的技术;
Cookie只能存字符串,而Session可以存对象。

你可能感兴趣的:(金三银四,mr,服务器,ajax,javaweb)