当前位置: 技术问答>java相关
这个与Jdom有关的Applet错在哪里?
来源: 互联网 发布时间:2015-10-07
本文导语: 我的源码: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.io.*; import java.util.* ; import java.applet.*; import org.jdom.*; import org.jdom.output.*; import org.jd...
我的源码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.io.*;
import java.util.* ;
import java.applet.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.adapters.* ;
public class readfile extends JApplet
{
String LocationX;
String LocationY;
public void init()
{
try
{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream("location.xml"));
ProcessingInstruction pi = new ProcessingInstruction
("xml-stylesheet","href="/tech-qa-java/bookList.html.xsl" type="text/xsl"");
doc.addContent(pi);
Element root = doc.getRootElement();//得到根元素
LocationX=root.getAttribute("X").getValue();
LocationY=root.getAttribute("Y").getValue();
}
catch(Exception e)
{System.out.println(e);
}
}
public void paint(Graphics g)
{
g.drawString(LocationX+LocationY,200,200);
}
}
location.xml:
location.xml文件处于readfile.jsp,readfile.class的同一目录下。
readfile.jsp
可是我运行readfile.jsp
会出现错误:
java.lang.NoClassFoundDefError:org/jdom/input/SAXBuilder
而单独的JAVA程序却可以运行:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.io.*;
import java.util.* ;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.adapters.* ;
public class readfilejava
{
static String LocationX;
static String LocationY;
public static void main(String[] args)
{
try
{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream("location.xml"));
ProcessingInstruction pi = new ProcessingInstruction
("xml-stylesheet","href="/tech-qa-java/bookList.html.xsl" type="text/xsl"");
doc.addContent(pi);
Element root = doc.getRootElement();//得到根元素
LocationX=root.getAttribute("X").getValue();
LocationY=root.getAttribute("Y").getValue();
}
catch(Exception e)
{System.out.println(e);
}
System.out.println(LocationX);
}
}
我的原意是要从一个XML文件中读出某些信息,然后根据这些信息显示APPLET,可是第一步就出错了。
并且我有个概念很不清楚,Applet是要下载到浏览器上运行的,那么,它如果要读取服务器上的文件,应该创建个线程才对。那么,我的程序明显有问题,可是又不知道如何解决.
我翻了些资料,如Applet要装载图象,有getImage函数 ,要装载声音,有getAudioClip函数,那么装载文件,有何函数?如果有,函数的参数是什么?
请问,我的程序错在哪里,如何解决。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.io.*;
import java.util.* ;
import java.applet.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.adapters.* ;
public class readfile extends JApplet
{
String LocationX;
String LocationY;
public void init()
{
try
{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream("location.xml"));
ProcessingInstruction pi = new ProcessingInstruction
("xml-stylesheet","href="/tech-qa-java/bookList.html.xsl" type="text/xsl"");
doc.addContent(pi);
Element root = doc.getRootElement();//得到根元素
LocationX=root.getAttribute("X").getValue();
LocationY=root.getAttribute("Y").getValue();
}
catch(Exception e)
{System.out.println(e);
}
}
public void paint(Graphics g)
{
g.drawString(LocationX+LocationY,200,200);
}
}
location.xml:
location.xml文件处于readfile.jsp,readfile.class的同一目录下。
readfile.jsp
可是我运行readfile.jsp
会出现错误:
java.lang.NoClassFoundDefError:org/jdom/input/SAXBuilder
而单独的JAVA程序却可以运行:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.io.*;
import java.util.* ;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.adapters.* ;
public class readfilejava
{
static String LocationX;
static String LocationY;
public static void main(String[] args)
{
try
{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream("location.xml"));
ProcessingInstruction pi = new ProcessingInstruction
("xml-stylesheet","href="/tech-qa-java/bookList.html.xsl" type="text/xsl"");
doc.addContent(pi);
Element root = doc.getRootElement();//得到根元素
LocationX=root.getAttribute("X").getValue();
LocationY=root.getAttribute("Y").getValue();
}
catch(Exception e)
{System.out.println(e);
}
System.out.println(LocationX);
}
}
我的原意是要从一个XML文件中读出某些信息,然后根据这些信息显示APPLET,可是第一步就出错了。
并且我有个概念很不清楚,Applet是要下载到浏览器上运行的,那么,它如果要读取服务器上的文件,应该创建个线程才对。那么,我的程序明显有问题,可是又不知道如何解决.
我翻了些资料,如Applet要装载图象,有getImage函数 ,要装载声音,有getAudioClip函数,那么装载文件,有何函数?如果有,函数的参数是什么?
请问,我的程序错在哪里,如何解决。
|
根本性错误,根本不能用jdom,应该在服务器把xml处理好了,以基本数据结构传到applet,而不是直接用。
|
同意xue_sharp(你是自愿被我泡的)
applet中是不能访问文件系统的
applet中是不能访问文件系统的
|
applet对于本地和远程文件系统访问是受限的.
从网络上装入的applet类和其他类不能使用本地调用.
从网络上装入的applet类和其他类不能使用本地调用.