java前端知识点整理
1.jsp内置对象?作用?
request :客户端请求,包含来自 GET/POST,提供了几个用于获取 cookie, 和 session 的方法
response :网页传回用户端的回应
pageContext :网页的属性是在这里管理,获取上下文对象
session :与请求有关的会话期,表示一个请求的HttpSession 对象。Session 可以存贮用户的信息
application :servlet 正在执行的内容
out :用来传送回应的输出
config: servlet 的构架部件
page: JSP 网页本身
exception: 针对错误网页,未捕捉的例外
2.描述servlet的生命周期和基本框架
Servlet是Java编写的程序,此程序是在服务器端运行的,处理客户端的请求,并将处理结果以响应的方式返回给客户端。
生命周期:加载和实例化、初始化、处理请求和服务结束。
Servlet被实例化后à容器运行init方法初始化à请求到达时,运行service方法à自动派遣与请求对应的doxxx方法à服务器调用destroy方法销毁实例。
基本框架:
|
//继承HttpServlet,重写doGet和doPost方法 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);//输出1、2、3、4、5、6、7 |
7.Http中get和post方式的区别?
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 Page(JSP)和 Servlet 的联系和区别?
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
10.jquery的选择器有哪些?

11.javascript有哪些数据类型?
基本类型:Undefined、Null、Boolean、Number
引用类型:Object、Array和Function
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方法(GET或POST);设定目标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的组件大量使用了继承 。
java前端知识点整理的更多相关文章
- Java 架构知识点整理
架构学习 1. Java 核心技术 1.1. 基础知识 1.1.1. 进制转换 1.1.2. 异常处理 1.1.3. List 分批代码 1.1.4. 字符串分割 1.1.5. 编码风格 1.2. 并 ...
- java异常知识点整理
异常处理机制:捕获异常(try-catch-finally)和声明抛弃异常(throw); 所有的异常类都直接或者间接地继承于Throwable类: java异常分为可查异常和不可查异常两种.可查异常 ...
- java重点知识点整理
隔壁班的帅哥给我的 1.1简述JAVA的语言特点 a语法简单,功能强大 b分布式与安全性 c与平台无关 d多线程 1.2什么是Java虚拟机?它包括哪几个部分? 解: Java 虚拟机 (JVM ) ...
- java基础知识点整理
1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二 ...
- vue前端知识点整理
1. 说一下Vue的双向绑定数据的原理 vue 实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫持各个属性的 setter, ...
- web前端面试知识点整理
一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...
- JAVA 150道笔试题知识点整理
JAVA 笔试题 整理了几天才整理的题目,都是在笔试或者面试碰到的,好好理解消化下,对你会有帮助,祝你找工作顺利,收到满意的 offer . 1.Java 基础知识 1.1 Java SE 语法 &a ...
- 尚学堂Java面试题整理
博客分类: 经典分享 1. super()与this()的差别? - 6 - 2. 作用域public,protected,private,以及不写时的差别? - 6 - 3. 编程输出例如以 ...
- Android 零散知识点整理
Android 零散知识点整理 为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停 ...
随机推荐
- 7.28 NOI模拟赛 H2O 笛卡尔树 并查集 贪心 长链剖分
LINK:H2O 这场比赛打的稀烂 爆蛋. 只会暴力.感觉暴力细节比较多不想写. 其实这道题的难点就在于 采取什么样的策略放海绵猫. 知道了这一点才能确定每次放完海绵猫后的答案. 暴力枚举是不行的.而 ...
- Nginx使用中遇到的问题记录
问题一.关于空格 nginx配置对空格十分敏感,在关键字和符号的前后,一定记得有空格(或换行).一个典型的场景是 if { } 语句,大括号前后要有空格,否则可能出现非预期行为. 问题二.关于serv ...
- intel:spectre&Meltdown侧信道攻击(四)—— cache mapping
前面简单介绍了row hammer攻击的原理和方法,为了更好理解这种底层硬件类攻击,今天介绍一下cpu的cache mapping: 众所周知,cpu从内存读数据,最开始用的是虚拟地址,需要通过分页机 ...
- 类加载Class Loading
JVM 何时.如何把 Class 文件加载到内存,形成可以直接使用的 Java 类型,并开始执行代码? 类的生命周期 加载 - 连接(验证.准备.解析)- 初始化 - 使用 - 卸载. 注意,加载 ...
- 00-基础SQL-SELECT语句
DML(数据操作语言,增删查改)DDL(数据定义语言,比如创建.修改或删除数据库对象)DCL(数据控制语言,控制数据库的访问) desc 表名:显示表结构:dual : 伪表 对于日期型数据,做 * ...
- Vulhub Docker环境部署
1:安装Linux 2:安装Docker : curl -s https://get.docker.com/ | sh 3:安装Docker-compose curl -s https://boots ...
- 【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动
摘要:闲着没事用多模态评测API做了一个测评英语口语的互动小游戏,居然成了一场10万人参与的刷屏级活动. 上一期故事说到,我成为了公司技术委员会副主席,上任后的第一件事是建立了一个云容器化的研发资料库 ...
- C++socket编程write()、read()简介及与send()、recv()的区别
1. write 函数原型:ssize_t write(int fd, const void*buf,size_t nbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功 ...
- JDBC+MySQL入门实战(实现CURD的例子)
前言 hello我是bigsai,今天咱们进行JDBC+MySQL实战,非常适合初入门的小伙伴打开新的世界.实现一个增删改查(curd)的例子.先点赞再观看.帅哥靓女养成好习惯! 在这个案例进行之前, ...
- 分治算法(二分查找)、STL函数库的应用第五弹——二分函数
分治算法:二分查找!昨天刚说不写算法了,但是突然想起来没写过分治算法的博客,所以强迫症的我…… STL函数库第五弹——二分函数lower_bound().upper_bound().binary_se ...