2023年11月25日发(作者:)
web面试题及答案
web面试题及答案(一)
1.说出Servlet的生命周期,并说出Servlet和CGI的区别?
Web容器加载servlet并将其实例化后,servlet生命周期开始,容器运行
其init方法进行servlet的初始化,请求到达时运行其service方法,service
方法自动派遣运行于请求对应的doXXX方法(doGet,doPost)等,当服务器决定将
实例销毁的时候调用其destroy方法。与CGI的区别在与servlet处于服务器进
程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,
并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销
毁,所以效率上低于servlet。
d和redirect的区别?
forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标
地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,
浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来
的地址。
redirect就是服务器端根据逻辑,发送一个状态码,告诉浏览器重新去请
求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以
session,request参数都可以获取,并且从浏览器的地址栏中可以看到跳转后的
链接地址。
前者更加高效,在前者可以满足需要时,尽量使用forward()方法,也有助
于隐藏实际的链接;在有些情况下,比如需要跳转到一个其它服务器上的资源,
则必须使用sendRedirect()方法。
中动态include与静态include的区别?
动态include用jsp:include动作实现
它总是会检查所包含文件中的变化,适合用于包含动态页面,并且可以带参
数;静态include用include伪码实现,它不会检查所含文件的变化,适用于包
含静态页面
的有哪些内置对象,作用分别是什么?
request:表示HttpServletRequest对象,它包含了有关浏览器请求的信息,
并且提供了几个用于获取cookie,header和session数据的有用方法;
response:表示HttpServletResponse对象,并提供了几个用于设置送回浏
览器的响应的方法(如cookies,头信息等。)
pageContext:网页的属性在这里管理;
session:表示一个请求的ssion对象,session
可以存储用户的状态信息;
application:表示一个tContext对象,这有助于查
找有关servlet引擎和servlet环境的信息;
out:是ter的一个实例,并提供了几个方法使你能用于
向浏览器回送输出结果;
config:表示一个tConfig对象,该对象用于存取
servlet实例的初始化参数;
page:表示从该页面产生的一个servlet实例;
exception:针对错误网页,未捕捉的例外。
的常用指令?
有哪些动作,作用分别是什么?
JSP共有以下6种基本动作:
jsp:include:在页面被请求的时候引入一个文件;
jsp:useBean:寻找或者实例化一个JavaBean;
jsp:setProperty:设置JavaBean的属性;
jsp:getProperty:输出某个JavaBean的属性;
jsp:forward:把请求转到一个新的页面;
jsp:plugin:根据浏览器类型为Java插件生成object标记。
和POST的区别?
form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的
GET和POST方法。二者主要区别如下:
① Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;
② Get将表单中数据按照variable=value的形式,添加到action所指向
的URL后面,并且两者使用“?”连接,而各个变量之间使用“”连接;Post是
将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到
action所指向URL;
③ Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所
有操作对用户来说都是不可见的;
④ Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输
大量的数据,所以在上传文件只能使用Post;
⑤ Get限制form表单的数据集必须为ASCII字符,而Post支持整个
ISO10646字符集;
⑥ Get是from的默认方法。
8.常用的web容器和开发工具?
最常用的容器包含:tomcat、weblogic、
开发工具有:eclipse,jbuilder,JCreator
和Servlet有哪些相同点和不同点,它们之间的联系是什么?
Jsp是servlet技术的扩展,本质上是servlet的简易方式,更强调应用的
视图表达。JSP编译后是“servlet类”。Servlet和JSP最主要的不同点在于,
servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于
视图,servlet主要用于控制逻辑。
web面试题及答案(二)
1.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css
和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的
用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、
改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易
用性;
和html有什么区别
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言 最
主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
e? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意
义?
用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的
html文档 加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border ,margin,padding
引入的方式有哪些? link和@import的区别是?
内联 内嵌 外链 导入
区别 :同时加载
前者无兼容性,后者CSS2.1以下浏览器不支持
Link 支持使用javascript改变样式,后者不可
选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和
important哪个优先级高?
标签选择符 类选择符 id选择符
继承不如指定 Idclass标签选择
后者优先级高
7.前端页面有哪三层构成,分别是什么?作用是什么?
结构层 Html 表示层 CSS 行为层 js
的基本语句构成是?
选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
10.写出几种IE6 BUG的解决方法
1.双边距BUG float引起的 使用display
2.3像素问题 使用float引起的 使用dislpay:inline -3px
3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover
active
z-index问题 给父级添加position:relative
透明 使用js代码 改
-height 最小高度 !Important 解决
在ie6下遮盖 使用iframe嵌套
8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用
over:hidden,zoom:0.08 line-height:1px)
web面试题及答案(三)
1.标签上title与alt属性的区别是什么?
Alt 当图片不显示是 用文字代表。
Title 为该属性提供信息
2.描述css reset的作用和用途。
Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重
置,让他们统一
3.解释css sprites,如何使用。
Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请
求数量
4.浏览器标准模式和怪异模式之间的区别是什么?
盒子模型 渲染模式的不同
使用 ntpatMode 可显示为什么模式
5.你如何对网站的文件和资源进行优化?期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
6.什么是语义化的HTML?
直观的认识标签 对于搜索引擎的抓取有好处
7.清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意
义的标签)
2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊
端,,使用zoom:1用于兼容IE)
3.是用afert伪元素清除浮动(用于非IE浏览器)
8、Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
(1)、声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用
什么文档类型规范来解析这个文档。
(2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
(3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器
的行为以防止站点无法工作。
(4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
9、行内元素有哪些?块级元素有哪些?
(1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个
元素都有默认的display值, 比如div默认display属性值为“block”,成为
“块级”元素; span默认display属性值为“inline”,是“行内”元素。
(2)行内元素有:a b span img input select strong(强调的语气) 块级元
素有:div ulol li dl dtdd h1 h2 h3 h4…p
10、link 和@import 的区别是?
(1)link属于XHTML标签,而@import是CSS提供的;
(2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页
面被加载完再加载;
(3)import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;
(4)link方式的样式的权重高于@import的权重.
11、浏览器的内核分别是什么?
IE浏览器的内核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的
分支)、Opera内核原为Presto,现为Blink;
12、HTML5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区
分 HTML 和 HTML5?
HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务
等功能的增加。
绘画 canvas 用于媒介回放的 video 和 audio 元素 本地离线存储
localStorage 长期存储数据,浏览器关闭后数据不丢失; sessionStorage 的数
据在浏览器关闭后自动删除 语意化更好的内容元素,比如 article、footer、
header、nav、section 表单控件,calendar、date、time、email、url、search
新的技术webworker, websockt, Geolocation
发布评论