申明:本资源收集于互联网,仅供参考,文中如存在错误,欢迎交流指正
面试题_JavaWeb 部分
- 申明:本资源收集于互联网,仅供参考,文中如存在错误,欢迎交流指正
- 1、四种会话跟踪技术
- 2、Jsp 九大隐式对象
- 3、Servlet 的生命周期
- 4、Servlet 和 Jsp 的关系
- 5、什么是 MVC?
- 6、重定向(redirect)和转发(forward)的异同点
- 7、Session 和 Cookie 的区别:
- 8、get 和 post 的区别:
- 9、写出浏览器 JS 的对象
- 10、简述在 JSP 中的注释有哪几种方法
- 11、JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?
- 12、尽量多的写出 request 下的常用方法
- 13、BS 与 CS 的联系与区别。
- 14、Ajax 的工作原理
- 15、XMLHttpRequest 对象是什么,它有哪些常用方法
- 16、HTTP 常见的状态码
- 17、数据库规范:三大范式
- 18、实体之间的关系
- 19、常用的端口
- 20、Servlet 和 Jsp 的关系
- 21、Ajax 总结
- 22、innerText 和 innerHtml 的区别
- 23、$(document).ready()是个什么函数?为什么要用它?
- 24、Jquery 中有哪几种常用类型的选择器?
1、四种会话跟踪技术
- page 否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Javaservlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面)
- request 是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
- session 是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
- application 是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用
域
2、Jsp 九大隐式对象
- request 用户端请求,此请求会包含来自 GET/POST 请求的参数
- response 网页传回用户端的回应
- pageContext 网页的属性是在这里管理
- session 与请求有关的会话期
- applicationservlet 正在执行的内容
- out 用来传送回应的输出
- configservlet 的构架部件
- pageJSP 网页本身
- exception 针对错误网页,未捕捉的例外
3、Servlet 的生命周期
Init()只会被调用一次,第一次访问Servlet访问的时候初始化一次
Service()每次请求都会被执行
Destroy():Web容器关闭的时候执行一次
Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和 destroy方法表达。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service 方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行 servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的 do***()方法。结束服务,web容器调用servlet的destroy()方法。
4、Servlet 和 Jsp 的关系
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是"类servlet"。
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑。
5、什么是 MVC?
MVC是Model-View-Controller的简写。
Model代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),
View是应用的表示页面(由JSP页面产生),
Controller是提供应用的处理过程控制(一般是一个Servlet),
通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
6、重定向(redirect)和转发(forward)的异同点
相同点:
实现请求之间的跳转不同:
语法不同
重定向不能携带值,转发可以带值
重定向发送了两次请求,转发发送了一次请求(服务器内部跳转) >重定向地址发生改变,转发地址不发生改变
7、Session 和 Cookie 的区别:
8、get 和 post 的区别:
从表面现像上面看 GET 和 POST 的区别:
- GET 请求的数据会附在 URL 之后(就是把数据放置在 HTTP 协议头中),以?分割
URL 和传输数据,参数之间以&相连,如:login.action?name=zhagnsan&password=123456。
POST 把提交的数据则放置在是 HTTP 包的包体中。 - GET 方式提交的数据最多只能是 1024 字节,理论上 POST 没有限制,可传较大量的数据。其实这样说是错误的,不准确的:
“GET 方式提交的数据最多只能是 1024 字节",因为 GET 是通过 URL 提交数据,那么
GET 可提交的数据量就跟
URL 的长度有直接关系了。而实际上,URL 不存在参数上限的问题,HTTP 协议规范没有对 URL 长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE 对 URL 长度的限制是 2083 字节(2K+35)。对于其他浏览器,如 Netscape、FireFox 等,理论上没有长度限制,其限制取决于操作系统的支持。 - POST 的安全性要比 GET 的安全性高。注意:这里所说的安全性和上面 GET 提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的 Security 的含义,比如:通过 GET 提交数据,用户名和密码将明文出现在 URL 上,因为(1) 登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用 GET 提交数据还可能会造成 Cross-siterequestforgery 攻击。
Get 是向服务器发索取数据的一种请求,而 Post 是向服务器提交数据的一种请求,在FORM(表单)中,Method
默认为"GET",实质上,GET 和 POST 只是发送机制不同,并不是一个取一个发!
9、写出浏览器 JS 的对象
- Window对象:窗口信息
- History对象:包含了浏览器窗口访问过的URL。 Location对象:Location包含了当前URL的信息
- Navigator对象:包含有关浏览器的信息
- Screen对象:包含有关客户端显示屏幕的信息
- Document对象:文档对象
10、简述在 JSP 中的注释有哪几种方法
主要有四中方法:
- <%–与--%>
- //
- /与/
- < !–与-->
11、JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?
动态INCLUDE用jsp:include动作实现
<jsp:includepage=included.jspflush=true />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDE用include伪码实现 , 定 不 会 检 查 所 含 文 件 的 变 化 , 适 用 于 包 含 静 态 页 面
<%@includefile=included.htm%>
12、尽量多的写出 request 下的常用方法
- getCookies():从请求信息中获取Cookies
- getHeader(Stringname):获取请求头信息
- getRequestURI():获取请求的URI地址
- getSession():获取Session对象
- getParameter(Stringname)获取请求参数
- setCharacterEncoding(Stringenv):设置请求编码
- ………
13、BS 与 CS 的联系与区别。
- C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或SQLServer。客户端需要安装专用的客户端软件。
- B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、
InFORMix或SQLServer等数据库。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过WebServer同数据库进行数据交互。
C/S与B/S区别:
- 1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.
B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行 - 2.对安全要求不同
C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.
B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。 - 3.对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比 C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的 BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM 推的JavaBean构件技术等,使B/S更加成熟.
14、Ajax 的工作原理
在会话的开始,浏览器加载Ajax引擎
请求动作通过JavaScript调用Ajax引擎来代替.
引擎负责绘制用户界面以及与服务器端通讯。
Ajax引擎采用异步交互过程--不用等待服务器的通讯。
15、XMLHttpRequest 对象是什么,它有哪些常用方法
一个JavaScript对象。是Ajax的核心。
该对象的方法和属性。
open():建立到服务器的新请求。
send():向服务器发送请求。
abort():退出当前请求。
readyState:提供当前HTML的就绪状态。
responseText:服务器返回的请求响应文本。.
16、HTTP 常见的状态码
- 200:服务器响应正常
- 400:错误请求,如语法错误
- 403:没有访问不权限
- 404 :访问的资源不存在
- 500:内部服务器错误
- ………
17、数据库规范:三大范式
- 第一范式的目标是确保每列都是不可再分的最小数据单元
- 第二范式每要求一个表只描述一件事情
- 第三范式要求表中各列必须和主键直接相关,不能间接相关
18、实体之间的关系
- 一对一:学生和学生证
- 一对多:班级和学生
- 多对一:学生和班级 多对多:商品和订单
19、常用的端口
- TomCat:8080
- 浏览器 Http:80
- MySql:3306
- Sqlerver:1433
- Oracle:1521
20、Servlet 和 Jsp 的关系
- JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。
- JSP 编译后是"类 servlet"。
- Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。
- 而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名为.jsp 的文件。
- JSP 侧重于视图,Servlet 主要用于控制逻辑。
21、Ajax 总结
AJAX 全称:异步无刷新访问技术
Ajax 的核心是 JavaScript 对象 XmlHttpRequest(XHR)。
Ajax 的优点:
1.提高用户体验度(UE)
2.提高应用程序的性能
3.进行局部刷新通常会使用 Jquery 进行封装,使用其他起来更方便。
22、innerText 和 innerHtml 的区别
- innerText:获取或者设置一个标签中的内容,该内容只能是文本
- innerHtml:获取或者设置一个标签中的内容,该内容可以是文本和标签 text()和 html()是 Jquery 中方法,效果一样的
23、$(document).ready()是个什么函数?为什么要用它?
ready()函数用于在文档进入 ready 状态时执行代码。当 DOM 完全加载(例如 HTML 被 完 全 解 析 DOM 树 构 建 完 成 时 ) , jQuery 允 许 你 执 行 代 码 。 使 用 $(document).ready()的最大好处在于它适用于所有浏览器,jQuery 帮你解决了跨浏览器的难题。
24、Jquery 中有哪几种常用类型的选择器?
- 基本选择器:直接根据 id、css 类名、元素名返回匹配的 dom 元素。
- 层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的 DOM 元素。
- 过滤选择器:在前面的基础上过滤相关条件,得到匹配的 dom 元素。
- 属性选择器