2014-07-30 20:02:00|?次阅读|上传:wustguangh【已有?条评论】发表评论
145 、编程用 JAVA 解析 XML 的方式 . 答 : 用 SAX 方式解析 XML , XML 文件如下:
<?xml version="1.0" encoding="gb2312"?> <person> <name> 王小明 </name> <college> 信息学院 </college> <telephone>6258113</telephone> <notes> 男 ,1955 年生 , 博士, 95 年调入海南大学 </notes> </person>
事件回调类 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:
<HTML> <HEAD> <TITLE> 剖析 XML 文件 people.xml</TITLE> </HEAD> <BODY> <%@ page errorPage="ErrPage.jsp" contentType="text/html;charset=GB2312" %> <%@ page import="java.io.*" %> <%@ page import="java.util.Hashtable" %> <%@ page import="org.w3c.dom.*" %> <%@ page import="org.xml.sax.*" %> <%@ page import="javax.xml.parsers.SAXParserFactory" %> <%@ page import="javax.xml.parsers.SAXParser" %> <%@ page import="SAXHandler" %> <% File file = new File("c:people.xml"); 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("<TABLE BORDER=2><CAPTION> 教师信息表 </CAPTION>"); out.println("<TR><TD> 姓名 </TD>" + "<TD>" + (String)hashTable.get(new String("name")) + "</TD></TR>"); out.println("<TR><TD> 学院 </TD>" + "<TD>" + (String)hashTable.get(new String("college"))+"</TD></TR>"); out.println("<TR><TD> 电话 </TD>" + "<TD>" + (String)hashTable.get(new String("telephone")) + "</TD></TR>"); out.println("<TR><TD> 备注 </TD>" + "<TD>" + (String)hashTable.get(new String("notes")) + "</TD></TR>"); out.println("</TABLE>"); %> </BODY> </HTML>
146 、 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
}