java web 高级笔试题_10道JavaWeb高级面试题助你通过面试(附答案)

面试也是一场考试,是考试就有简单的基础题和复杂的难题,对于java面试也是如此,有java的基础面试题,有java的高级面试题。前面已经总结整理了不少各类的java基础面试题,今天来汇总一些javaweb高级面试题,帮助那些不是java零基础的程序员学习回顾javaweb的知识。

1、谈谈你对ajax的认识?

答:Ajax 是一种创建交互式网页应用的的网页开发技术;“JavaScriptand XML”的缩写。

Ajax 的优势: 通过异步模式,提升了用户体验;优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用;Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

Ajax的最大特点:可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度。

2、jsonp的原理是什么?

答:JavaScript 是一种在 Web 开发中经常使用的前端动态脚本技术。在 JavaScript 中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于 JavaScript 代码能够访问的页面内容做了很重要的限制,即 JavaScript 只能访问与包含它的文档在同一域下的内容。

jsonp的最基本的原理是:动态添加一个

3、说一下常用的Linux命令都有哪些?

答:列出文件列表:ls【参数 -a -l】

创建目录和移除目录:mkdir rmdir

用于显示文件后几行内容:tail

打包:tar -xvf

打包并压缩:tar -zcvf

查找字符串:grep

显示当前所在目录:pwd

创建空文件:touch

编辑器:vim vi

列出文件列表:ls 【参数 -a -l】

创建目录和移除目录:mkdir rmdir

用于显示文件后几行内容:tail

打包:tar -xvf

打包并压缩:tar -zcvf

查找字符串:grep

显示当前所在目录:pwd

创建空文件:touch

4、Linux怎么关闭进程?

答:通常用ps查看进程PID,用kill命令终止进程。ps命令用于查看当前正在运行的进程。grep 是搜索,例如:ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息。

5、JSP中动态的include与静态include的区别?

答:动态include用于jsp:include动作实现它总是会检查所含文件的变化,适用于包含动态页面,并且可以带参数。

静态include用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@include file=“include.html”%>。

6、请求转发和重定向的区别?

答:(1)请求转发是一个请求一次响应,而重定向会是两次请求两次响应。(2)请求转发地址栏不变化,而重定向会显示后一个请求的地址。(3)请求转发只能转发到本地项目其他servlet,而重定向不只能重定向到本项目其他servlet,还能定向到其他项目。(4)请求转发是服务器端行为,只需要给出转发的servlet路径,而重定向需要给出request URI,即包含项目名。(5)请求转发带值,重定向不带值。

7、JSP和Servlet有哪些相同点和不同点,联系是什么?

答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类Servlet",Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在java文件中,并且完全从表现HTML中分离出来,而JSP的情况是java和HTML可以组合成一个扩展名为.jsp的文件,JSP偏重于视图,Servlet偏重于业务逻辑。

8、jsp有哪些内置对象?作用分别是什么?

答:JSP共有以下9种基本内置组件。

(1)request对象 对应客户端请求,此请求会包含来自GET/POST请求的参数,通过它了解客户的需求,然后做出响应。

(2)response对象 响应客户请求的有关信息,包括返回给客户端的信息。

(3)session对象 它指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。

(4)out对象 它是JspWriter类的实例,是向客户端输出内容常用的对象。

(5)page对象 它是指向当前JSP页面本身,有点象类中的this指针,它是 java.lang.Object类的实例。

(6)application对象 它实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭。

(7)exception对象 它是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。

(8)pageContext对象 它提供了对JSP页面内所有的对象及名字空间的访问。

(9)config对象 它是在一个Servlet初始化时,JSP引擎向它传递信息用的。

9、tomcat容器是如何创建servlet类实例?用到了什么原理?

答:当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。

10、Servlet API中forward()与redirect()的区别?

答:forward是服务器端的转向也就是请求转发而redirect是客户端的跳转也就是重定向。使用forward浏览器的地址不会发生改变。而redirect会发生改变。

forward是一次请求中完成。而redirect是重新发起请求,意味着上一次请求中传递过来的参数在重新发起请求时将不再存在。

forward是在服务器端完成,而不用客户端重新发起请求,效率较高。

forward请求转发不允许访问外部资源,redirect重定向则可以访问外部资源。因为相当于两次请求,第二次请求与第一次请求无关,所以第二次请求可以去访问任何网页。

以上就是今天整理的javaweb高级面试题,希望大家可以好好学习这10道题,将这些题目里涉及到的知识点都复习回顾一下,遇到哪里不会的要及时查阅资料弄懂,以后顺利通过面试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值