(全)面试题JAVA WEB常见面试题含答案.docx
面试题JAVA WEB常见面试题含 答案1.判断第二个日期比第一个日期大如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21 必须要保证用户的输入是此格式,并且是时间,比如说月份不大于12 等等,另外我需要用户输入两个,并且后一个要比前一个晚,只允许用 JAVASCRIPT ,请详细帮助作答一这里可用正则表达式判断提前判断一下格式,然后按下提取各时间字 段内容<script type="text/javascript">window.onload =function()(这么写是为了实现js代码与html代码的分离,当我修改js时,不能 影响html代码。document.getElementById("frml").onsubmit= out对象是javax.jspJspWriter的一个实例,并提供了几个方法使你能 用于向浏览器回送输出结果。pageContext 表示一个对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功 能的方法。session表示一个请求的javax.servlet.http.HttpSession对象。Session 可以存贮用户的状态信applicaton 表示一个对象。这有助于查找有关servlet引擎和 servlet环境的信息config表示一个对象。该对象用于存取servlet实例的初 始化参数。page表示从该页面产生的一个servlet实例12.jsp有哪些动作?作用分别是什么?(这个问题似乎不重要,不明白为何有此题)答:JSP共有以下6种基本动作jsp:include :在页面被请求的时候引入一个文件。jsp:useBean :寻找或者实例化一个Java Bean。jsp:setProperty :设置 JavaBean 的属性。jsp:getProperty :输出某个 JavaBean 的属性。jsp:forward :把请求转到一个新的页面。jsp:plugin :根据浏览器类型为Java插件生成OBJECT或EMBED标记13、JSP的常用指令isErrorPage(是否能使用Exception对象)jsELIgnored(是否忽略表达 式)14. JSP中动态INCLUDE与静态INCLUDE的区别?答:动态INCLUDE用jsp:include动作实现<jsp:include page=included.jsp flush=true />它总是会检查所含文 件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDE 用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%include file=included.htm %>15、两种跳转方式分别是什么?有什么区别?(下面的回答严重错误 应该是想问forward和sendRedirect的区别, 毕竟出题的人不是专业搞文字艺术的人,可能表达能力并不见得很强,用词不一定精准,加之其自身的技术面也可能存在些问题,不一定真正将他的意思表达清楚了,严格意思上来讲,一些题目可能根本就无人 能答,所以,答题时要掌握主动,只要把自己知道的表达清楚就够了, 而不要去推敲原始题目的具体含义是什么,不要一味想着是在答题) 答:有两种,分别为:<jsp:include page=included.jsp flush=true><jsp:forward page= nextpage.jsp/>前者页面不会转向include所指的页面,只是显示该页的结果,主页面 还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参 数.后者完全转向新页面,不会再回来。相当于got。语句。16、页面间对象传递的方法request, session , application , cookie 等17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应 用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不 同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中 的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一 个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。18、MVC的各个部分都有那些技术来实现?如何实现?答:MVC是Model - View - Controller的简写。Model代表的是应用 的业务逻辑(通过JavaBean , EJB组件实现),View是应用的表示面 (由JSP页面产生),Controller是提供应用的处理过程控制(一般是 一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑 分成不同的组件实现。这些组件可以进行交互和重用。19、我们在web应用开发过程中经常遇到输出某种编码的字符,如 iso8859-l等,如何输出一个某种编码的字符串?Public String translate(String str) String tempStr ="try (tempStr = newString(str.getBytes("ISO-8859-l")f "GBK");tempStr =tempStr.trim();catch (Exception e) System.err.println(e.getMessage();)return tempStr;)20 .现在输入n个数字,以逗号,分开;然后可选择升或者降序排序; 按提交键就在另一页面显示按什么排序,结果为,提供resetfunction() vardl = this.dl.value;vard2 = this.d2.value;if(!verifyDate(dl) alert("第一个日期格式不对)return false;if(!verifyDate(d2) alert("第二个日期格式不对)return false;if(!compareDate(dl/d2)alert("第二个日期比第一日期小");return false;);)functioncompareDate(dl,d2)(var arrayDl= dl.split("-");var datel =new Date(arrayDl0,arrayDllzarrayDl2);var arrayD2= d2.split(,-H);var date2 =new Date(arrayD20,arrayD2l,arrayD22);if(datel> date2) return false;return true;)functionverifyDate(d)(vardatePattern 二/Ad4-0?l-9|l0-2)-(0?l-9|l-2d|30-l)$/;returndatePattern.test(d);)</script><form id = ,lfrml" action = ,xxx.html,><input type=”text" name=,dl" /><input type="text" name="d2" /><input type="submit”/2.用table显示n条记录,每3行换一次颜色,即1,2,3用红色字 体,4,5,6用绿色字体,7.8,9用红颜色字体。<body><table id = "tbl"><tr> <td>l</td></tr><tr> <td>2 </td > </tr><tr> <td>3</td></tr><tr> <td>4</td></tr><tr> <td>5</td></tr><tr> <td>6</td></tr><tr> <td>7</td></tr><tr><td>8</td></tr><tr> <td>9</td></tr><tr> <td> 10</td > </tr> </table></body><script type=ntext/javascriptn>window, onload =function。var tbl =document.getElementById(,tbr,);rows =tbLgetElementsByTagName(,tr");for(i=0;i<rows.length;i + +) var j= parseInt(i/3);if(j%2 =0)rowsi.style.backgroundColor="#f00"else rowsi.style.backgroundColor=,#OfOn;</script>3. HTML的form提交之前如何验证数值文本框的内容全部为数字?否则的话提示用户并终止提交?<form onsubmit=, return chkForm(this)/ ><input type=“text” name=ndl7><input type="submit”/</form><script type=,z text/javascript,/ />function chkForm(this)(var value = thist.dl.value;var len =value.length;for(vari=0;i<len;i + +) if(value.charAt(i)>,91,| value.charAt(i)<"O") alert("含有非数字字符) returnfalse;)return true;)</script> 4.请写出用于校验HTML文本框中输入的内容全部为数字的 javascript 代码<input type=,text" id = ,dlH onblur=n chkNumber(this)7> (script type="text/javascript,/ />function chkNumber(eleText) var value =eleText.value;var len =value.length;for(vari=0;i<len;i + +) if(value.charAt(i)>,9|,| value.charAt(i)<nOH)(alert("含有非数字字符");eleText.focus();break;</script>除了写完代码,还应该在网页上写出实验步骤和在代码中加入实现思路, 让面试官一看就明白你的意图和检查你的结果。ll.jsp有哪些内置对象?作用分别是什么?分别有什么方法?答:JSP共有以下9个内置的对象:request用户端请求,此请求会包含来自GET/POST请求的参数response网页传回用户端的回应pageContext网页的属性是在这里管理session与请求有关的会话期 application servlet正在执行的内容out用来传送回应的输出 config servlet的构架部件page JSP网页本身exception针对错误网页,未捕捉的例外request表示HttpServletRequest对象。它包含了有关浏览器请求的 信息,并且提供了几个用于获取cookie, header,和session数据的有 用的方法。response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)