web相关.docx
- 文档编号:11535297
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:30
- 大小:42.26KB
web相关.docx
《web相关.docx》由会员分享,可在线阅读,更多相关《web相关.docx(30页珍藏版)》请在冰豆网上搜索。
web相关
Tarena(35题)
1.什么是Web容器?
解答:
容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
2.谈谈对XML的理解?
说明Web应用中Web.xml文件的作用?
解答:
XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。
Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
web.xml的作用是配置欢迎页,servlet,filter,listener等的。
3.jsp有哪些内置对象?
作用分别是什么?
(至少三个)
解答:
1)request表示HttpServletRequest对象。
它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,header和session数据的有用的方法。
2)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)。
3)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
4)pageContext表示一个javax.servlet.jsp.PageContext对象。
它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
5)session表示一个请求的javax.servlet.http.HttpSession对象。
Session可以存贮用户的状态
信息。
6)application表示一个javax.servle.ServletContext对象。
这有助于查找有关servlet引擎和
servlet环境的信息。
7)config表示一个javax.servlet.ServletConfig对象。
该对象用于存取servlet实例的初始化参
数。
8)page表示从该页面产生的一个servlet实例。
9)exception针对错误网页,未捕捉的例外
4.请看如下片段:
解释lazy、inverse、cascade以及all-delete-orphan属性的含义;并给出示例代码,说明在如下组合情况下,对于save、update、delete一对多关系中的一方对象操作时的区别:
inversecascadetrueall-delete-orphanfalseall-delete-orphantrueallfalsealltruenonefalsenone
解答:
(一)lazy:
延迟加载
Lazy的有效期:
只有在session打开的时候才有效;session关闭后lazy就没效了。
lazy策略可以用在:
a.
可以取值true/false
b.
c.等集合上,可以取值为true/false/extra
d.
1)get和load的区别:
a.get不支持延迟加载,而load支持。
b.当查询特定的数据库中不存在的数据时,get会返回null,而load则抛出异常。
2)类(Class)的延迟加载:
a.设置
b.如果lazy的属性值为true,那么在使用load方法加载数据时,只有确实用到数据的时候才会发出sql语句;这样有可能减少系统的开销。
3)集合(collection)的延迟加载:
可以取值true,false,extra
a.true:
默认取值,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其集合元素的数据
b.false:
取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据
c.extra:
一种比较聪明的懒加载策略,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据
4)Hibernate单端关联懒加载策略:
即在
懒加载策略。
可以取值为:
false/proxy/no-proxy
a.false:
取消懒加载策略,即在加载对象的同时,发出查询语句,加载其关联对象
b.proxy:
这是hibernate对单端关联的默认懒加载策略,即只有在调用到其关联对象的方法的时候才真正发出查询语句查询其对象数据,其关联对象是代理类
c.no-proxy:
这种懒加载特性需要对类进行增强,使用no-proxy,其关联对象不是代理类
注意:
在class标签上配置的lazy属性不会影响到关联对象!
!
!
(二)inverse
inverse是指的关联关系的控制方向,inverse=false的side(side其实是指inverse=false所位
于的class元素)端有责任维护关系,而inverse=true端无须维护这些关系
(三)cascade
cascade指的是层级之间的连锁操作。
在定义关联对象的映射时,使用cascade="all",cascade="save-update",cascade="all-delete-orphan"或cascade="delete"
a.如果父对象被保存,所有的子对象会被传递到saveOrUpdate()方法去执行(cascade="save-update")
b.如果父对象被传递到update()或者saveOrUpdate(),所有的子对象会被传递到saveOrUpdate()方法去执行(cascade="save-update")
c.如果一个临时的子对象被一个持久化的父对象引用了,它会被传递到saveOrUpdate()去执行(cascade="save-update")
d.如果父对象被删除了,所有的子对象对被传递到delete()方法执行(cascade="delete")
e.如果临时的子对象不再被持久化的父对象引用,什么都不会发生(必要时,程序应该明确的删除这个子对象),除非声明了cascade="all-delete-orphan",在这种情况下,成为“孤儿”的子对象会被删除。
(四)save、update、delete一对多关系中的一方对象操作时的区别
1)当一方设置inverse=true时,所有由一方发出的操作都不会关联到多方。
2)当一方设置inverse=false,cascade=all-delete-orphan时,将删除不再和一方对象关联的所
有多方对象。
3)当一方设置inverse=false,cascade=all时,当保存和删除一方对象时,级联保存和删除所有关联的多方对象。
4)当一方设置inverse=false,cascade=none时,当对一方操作时,不级联到关联的多方对象。
5.JSP页面之间传递参数的方法有哪些?
解答:
1)request
2)session
3)application
4)提交表单
5)超链接
6.forward(转发)和redirect(重定向)的区别
解答:
forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,并且从浏览器的地址栏中可以看到跳转后的链接地址。
前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
7.请写出一段表单提交的HTML代码,表单名称为form1,提交方式为post,提交地址为submit.asp
解答:
8.请写出一个超链接,点击链接后可以向zhangsan@d-发送电子邮件。
zhangsan@d-”>发邮件 9.请说明meta标签的作用。 解答: meta是用来在HTML文档中模拟HTTP协议的响应头报文。 meta标签用于网页的<head>与</head>中,meta标签的用处很多。 meta的属性有两种: name和http-equiv。 name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。 这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。 比较常用的有以下几个: name属性 1).<metaname="Generator"contect="">用以说明生成工具(如MicrosoftFrontPage4.0)等; 2).<metaname="KEYWords"contect="">向搜索引擎说明你的网页的关键词; 3).<metaname="DEscription"contect="">告诉搜索引擎你的站点的主要内容; 4).<metaname="Author"contect="你的姓名">告诉搜索引擎你的站点的制作的作者; 5).<metaname="Robots"contect="all|none|index|noindex|follow|nofollow">其中的属性说明如下: 设定为all: 文件将被检索,且页面上的链接可以被查询; 设定为none: 文件将不被检索,且页面上的链接不可以被查询; 设定为index: 文件将被检索; 设定为follow: 页面上的链接可以被查询; 设定为noindex: 文件将不被检索,但页面上的链接可以被查询; 设定为nofollow: 文件将不被检索,页面上的链接可以被查询。 6).http-equiv属性 a、<metahttp-equiv="Content-Type"contect="text/html";charset=gbk">和<metahttp-equiv="Content-Language"contect="zh-CN">用以说明主页制作所使用的文字以及语言; b、<metahttp-equiv="Refresh"contect="n;url=http: //yourlink">定时让网页在指定的时 间n内,跳转到页面http;//yourlink; c、<metahttp-equiv="Expires"contect="Mon,12May200100: 20: 00GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。 需要注意的是必须使用GMT时间格式; d、<metahttp-equiv="Pragma"contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出; e、<metahttp-equiv="set-cookie"contect="Mon,12May200100: 20: 00GMT">cookie设定,如果网页过期,存盘的cookie将被删除。 需要注意的也是必须使用GMT时间格式; f、<metahttp-equiv="Pics-label"contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的; g、<metahttp-equiv="windows-Target"contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用; h、<metahttp-equiv="Page-Enter"contect="revealTrans(duration=10,transtion=50)">和<metahttp-equiv="Page-Exit"contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,这个功能即FrontPage中的“格式/网页过渡”,不过所加的页面不能够是一个frame页面。 10.请写出一个隐藏控件。 解答: 11.如何将HTML页面的标题设置为“数字天堂”。 解答:
12.请写出JavaScript中常用的三种事件。
解答:
onclick(点击),onblur(失去焦点(验证)),onChange(下拉列表,内容改变)
13.请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框。
程序可以判断出用户点击的是“确认”还是“取消”。
解答:
functionvalidateForm(){
if(confirm("你确认提交这个表单么?
")){
alert(“确定”);
}else{
alert(“取消”);
}
}
validateForm()"> 14.JavaScript如何实现计时功能。 解答: (课本)window.setTimeout(function,time) 15.JavaScript如何定义数组。 解答: vararrTest=newArray(); 16.JavaScript能否操作cookie和session? 解答: JavaScript可以操作cookie,但是不能操作session? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 17.Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。 Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。 解答: Log4J分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。 Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。 通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。 比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 18.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么? 解答: alertconfirmprompt 19.描述JSP和Servlet的区别、共同点、各自应用的范围 解答: JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页. 20.如何获得
解答:
vardiv1=Document.getElementById(“div1”);
alert(div1.innerHTML)
21.Tomcat服务器的默认端口是多少?
怎样修改tomcat的端口?
解答:
默认端口为8080,可以通过service.xml的Connector元素的port属性来修改端口。
22.说出Servlet的生命周期,并说出Servlet和CGI的区别?
解答:
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
23、JAVA中常用的XML解析技术有哪些?
区别是什么?
解答:
DOM、SAX两种方式。
DOM:
处理大型文件时其性能下降的非常厉害。
这个问题是由DOM的数结构所造成的,这结构占用的内存较多,而且DOM必须在解析文件之前把整个文档载入内存,适合对XML的随机访问
SAX:
不同于DOM,SAX是事件驱动型的XML解析方法。
它顺序读取XML文件,不需要一次全部装载整个文件。
当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。
24、XML文档定义有几种形式?
有何本质区别?
解答:
两种形式dtd和schema,区别:
a.Schema是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法规则就可以编写Schema了,不需要再学习其它语法规则。
b.Schema利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有多个对应的Schema;而一个XML文件只能有一个相对应的DTD文件。
c.Schema的内容模型是开放的,可以随意扩充,而DTD则无法解读扩充的内容.DTD只能把文件类型定义为一个字符串,而XMLSchema却允许把文件类型定义为整数,浮点数,字符串,布尔值或其他各各数据类型,而无须重新定义。
25.部署一个web应用的步骤是什么?
解答:
1.将web应用放到Tomcat服务器的Webapps包下,
2.启动服务器
3.在地址栏中输入http:
//localhost:
8080/应用名/
26.什么是UDDI、SOAP、WSDL?
解答:
UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。
SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻
量级协议。
WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。
这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。
相关的具体端点即组合成为抽象端点(服务)。
27.什么是AJAX和AOP?
解答:
Ajax的全称是:
AsynchronousJavaScriptAndXML。
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。
Ajax包括:
XHTML和CSS使用文档对象模型(DocumentObjectModel)作动态显示和交互使用XML和XSLT做数据交互和操作使用XMLHttpRequest进行异步数据接收使用JavaScript将它们绑定在一起。
AOP是OOP的延续,是AspectOrientedProgramming的缩写,意思是面向切面编程。
可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。
AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。
28.说说对开源项目apache的了解,说出其中你使用过的项目并给以评价
解答:
ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache起初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发。
此后,ApacheHttpd被开放源代码团体的成员不断的发展和加强。
ApacheHttp网站服务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用,特别是几乎所有最热门和访问量最大的网站。
Apache支持许多特性,大部分通过编译的模块实现。
这些特性从服务器端的编程语言支
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- web 相关