Java面试题集(四)
二. Java Web基础部分
在js中如何创建一个对象?
var p1={name:”tom”,”age”:12}; function Person(name,age){ this.name=name; this.age=age; } var p2=new Person(“jack”,14); 在js中如何得到对象的属性? Var age=p2.age; age=p1[“age”]; Alert(age);
$(document).ready()方法和window.onload()方法的区别?
1.window.onload()方法是在网页中所有的元素完全加载到浏览器后才执行的。
2.$(document).ready()方法可以在dom载入就绪时就对其进行操作,并调用执行绑定的函数。
Xml有哪些解析方式?区别是什么?项目中用到了xml技术的哪些方面?如何实现的?
1.DOM方式:一次性将整个文档加载到内存中,生成一个对象树,在处理大型文件时其性能下降的非常厉害。
2.SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件处理器对象的方法,但解析一旦开始就不能停止。
实际运用:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
Servlet的生命周期?
1.初始化阶段调用init()方法。
2.响应客户端请求阶段调用service()方法即doGet()和doPost()方法
3.终止阶段调用destory()方法。
http请求的转发(forward)和重定向(redirect)的区别?
1.地址栏:转发显示的是请求的url而重定向显示的不是请求的url,是指向新的url。
2.浏览器发送请求次数:转发浏览器发送了一次请求,而重定向浏览器发生了2次请求。
3.是否可以进行request数据共享:转发2个资源之间是同一个request对象,可以共享request中数据,而重定向2个资源之间不是同一个request对象,不可以共享。
补充:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址;
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
Http中请求的get和post方式的区别?
Get用于信息获取,而post用于更新信息,
get请求用来从服务器上获得资源,而post是用来向服务器提交数据;
数据查询时用Get方式,而数据添加、修改或删除时用Post方式;
1.携带请求参数的方式
Get:通过请求行携带参数,参数显示在地址栏
Post:通过请求体携带参数,参数不会显示在地址栏
2.服务器端处理请求的方法
Get:会调用servlet的doGet()来处理请求
Post:会调用servlet的doPost()来处理请求
3.数据大小和安全性
Get:大小有显示,不安全
Post:大小没显示,安全
JSP有哪些内置对象?作用分别是什么?
jsp一共有9个内置对象:
Request:用户端请求,此请求会包含来自get/post请求的参数
Reponse:网页传回用户端的回应
Session:与请求有关的会话期,Session可以存贮用户的状态信息
Application: 与当前应用对应的ServletContext对象,应用中只有一个
pageContext:网页的属性在这里管理
Out:用来传送回应的输出{}<%=%>
Page:jsp对应的servlet对象
Exception:针对错误网页,未捕捉的异常对象
Config:与jsp对象
jsp中动态include与静态include的区别?
1.动态包含:用<jsp:include file=”optimal.jsp”>包含动作是在jsp对应的servlet处理请求时去执行,每请求一次执行一次。
2.静态包含:<%@include file=”optimal.jsp”>包含动作在jsp被编译成java文件时执行,只有第一次请求时执行。
注意:在日常开发中会出现这样错误:
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit
则该错误是jsp文件过大编译失败。解决方法是动态引入jsp文件,拆分jsp文件
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
Public String translate (String str) { String tempStr = ""; try { tempStr = new String(str.getBytes("ISO-8859-1"), "GBK"); tempStr = tempStr.trim(); } catch (Exception e) { System.err.println(e.getMessage()); } return tempStr; }
Jquery使用好处?为什么使用jquery?
1.轻量级:jquery是轻量级的JavaScript框架.
2:强大的选择器:JQuery不仅支持CSS里的所有选择器,还有JQuery独有的选择器.
3:出色的DOM操作封装:JQuery封装了大量常用的DOM操作。
4.兼容性好:JQuery能够在不同浏览器中兼容,同时还修复了一些浏览器之间的差异.
5.可靠的事件处理机制
6.完善的ajax封装
7.链式操作方式,隐式迭代
8.支持丰富的插件
Ajax发送请求过程?优缺点?应用场景?
优点:
1.最大的一点是页面无刷新,给用户体验非常好。
2.使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力
3.Ajax的原则是“按需取数据,最大程度的减少冗余请求,减少服务器的负荷”。
缺点:
1.破坏浏览器后退按钮的正常行为,在动态更新页面后,用户无法回到前一个页面的状态。
2.使用JavaScript作ajax引擎,JavaScript的兼容性和debug本身让人头疼。
应用场景:
1.文本输入提示的场景
2.对数据进行联动过滤场景。
Java面试题集(四)的更多相关文章
- JAVA面试题集之基础知识
JAVA面试题集之基础知识 基础知识: 1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...
- 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101
Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...
- Java面试题全集(上-中-下)及Java面试题集(1-50/51-70)
阅读量超百万级的文章,收藏并分享一下.感谢原创作者的总结 对初中级java开发人员有特别大的帮助,不论是技术点面试还是知识点总结上. Java面试题全集(上): https://blog.cs ...
- 互联网大厂Java面试题集—Spring boot面试题(一)
Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...
- 转:Java面试题集(1-50)
Java程序员面试题集(1-50) http://blog.csdn.net/jackfrued/article/details/17403101 一.Java基础部分 1.面向对象的特征有哪些方面? ...
- Java面试题集(116-135)
Java程序员面试题集(116-135) 摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你 ...
- Java面试题集(71-85)
Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言).面向对象的设计原则(六原则一法则).GoF设计模式.企业级设计模式.JDBC(Java数据库连接).XML(可扩展 ...
- 大公司的Java面试题集
找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...
- Java面试题集(51-70)
Java程序员面试题集(51-70) 51.类ExampleA 继承Exception,类ExampleB 继承ExampleA. 有如下代码片断: try{ thrownew ExampleB(“b ...
- Java面试题集(1-50)
下面的内容是对网上原有的面试题集及答案进行了全面修订之后的内容(原来的题目有很多重复无用的题以及错误的答案),参照了JDK最新版本,删除了重复题目以及EJB2.x等无用内容,补充最新面试题.知识点巩固 ...
随机推荐
- KissXML类库的使用方法
1.添加附件里面的KissXML到工程 2.加入libxml2.dylib 到Frameworks 3.修改工程信息,右击Targets下工程名选“Get Info”,进入修改Header Searc ...
- OpenWrite方法打开现有文件并进行写入
实现效果: 知识运用: File类的OpenWrite方法 //实现打开现有文件以进行写入 public static FileStream OpenWrite (string path) Encod ...
- 快学UiAutomator创建第一个实例
工具准备 一.准备好java环境(JDK)和安卓环境(SDK.ADT)jdk1.6+ \eclipse\SDK \ADT详情百度,安装java环境 二.打开eclipse 三.创建步骤: 右键新建== ...
- 用border实现三角形的过程
div{ width:100px; height:100px; background:yellow; border-top: 20px solid red; border-right:20px sol ...
- Sniper OJ部分writeup
0x00 shellcode pwn 因为题目直接有源码,我就不拖进IDA了,直接看代码 这是一个典型的栈溢出,我们只需要构造shellcode获得/bin/sh权限就可以得到flag.下面是所用脚本 ...
- C++_STL基础案例
C++ C++三种容器:list.vector和deque的区别:https://blog.csdn.net/gogokongyin/article/details/51178378 一.容器 小常识 ...
- Fortran学习笔记5(数组Array)
数组的声明方式 一维数组 二维数组 多维数组 数组索引值的改变 自定义类型的数组定义 对数组内容的设置 利用隐含式循环设置数组初值 对整个数组操作 对部分数组的操作 where函数 Forall函数 ...
- 洛谷 P2032 扫描
https://www.luogu.org/problemnew/show/P2032 为啥不用STL,多方便. 定义一个大根堆,里边放一对数,这个数的大小和位置. 我们对于每次查询,判断首元素的位置 ...
- 如何用纯 CSS 创作阶梯文字特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXYBEM 可交互视频教 ...
- js事件,操作页面文档,计算后样式,数据类型
js:运行在浏览器的脚本语言 js引入 1.行间式:存在于行间事件中 <div id="div" onclick="this.style.color="r ...