java前端知识点整理

时间:2022-11-17 15:09:03

1.jsp内置对象?作用?

request :客户端请求,包含来自 GET/POST,提供了几个用于获取 cookie, session 的方法

response :网页传回用户端的回应

pageContext :网页的属性是在这里管理,获取上下文对象

session :与请求有关的会话期,表示一个请求的HttpSession 对象。Session 可以存贮用户的信息

application servlet 正在执行的内容

out :用来传送回应的输出

configservlet 的构架部件

pageJSP 网页本身

exception: 针对错误网页,未捕捉的例外

2.描述servlet的生命周期和基本框架

ServletJava编写的程序,此程序是在服务器端运行的,处理客户端的请求,并将处理结果以响应的方式返回给客户端。

生命周期:加载和实例化、初始化、处理请求和服务结束。

Servlet被实例化后à容器运行init方法初始化à请求到达时,运行service方法à自动派遣与请求对应的doxxx方法à服务器调用destroy方法销毁实例。

基本框架:

//继承HttpServlet,重写doGetdoPost方法

public class ServletTest extends HttpServlet {

 

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

}

}

 

3.使用过哪些javascript库和前端框架?

库:

Jquery:它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

Lodash:提供了数百个功能性的JavaScript实用程序来补充原生字符串、数字、数组和其它原始对象方法。

React:用于构建用户界面的JavaScript类库,也是去年最受关注的类库。它专注于Model-View-Controller(MVC)开发的“View”部分,使用它可以轻松创建保留状态的UI组件。它是实现虚拟DOM的首选类库之一, 它的内存结构能够有效地计算差异,页面更新也更加有效。小巧,高效,快捷灵活 简单的组件模型

框架:

AngularJS :它使用双向数据绑定扩展HTML,同时解耦了DOM操作和应用程序逻辑。

Vue.js:用于构建用户界面的轻量级渐进框架。它提供了一个类似React的虚拟DOM驱动视图层,可以与其它类库集成,用于构建强大的单页面应用。该框架是由之前在AngularJS工作过的Evan You创建的,他提取了AngularJS中自己喜欢的部分。Vue.js使用HTML模板语法将DOM绑定到实例数据。Model是在数据改变时更新view的纯JavaScript对象。

Knockout.js:是最早的MVVM框架之一,它确保了UI与底层数据保持同步,具有模板和依赖关系跟踪。

4.Label标签的作用是什么?如何使用?

Label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。

FOR属性功能:表示Label标签要绑定的HTML元素,你点击这个标签的时候,所绑定的元素将获取焦点。

ACCESSKEY属性功能:表示访问Label标签所绑定的元素的热键,当您按下热键,所绑定的元素将获取焦点。

5.如何规避javascript多人开发函数重命名的问题,列出所有的解决办法,举例说明?

命名空间封闭空间、js模块化mvc(数据层、表现层、控制层)变量转换成对象的属性对象化

6.编写一个方法,实现对象的深度克隆?

function deepClone(obj) {

  var o = obj instanceof Array ? [] : {};

  for(var k in obj)

    o[k] = typeof obj[k] === Object ? deepClone(obj[k]) : obj[k];

  return o;

}

var a = [[1, 2, 3], [4, 5, 6, 7]];

var b = deepClone(a);

alert(b);//输出1234567

 

7.Httpgetpost方式的区别?

get方法:

GET请求能够被缓存

GET请求会保存在浏览器的浏览记录中

GET请求的URL能够保存为浏览器书签

GET请求有长度限制

GET请求主要用以获取数据

 

post方法:

POST请求不能被缓存下来

POST请求不会保存在浏览器浏览记录中

POST请求的URL无法保存为浏览器书签

POST请求没有长度限制

8.XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式及区别?

本题三个答题点:

a: 两种形式 dtd,schema

b: 本质区别:schema本身是xml,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)

c: 两种主要方式:dom,sax

区别:DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:不同于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

9.简述 Java Server PageJSP)和 Servlet 的联系和区别?

ServletJSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是JavaHTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

10.jquery的选择器有哪些?

 java前端知识点整理

11.javascript有哪些数据类型?

基本类型:UndefinedNullBooleanNumber

引用类型:ObjectArrayFunction

12.Jsp中使用JavaBean

JSP技术提供了三个关于JavaBean组件的动作元素,JSP标签,它们分别为:
<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件。
<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。
<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。

13.谈谈我对Ajax的原理的理解

同步,是发送方发送数据之后,必须等接收方接收数据必须做出回应之后,才可以进行下一步。

异步的话则是发送方发送数据之后不需等接收方做出回应,可以进行下一步操作。)

Ajax的原理简单来说,实际上就是用javascript的方式,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。

Ajax原理过程 :                                                                                                                                       
利用XMLHttpRequest对象发送简单请求的基本步骤:
1)创建XMLHttpRequest对象实例
2)设定XMLHttpRequest对象的回调函数,利用onreadystatechange属性
3)设定请求属性:设定HTTP方法(GETPOST);设定目标URL,利用open()方法
4)将请求发送给服务器。利用send()方法
利用DOM对服务器响应进行处理 

Ajax优点:

1.无刷新更新数据,减少用户等到时间,更好的用户体验

2.异步与服务器通信,无需打断用户,响应更加迅速

3.可以把服务器的一些负担转到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,AJAX的原则是按需取数据,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。

5.基于标准化,广泛被支持

Ajax缺点

1.破坏了前进后退功能,用户往往通过后退按钮来取消上一步操作,但是使用ajax无法实现。可以使用Gmail来解决这个问题,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。

2.安全问题。ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有自身受到如跨站脚本攻击,SQL注入等攻击。

3.对搜索引擎支持较弱

4.一些手持设备不能很好的支持等

14.easyUi的理解?

基于jquery框架,主要前端视图。

easyui在封装组件的时候,是以对象的思想封装,以函数调用的方式实现

easyui的组件大量使用了继承 。