Java面试小知识(5)

2019-04-16 17:44

DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问 STAX:Streaming API for XML (StAX)

2、你在项目中用到了xml技术的哪些方面?如何实现的?

答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。

3、用jdom解析xml文件时如何解决中文问题?如何解析? 答:看如下代码,用编码方式加以解决 package test; import java.io.*;

public class DOMTest {

private String inFile = \ private String outFile = \ public static void main(String args[]) {

new DOMTest(); }

public DOMTest() { try {

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(); org.w3c.dom.Document doc = builder.newDocument(); org.w3c.dom.Element root = doc.createElement(\老师\ org.w3c.dom.Element wang = doc.createElement(\王\ org.w3c.dom.Element liu = doc.createElement(\刘\ wang.appendChild(doc.createTextNode(\我是王老师\ root.appendChild(wang); doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, \ transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, \

transformer.transform(new javax.xml.transform.dom.DOMSource(doc), new

javax.xml.transform.stream.StreamResult(outFile)); }

catch (Exception e) {

System.out.println (e.getMessage()); }

} }

4、编程用JAVA解析XML的方式.

答:用SAX方式解析XML,XML文件如下:

王小明

信息学院 6258113

男,1955年生,博士,95年调入海南大学

事件回调类SAXHandler.java import java.io.*;

import java.util.Hashtable; import org.xml.sax.*;

public class SAXHandler extends HandlerBase {

private Hashtable table = new Hashtable(); private String currentElement = null; private String currentValue = null; public void setTable(Hashtable table) {

this.table = table; }

public Hashtable getTable() {

return table; }

public void startElement(String tag, AttributeList attrs) throws SAXException {

currentElement = tag; }

public void characters(char[] ch, int start, int length) throws SAXException {

currentValue = new String(ch, start, length); }

public void endElement(String name) throws SAXException {

if (currentElement.equals(name))

table.put(currentElement, currentValue); } }

JSP内容显示源码,SaxXml.jsp:

剖析XML文件people.xml

<%@ page errorPage=\

contentType=\ <%@ page import=\

<%@ page import=\ <%@ page import=\ <%@ page import=\

<%@ page import=\ <%@ page import=\ <%@ page import=\ <%

File file = new File(\ FileReader reader = new FileReader(file); Parser parser;

SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser();

SAXHandler handler = new SAXHandler(); sp.parse(new InputSource(reader), handler); Hashtable hashTable = handler.getTable();

out.println(\教师信息表\ out.println(\姓名\

(String)hashTable.get(new String(\ out.println(\学院\

(String)hashTable.get(new String(\ out.println(\电话\

(String)hashTable.get(new String(\ out.println(\备注\

(String)hashTable.get(new String(\ out.println(\ %>

EJB方面

1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?

答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 2、EJB与JAVA BEAN的区别?

答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于

DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 3、EJB的基本架构

答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans;

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

public interface Add extends EJBObject {

//some method declare }

Home Interface 接口的代码 package Beans;

import java.rmi.RemoteException; import jaax.ejb.CreateException; import javax.ejb.EJBHome;

public interface AddHome extends EJBHome {

//some method declare }

EJB类的代码 package Beans;

import java.rmi.RemoteException; import javax.ejb.SessionBean; import javx.ejb.SessionContext;

public class AddBean Implements SessionBean {

//some method declare }

J2EE,MVC方面

1、MVC的各个部分都有那些技术来实现?如何实现?

答:MVC是Model-View-Controller的简写。\代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), \是应用的表示面(由JSP页面产生),\是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

2、应用服务器与WEB SERVER的区别? 希望大家补上,谢谢

3、J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business

层和组件,企业信息系统(EIS)层。

4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 答:Web Service描述语言WSDL

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。 UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。 5、BS与CS的联系与区别。

希望大家补上,谢谢

6、STRUTS的应用(如STRUTS架构)

答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能: 一、包含一个controller servlet,能将用户的请求发送到相应的Action对象。

二、JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

三、提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

设计模式方面

1、开发中都用到了那些设计模式?用在什么场合?

答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 2、UML方面 答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,

JavaScript方面

1、如何校验数字型?

var re=/^d{1,8}$|.d{1,2}$/;

var str=document.form1.all(i).value; var r=str.match(re); if (r==null) {

sign=-4; break; } else{

document.form1.all(i).value=parseFloat(str); }


Java面试小知识(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:楠博苑5期C标段安居工程土石方开挖方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: