各位高手,本人刚学习jsp,遇到个问题,困扰很久,望能帮我解惑下,不甚感谢下面是实现一个可以通过表单提交的后缀名列举出所有该后缀的文件,程序如下:创建bean的java源文件ListFile.java
package tom.jiafei;
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 extendsName=null;
StringBuffer allFileName = new StringBuffer();
public void setExtendsName(String s)
{ extendsName=s;
}
public String getExtendsName()
{ return extendsName;
}
public StringBuffer getAllFileName()
{ File dir=new File("D:/");
FileName help=new FileName(extendsName);
String file_name[]=dir.list(help);
for(int i=0;i<file_name.length;i++)
{ allFileName.append(file_name[i]+" ");
}
return allFileName;
}
}编译后我将ListFile.class和FileName.class都放到了“web服务目录\ch4\WEB-INF\classes\tom\jiafei”下使用bean的jsp源文件file.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ page import="tom.jiafei.*"%>
<jsp:useBean id="file" class="tom.jiafei.ListFile" scope="page"/>
<HTML><BODY bgcolor=cyan><Font size=2>
<FORM action="" Method="post">
输入文件的扩展名:<Input type=text name="extendsName">
<Input type=submit value="提交">
</FORM>
<jsp:setProperty name="file" property="extendsName" param="extendsName"/>
<P>扩展名是 <jsp:getProperty name="file" property="extendsName"/> 的文件有:
<BR><jsp:getProperty name="file" property="allFileName"/>
</BODY></HTML>当我运行时报错如下(若我屏蔽掉红色部分则不会报错):
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /file.jsp at line 118: </FORM>
9: <jsp:setProperty name="file" property="extendsName" param="extendsName"/>
10: <P>扩展名是 <jsp:getProperty name="file" property="extendsName"/> 的文件有:
11: <BR><jsp:getProperty name="file" property="allFileName"/>
12: </BODY></HTML>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause javax.servlet.ServletException: java.lang.NoClassDefFoundError: tom/jiafei/FileName
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.file_jsp._jspService(file_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NoClassDefFoundError: tom/jiafei/FileName
tom.jiafei.ListFile.getAllFileName(ListFile.java:25)
org.apache.jsp.file_jsp._jspService(file_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
package tom.jiafei;
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 extendsName=null;
StringBuffer allFileName = new StringBuffer();
public void setExtendsName(String s)
{ extendsName=s;
}
public String getExtendsName()
{ return extendsName;
}
public StringBuffer getAllFileName()
{ File dir=new File("D:/");
FileName help=new FileName(extendsName);
String file_name[]=dir.list(help);
for(int i=0;i<file_name.length;i++)
{ allFileName.append(file_name[i]+" ");
}
return allFileName;
}
}编译后我将ListFile.class和FileName.class都放到了“web服务目录\ch4\WEB-INF\classes\tom\jiafei”下使用bean的jsp源文件file.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ page import="tom.jiafei.*"%>
<jsp:useBean id="file" class="tom.jiafei.ListFile" scope="page"/>
<HTML><BODY bgcolor=cyan><Font size=2>
<FORM action="" Method="post">
输入文件的扩展名:<Input type=text name="extendsName">
<Input type=submit value="提交">
</FORM>
<jsp:setProperty name="file" property="extendsName" param="extendsName"/>
<P>扩展名是 <jsp:getProperty name="file" property="extendsName"/> 的文件有:
<BR><jsp:getProperty name="file" property="allFileName"/>
</BODY></HTML>当我运行时报错如下(若我屏蔽掉红色部分则不会报错):
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /file.jsp at line 118: </FORM>
9: <jsp:setProperty name="file" property="extendsName" param="extendsName"/>
10: <P>扩展名是 <jsp:getProperty name="file" property="extendsName"/> 的文件有:
11: <BR><jsp:getProperty name="file" property="allFileName"/>
12: </BODY></HTML>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause javax.servlet.ServletException: java.lang.NoClassDefFoundError: tom/jiafei/FileName
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.file_jsp._jspService(file_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NoClassDefFoundError: tom/jiafei/FileName
tom.jiafei.ListFile.getAllFileName(ListFile.java:25)
org.apache.jsp.file_jsp._jspService(file_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
解决方案 »
- JSP页面如何动态关联两个Selected标签的
- 关于jsp+servlet+ajax的实现,请多多指教!
- 关于jsp鼠标事件
- jsp分页时,用定义一个接口Pageable这种方法,执行查询时出错误
- 使用smartupload上传图片的一个问题
- tomcat服务器,jdbc连接sql server,数据库资源未释放
- *** cannot be resolved to a type 江湖就急,做个聊天室出错
- pb应用调用java的web应用session丢失,请帮帮忙!!!!
- 这个异常怎么回事?
- 如何在java里得到from里的键盘动作?
- jQuery 显示所有信息的实例
- SSH开发教师评教系统的设计问题
有FileName.class的,所以我很奇怪,这个问题困扰我很久了
StringBuffer allFileName = new StringBuffer();
allFileName改成string类型
结贴前还想问下,是否是必须返回给页面只能是String类型的吗?为什么会报错呢