genXML.jsp<%@ page contentType="text/xml" %>
<?xml version="1.0" encoding="UTF-8"?>
<portfolio>
  <stock>
    <symbol>SUNW</symbol>
    <name>Sun Microsystems</name>
    <price>17.1</price>
  </stock>
  <stock>
    <symbol>AOL</symbol>
    <name>America Online</name>
    <price>51.05</price>
  </stock>
  <stock>
    <symbol>IBM</symbol>
    <name>International Business 
    Machines</name>
    <price>116.10</price>
  </stock>
  <stock>
    <symbol>MOT</symbol>
    <name>MOTOROLA</name>
    <price>15.20</price>
  </stock>
</portfolio>stocks.jsp<%@ page contentType="text/xml" %>
<%@ page import="stocks.*" %><jsp:useBean id="portfolio" 
class="stocks.PortfolioBean" />
<%
java.util.Iterator folio = 
portfolio.getPortfolio();
Stock stock = null;
%><?xml version="1.0" encoding="UTF-8"?>
<portfolio>
  <% while (folio.hasNext()) { %>
    <% stock = (Stock)folio.next(); %>
    <stock>
      <symbol<>%= 
      stock.getSymbol() %></symbol>
      <name<>%= 
      stock.getName() %></name>
      <price<>%= 
      stock.getPrice() %></price>
    </stock>
  <% } %>
</portfolio>编译stocks.jsp出错信息为:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 3 in the jsp file: /jsp/ex/stocks.jspGenerated servlet error:
    [javac] Compiling 1 source fileD:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:7: package stocks does not exist
import stocks.*;
^
D:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:44: package stocks does not exist
      stocks.PortfolioBean portfolio = null;
            ^An error occurred at line: 3 in the jsp file: /jsp/ex/stocks.jspGenerated servlet error:
D:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:46: package stocks does not exist
        portfolio = (stocks.PortfolioBean) pageContext.getAttribute("portfolio", PageContext.PAGE_SCOPE);
                           ^An error occurred at line: 3 in the jsp file: /jsp/ex/stocks.jspGenerated servlet error:
D:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:49: package stocks does not exist
            portfolio = (stocks.PortfolioBean) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "stocks.PortfolioBean");
                               ^An error occurred at line: 6 in the jsp file: /jsp/ex/stocks.jspGenerated servlet error:
D:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:62: cannot resolve symbol
symbol  : class Stock 
location: class org.apache.jsp.stocks_jsp
Stock stock = null;
^An error occurred at line: 15 in the jsp file: /jsp/ex/stocks.jspGenerated servlet error:
D:\gt3\Tomcat 4.1\work\Standalone\localhost\_\jsp\ex\stocks_jsp.java:69: cannot resolve symbol
symbol  : class Stock 
location: class org.apache.jsp.stocks_jsp
 stock = (Stock)folio.next(); 
          ^
6 errorsgenxml.jsp与stocks.jsp放在D:\gt3\Tomcat 4.1\webapps\ROOT\jsp\ex下,
PortfolioBean.java与stocks.java放在D:\gt3\Tomcat 4.1\webapps\ROOT\WEB-INF\classes\beans下
classpath为:D:\gt3\Tomcat 4.1\webapps\ROOT\WEB-INF\classes\beans
各位大侠看看问题出在什么地方?谢谢啦!

解决方案 »

  1.   

    内容太多,给个例子你看吧,俺的文档:
    http://www.csdn.net/develop/read_article.asp?id=17818
      

  2.   

    晕!
    不管怎样,谢谢了!
    我认为我的问题可能出在package的地方不对!
      

  3.   

    多发一个,为了要分,在webapps下做如下操作:
    stacks -- genXML.jsp
           -- stocks.jsp
           -- WEB-INF -- classes --stacks -- *.class和classes没关,在tomcat的conf下的server.xml中可以
    仿照  <Context path="" docBase="ROOT" debug="0"/>
    做  <Context path="/stacks" docBase="stacks" debug="0"/>
      

  4.   

    应该把Stock.java编译后的Stock.class放在WEB-INF 下面