JspSmartUpload出现的问题,答的好加分

warmyellow 2009-07-16 06:59:23
上传文件时候,一点击上传,console下就显示该异常,但页面上不显示该异常:
java.lang.NullPointerException: charsetName
at java.lang.String.<init>(String.java:442)
at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:234)
at org.apache.jsp.new_jsp._jspService(new_jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

显示页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
</head>

<body>
<form action="new.jsp" name="upload" method="post" enctype="multipart/form-data"
>
<table><tr><td>
<input type="file" name="file"></input><input type="submit" name="tijiao"/>
</td></tr></table>
</form>
</body>
</html>


new.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.jspsmart.upload.*" %>
<html>
<head>
</head>

<body>
<%
SmartUpload myupload=new SmartUpload();
myupload.initialize(pageContext);
myupload.setMaxFileSize(1024*1024);
myupload.setTotalMaxFileSize(3*1024*1024);
myupload.setAllowedFilesList("gif,jpg,png");
myupload.setDeniedFilesList("exe,bat,jsp,htm,html");
try{
myupload.upload();
int count=0;
count=myupload.getFiles().getCount();
out.println("上传了"+count+"个文件!");
Request myRequest=myupload.getRequest();
System.out.println(count);
File file=myupload.getFiles().getFile(count-1);
String fileName=file.getFieldName();
String filePathFile=file.getFilePathName();
String fileExtName=file.getFileExt();
Thread.sleep(100);
String rndFileName="temp."+fileExtName;
file.saveAs("/upload/"+rndFileName,myupload.SAVE_VIRTUAL);
out.println("LZGOODMAN!");
if(!file.isMissing()){
}
}catch(Exception e){
e.printStackTrace();
out.println("alert('上传文件的格式有误')");
}
%>
</body>
</html>

答得好加分哈

...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
admin 2009-07-31
  • 打赏
  • 举报
回复
怎么没有分呢?????
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
算了 ,自己解决了 不过照样给分 上面的答案太雷人了
ouyangyh 2009-07-16
  • 打赏
  • 举报
回复
smartUpload.setDeniedFilesList("exe,bat,jsp,html,htm,,");
试试这个
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
对于楼上的回答我相当无语
ouyangyh 2009-07-16
  • 打赏
  • 举报
回复
打开 new_jsp.java,看看第70行出现了什么问题就可以了
要不你把new_jsp.java 发上来看下
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunnylyy 的回复:]
手工指定charSetName吧: myupload.upload("UTF-8");
[/Quote]
好像upload函数没有参数
sunnylyy 2009-07-16
  • 打赏
  • 举报
回复
手工指定charSetName吧: myupload.upload("UTF-8");
admin 2009-07-16
  • 打赏
  • 举报
回复
1.问题点:
1) java.lang.NullPointerException: charsetName
以上说明,你的程序里有null值现象,要重新查找一下所有变量,并看有没空值现象 .
2) at java.lang.String. <init>(String.java:442)
这个说明你在442行时,应该是String类型的变量,被你定义为init型,需要转换才可以
使用.
  jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。 5、能将文件上传到数据库中,也能将数据库中的数据下载下来。这种功能针对的是MYSQL数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。   jspSmartUpload组件可以从www.jspsmart.com网站上自由下载,压缩包的名字是jspSmartUpload.zip。下载后,用WinZip或WinRAR将其解压到Tomcat的webapps目录下(本文以Tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用jspSmartUpload组件了。

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧