小弟按此文档进行设置:
第一步:下载j2sdk和tomcat:到sun官方站点(http://java.sun.com/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.4.2 Documentation,然后到tomcat官方站点(http://www.apache.org/dist/jakarta/tomcat-4/)下载tomcat(下载最新4.1.x版本的tomcat); 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。 
1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2): 
JAVA_HOME=c:\j2sdk1.4.2 
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) 
path=%JAVA_HOME%\bin 
接着可以写一个简单的java程序来测试J2SDK是否已安装成功: 
public class Test{ 
public static void main(String args[]){ 
System.out.println("This is a test program."); 


将上面的这段程序保存为文件名为Test.java的文件。 
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 
javac Test.java 
java Test 
此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat): 
CATALINA_HOME=c:\tomcat; 
CATALINA_BASE=c:\tomcat; 
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下: 
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar; 
接着可以启动tomcat,在IE中访问http://localhost:8080 
如果看到tomcat的欢迎页面的话说明安装成功了。第三步:建立自己的jsp app目录 
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录; 
2.在webapps目录下新建一个目录,起名叫myapp; 
3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 
4.WEB-INF下新建一个文件web.xml,内容如下: 
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> 
<display-name>My Web Application</display-name> 
<description> 
A application for test. 
</description> 
</web-app> 
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: 
<html><body><center> 
Now time is: <%=new java.util.Date()%> 
</center></body></html> 
6.重启Tomcat 
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。 第四步:建立自己的Servlet: 
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下: 
package test; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
public class Test extends HttpServlet { 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
PrintWriter out=response.getWriter(); 
out.println("<html><body><h1>This is a servlet test.</h1></body></html>"); 
out.flush(); 


2 .编译 
将Test.java放在c:\test下,使用如下命令编译: 
C:\Test>javac Test.java 
然后在c:\Test下会产生一个编译后的servlet文件:Test.class 
3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构 
4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping 
编辑后的web.xml如下所示,红色为添加的内容: 
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> 
<display-name>My Web Application</display-name> 
<description> 
A application for test. 
</description> 
<servlet> 
<servlet-name>Test</servlet-name> 
<display-name>Test</display-name> 
<description>A test Servlet</description> 
<servlet-class>test.Test</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>Test</servlet-name> 
<url-pattern>/Test</url-pattern> 
</servlet-mapping> 
</web-app> 
这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet“映射”到地址/Test上 
5 .好了,启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。 
注意:修改了web.xml以及新加了class,都要重启Tomcat 第四步:建立自己的Bean: 
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下: 
package test; 
public class TestBean{ 
private String name = null; 
public TestBean(String strName_p){ 
this.name=strName_p; 

public void setName(String strName_p){ 
this.name=strName_p; 

public String getName(){ 
return this.name; 


2 .编译 
将TestBean.java放在c:\test下,使用如下命令编译: 
C:\Test>javac TestBean.java 
然后在c:\Test下会产生一个编译后的bean文件:TestBean.class 
3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下, 
4 .新建一个TestBean.jsp文件,文件内容为: 
<%@ page import="test.TestBean" %> 
<html><body><center> 
<% 
TestBean testBean=new TestBean("This is a test java bean."); 
%> 
Java bean name is: <%=testBean.getName()%> 
</center></body></html> 然后又在myapp下新建一jsp文件和java文件,另起一栏先↓

解决方案 »

  1.   

    java文件:(文件名:ListFile.java)
    package test;
    import java.io.*;class FileName implements FilenameFilter{
    String str=null;
    FileName(String s){
    str="."+s;
    }
    public boolean accept(File dir,String name){
    return name.endsWith(str);
    }
    }
    public class ListFile{
    String suffixalName=null;
    public void setSuffixalName(String s){
    suffixalName=s;
    }
    public String getSuffixalName(){
    return suffixalName;
    }
    public String[] listFile(){
    File dir=new File("C:/Tomcat 5.0/webapps/myapp");
    FileName file_jsp=new FileName(suffixalName);
    String file_name[]=dir.list(file_jsp);
    return file_name;
    }
    }jsp文件:(index.jsp<文件位于myapp目录下>)
    <%@ page contentType="text/html;charset=GBK" %>
    <%@ page import="test.*" %>
    <html>
    <body>
    <form action="" method="post">
    <p>输入文件扩展名:
    <input type="text" name="suffixalName">
    <input type="submit" value="提交">
    </form>
    <jsp:useBean id="file" class="ListFile" scope="page">
    </jsp:useBean>
    <p>当前JSP页面所在目录中,扩展名是:
    <jsp:getProperty name="file" property="suffixalName" />
    文件有:
    <% 
      String name[]=file.listFile();
      for(int i=0;i<name.length;i++){
         out.print("<BR>"+name[i]);
      }
    %>
    </body></html>之后在浏览器中打:http://localhost:8080/myapp/index.jsp
    以下是错误报告:
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /index.jsp(10,0) The value for the useBean class attribute ListFile is invalid.
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.问题已经烦了我两天,哎,先前以为是建了虚拟目录,然后现在把虚拟目录也删了.直接按教程把所有的(包括环境变量)都重新设置了一遍.ListFile程序和index.jsp程序是抄书上的.我晕死了!请各们急救!~~指点小弟哪出了问题!!拜谢!!!
    看贴的请帮我顶两下!
      

  2.   

    <jsp:useBean id="file" class="test.ListFile" scope="page">
      

  3.   

    <form action="" method="post">在action里放一个事件的类!然后在WEB.XML里mapping这个类就好了!