您好,欢迎访问三七文档
1,Session和Cookie的区别和使用区别:1.存储方式,2浏览器的支持,3,跨域名的有效性,4,有效期的不同,5,服务器的负载能力,当浏览器不支持Cookie时必须要url重写(弄懂Cookie和Session的内部联系);使用部分这里就不多说了2.El表达式,这知识点很重要,轻巧,使用方便,必须熟练掌握比如考你用符号用英文形式表达==!===写出英文形式如下:gtltgeleneeq3.JSP内置对象1.out2.request3.resopnse4.Session5.application6.page7.pageContext8.exception9.config如果这是一个考题你能答出几个?你都能熟悉运用它们吗?4.jsp动作与指令,公司里出题者的爱好5.Servlet运行原理,生命周期,并运用6.Jstl内置标签1.core2.fmt3.sql5.xml6.内置对象functions这些都是比较常用的东西,你对它的运用能力如何。7.自定义标签有两种:JSP1.0自定义标签和JSP2.O自定义标签8.国际资源化9.Filter的使用,不要小看这个类,它能实现的功能,可能会让你惊讶,如1防盗链2.文本内容替换,3.字符编码4.Gzip网上压缩,5文件上传等,6,判断用户是否登陆等等10.Lister监听器,能监听到Request,response,contextServlet等属性,实现功能如:单向登入11.xml文件解析12.JDBC的运用13.JNDI的运用14.连接池的原理和运用15.java反射机制,你知多少?16.java设计模式常用的有23种能知道几种?你有运用过多种设计模式的编程吗?如果你对Java设计模式熟练后,我想你对Java的面向对象编程思想会有更深的理解与体会17.SpringHibernate,Strut运行原理,必须能够熟练的运用它们,比如让你写出三者整合后它们的配置文件你能够写的出来吗?18.javaScript你对这个脚步语言绝对不陌生,可是你对它了解多深,运用多熟?如正则表达式,JavaScript类的创建并方法的调用19.JQuery框架的使用,现在越来越流行,你有必要去学习20.Ajax的使用,并能够熟练其中一种框架如DWR21.WebService的运用,如XFire22.JavaEE还有一大堆的框架如EJB3.0听说重放春光了23.Oracle数据库,MySql数据库,SQLServer数据库,其中一种数据库学好都够你受的了,何况是三种24.JavaSe基础要掌握好二:缺点:1.JSP技术极大的增加了产品的复杂性.为了获得系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如,JRE,JDK,J2EE,EJB,JSWDK,JavaBeans,只有有效地将它们组合在一起,才能产生强大的功能.(部署有难度)2.java的高效率运行需要占用大量的内存和硬盘空间.一方面,java的高速运行是通过.class文件常驻内存来实现的.另一方面,还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件.(硬件要求高)3.JSP程序调试困难.JSP页面执行时,首先被转换为.java文件(Servlet),然后将.java文件编译为字节码文件.这样,出错信息实际上指向的是转换后的那个.java文件(Servlet),而不是JSP本身.(调试有难度)优点:1.JSP代码跨平台,即一次编写,处处运行众所周知,由于微软的垄断性,它的产品可移植性做得十分差,ASP也不例外,2.JSP组件跨平台JSP组件(企业JavaBeans,JavaBeans或定制的JSP标签)都是跨平台可重用的.企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台.3.支持多种网页格式目前,JSP技术支持的网页格式还没有一个明确的标准.一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通信设备如移动电话,PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式.4.JSP标签可扩充性尽管ASP和JSP都使用标签与脚本技术来制作动态Web网页,JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖.由于定制标签技术,使网页制作者降低了制作网页的复杂度.5.健壮性与安全性由于JSP页面使用的脚本语言是java语言,因此,它就具有java技术的所有好处,包括健壮的存储管理和安全性.面试题集:1.问:在JAVA与JSP中要调用一个LINUX上的脚本程序,或WINDOWS上的脚本程序,该怎么写?答:System.getRuntime().exec(“bashaaa.sh”);2.问:java中用什么表示双引号答:”\”3.问:如何在JSP程序里另起一个线程?答:JSP本身就是独立线程运行而不象CGI都是独立进程.一般:Threadt=newThread(“你的对象\\”);t.start();就可以了.要求你这个对象要实现runnable接口或继承thread.4.问:jsp如何获得客户端的IP地址?答:request.getRemoteAddr()看看各个webserver的API文档说明,一般都有自带的,resin和tomcat都有5.问:程序终止与输出终止答:程序中止:return;输出中止:out.close();这一句相当于ASP的response.end6.问:jsp中如何得到上页的URL?答:request.getHeader(“referer”);7.问:提交网页的网页过期功能是怎么做的?答:response.setHader(“Expires”,”0″);8.问:在JSP网页中如何知道自已打开的页面的名称答:request.getRequestURI();//文件名request.getRequestURL();//全部URL9.问:提交表单后验证没有通过,返回提交页面,如何使原提交页面中的数据保留?答:javascript的go(-1)可以把上页的表单内容重新显示出来,但password域没有10.问:如何取得http的头信息?答:request.getHader(headerName);11.问:&&和&的区别?答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。12.问:将*以正弦曲线的一个周期显示出来答:publicvoidpaint(Graphicsg){for(inti=0;i200;i++)g.drawString(“*”,i,(int)(Math.sin(i)*20)+50);}}13.问:浮点数相乘后结果不精确如100.0*0.6结果等于60.0004答:这不叫错误,float和double是这样实现的.如果要精确计算,java提供了一个strictfp,它的计算遵循IEEE754标准.而普通的float和double是由地平台浮点格式或硬件提供的额外精度或表示范围。14.问:如何获得当前用的cursors的位置?答:introw=rs.getRow()就是当前指针行数,还有isFrist();isBeforeFist();isLast();isAfterLast();可以测试是不是在方法名所说的位置15.问:表单成功提交了,点后退显示网页过期答:在head/head里面加以下代码METAHTTP-EQUIV=”Pragma”CONTENT=”no-cache”METAHTTP-EQUIV=”Cache-Control”CONTENT=”no-cache”METAHTTP-EQUIV=”Expires”CONTENT=”0″或者在表单页中加上%response.setHeader(“Pragma”,”no-cache”);response.setHeader(“Cache-Control”,”no-cache”);response.setDateHeader(“Expires”,0);%16.问:接口的简单理解答:接口为了规范,比如我在接口中定义了一个方法:getData()这是用来从不同的数据库中取数据的,就是JDBC的实现对于用户,我不要知道每种数据库是如何做的,但我知道如何它们要实现这个接口就一定有这个方法可以供我调用.这样SUN就把这个接口给各个数据库开发商,让他们自己实现.但为什么不用继承而用接口哩,因为继承只能从一个你类继承,而接口可以实现多个,就是说我实现的子类有多个规定好的接口中的功能.这只是简单的理解,等你深入理解抽象的时候就知道抽象到抽象类时为什么还要再抽象到接口.17.问:怎样编写一个取消按钮(怎样返回上一个页面,象工具栏的后退按钮)?答:javascript把每次浏览过的location都压到了一个栈中,这个栈就是history,然后你如果要回到第几个页面它就做几次POP操作,把最后POP出来的那个LOCATION给你.这就是JAVASCRIPT在实现history.go(-x)的原理.18.问:什么是回调?答:简单说,回调用不是让你去监听谁做完了什么事,而是谁做完了什么事就报告给你.这就是回调用的思想.例子太多了,AWT的事件,SWING事件模型都是这样有.还有多线程中,如果要控制线程数,不能总是查询每个线程是否结束,要在每个线程结束时让线程自己告诉主线程我结束了,你可以开新的线程了.19.问:简要介绍一下compareTo方法答:compareTo方法是Comparable接口必需实现的方法,只要实现Comparable就可以用Arrays.srot()排序就象实现Runnable接口的run就能Thread()一样.20.问:如何可以从别的Web服务器检索页,然后把检索到的网页的HTML代码储存在一个变量中返回过来答:这是一个简单的WEBROBOT实现,用URL类实现从网页中抓内容,然后自己写一个分析程序从中找出新的URL,不断递归下去就行了.21.问:applet中如何获得键盘的输入答:application的System.in是当前系统的标准输入,applet因为安全的原因不可能读取当前系统(客户端)的标准输入,只能从它的ROOT组件的事件中,比如键盘事件中取得键值.22.问:怎样计算代码执行所花费的时间?答:代码开始取时间,结束后取时间,相减longt1=System.currentTimeMillis();/////////////////yourcodelongt2=System.currentTimeMillis();longtime=t2-t1;23.问:如何获在程序中获得一个文件的ContentType?答:URLu=newURL(“file:///aaa.txt”);URLConnectionuc=u.openConnection();Strings=uc.getContentType();24.问:连接池的使用是建立很多连接池,还是一个连接池里用多个连接?答:只有在对象源不同的情况下才会发生多个池化,如果你只连一结一个数据源,永远不要用多个连结池.所以连结池的初始化一定要做成静态的,而且应该在构造对象之前,也就是只有在类LOAD的时候,别的时候不应该有任何生成新的连结池的时候。25.问:JavaMail要怎么安装?答:下载两个包,一个是javamail包,另一个是jaf包。下载完直接把这两个包不解压加到CLASSPATH。26.问:怎样把地址栏里的地址锁定?答:把你的服务器的可访问目录索引选项关闭就行了,任何服务器都有一个conf文件,里面都有这个选项。27.问:在JAVA中怎么取得环境变量啊。比如:TEMP=C:\TEMP?答:Stringsss=System.getProperty(key)28.问:怎样实现四舍五
本文标题:jsp面试题
链接地址:https://www.777doc.com/doc-2879481 .html