Hi, everyone, I run the tomcat 6.0.18 on my ubuntu 8.04.2, the jdk version is 1.6.0_07
I configure the localhost 's ROOT to my home directory /home/ghw/myjava the configuration file like this: <?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service> </Server> and I created the directory understand CATALINE_HOME/conf/Catalina/localhost and create a ROOT.xml in there like this: <?xml version="1.0" encoding="utf-8"?> <Context path="" docBase="/home/ghw/myjava" debug="9" reloadable="9" > </Context> when write a test index.jsp in /home/ghw/myjava, it works. and when I try to write a Tag class in there, it will be report Error: *type* Exception report *message* *description* *The server encountered an internal error () that prevented it from fulfilling this request.* *exception* org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 10 in the jsp file: /test.jsp JavaScriptExampleTag cannot be resolved to a type 7: </head> 8: <body> 9: <p>This is a simple test page </p> 10: <my:message> 11: This is a simple java alert message 12: </my:message> 13: An error occurred at line: 10 in the jsp file: /test.jsp JavaScriptExampleTag cannot be resolved to a type 7: </head> 8: <body> 9: <p>This is a simple test page </p> 10: <my:message> 11: This is a simple java alert message 12: </my:message> 13: An error occurred at line: 10 in the jsp file: /test.jsp JavaScriptExampleTag cannot be resolved to a type 7: </head> 8: <body> 9: <p>This is a simple test page </p> 10: <my:message> 11: This is a simple java alert message 12: </my:message> 13: Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423) org.apache.jasper.compiler.Compiler.compile(Compiler.java:317) org.apache.jasper.compiler.Compiler.compile(Compiler.java:295) org.apache.jasper.compiler.Compiler.compile(Compiler.java:282) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) here is my web.xml <taglib> <taglib-uri> /WEB-INF/tld/JavaScriptExampleTag.tld </taglib-uri> <taglib-location> /WEB-INF/tld/JavaScriptExampleTag.tld </taglib-location> </taglib> and the tld file is like this: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd"> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>JavaScriptExampleTag</short-name> <uri>/WEB-INF/tld/JavaScriptExampleTag.tld</uri> <description> A simple tab library for the examples </description> <tag> <name>message</name> <tag-class>JavaScriptExampleTag</tag-class> <info>Display Alert Box</info> </tag> </taglib> and the Tag class like this: import java.io.IOException; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class JavaScriptExampleTag extends BodyTagSupport { public int doEndTag() throws JspTagException { String ls_alert = ""; try { BodyContent lbc_bodycurrent = getBodyContent(); if ( lbc_bodycurrent != null ) { String ls_message = lbc_bodycurrent.getString(); JavaScriptExample JS = new JavaScriptExample(); ls_alert = JS.alert(ls_message.trim()); } pageContext.getOut().write(ls_alert); } catch ( IOException e ) { throw new JspTagException("Error " + e.toString()); } return EVAL_PAGE; } } and the Bean class is like this: import java.io.Serializable; public class JavaScriptExample implements Serializable { public JavaScriptExample() { } public String alert(Object aobj_data) { return( start_script + " alert(\" " + aobj_data.toString() + "\");" + end_script ); } //private area private String start_script = "<script language=\"javascript\">"; private String end_script = "</script>"; } anyone can help me on this? thanks very much Mike javax.servlet.http.HttpServlet.service(HttpServlet.java:717)