`

jsp+servlet上传

阅读更多

今天很是郁闷,简简单单的一个利用jsp+servlet上传我就做了一个下午,到最后还是没成功.也没啥高深的.就是利用jspsmartupload这个组件.中间代码重要的也无非是几行代码.有几点疑问.先记录下来:<wbr></wbr>
1.我通过jsp页面提交到一个servlet中去处理上传.jsp页面用的是meth="post".结果在servlet中用request.getParamter();硬是取不到值;用get是可以的.不知道怎么解决?<wbr></wbr>
2.利用jspsmartupload组件的时候.<wbr></wbr>

java 代码
  1. //   新建一个SmartUpload对象   
  2.   SmartUpload su = new SmartUpload();    
  3.   
  4. //  获得上传文件的全物理路径   
  5.   String fpath=request.getParameter("file1");   
  6.   System.out.println(fpath);    
  7.   
  8.   //获得上传文件的文件名   
  9.   String[] files=fpath.split("\\\\");  
  10.   String fname = files[files.length-1];  
  11.   System.out.println(fname);   
  12.  
  13.    try {  
  14.     System.out.println("ddddd");   
  15.  //    上传初始化  
  16.     su.initialize(pageContext);   
  17.     System.out.println("cccc");   
  18. //     限制每个上传文件的最大长度。  
  19. //    su.setMaxFileSize(10000000);   
  20. //     限制总上传数据的长度。  
  21. //    su.setTotalMaxFileSize(20000000);   
  22. //     设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。  
  23.     su.setAllowedFilesList("doc,txt");  
  24. //     设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,  
  25. //    jsp,htm,html扩展名的文件和没有扩展名的文件。  
  26. //    su.setDeniedFilesList("exe,bat,jsp,htm,html,,");  
  27. //     上传文件  
  28.     su.upload();  
  29. su.save("upload/");   

可是在servlet里面是没有pageContext这个隐士对象的.怎么初始化这个上传组件呢?

java 代码
  1. java.lang.NegativeArraySizeException   
  2.  at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:218)   
  3.  at org.apache.jsp.result_jsp._jspService(result_jsp.java:85)   
  4.  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)   
  5.  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)   
  6.  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)   
  7.  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)   
  8.  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)   
  9.  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)   
  10.  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)   
  11.  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)   
  12.  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)   
  13.  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)   
  14.  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   
  15.  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)   
  16.  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)   
  17.  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)   
  18.  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)   
  19.  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)   
  20.  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)   
  21.  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)   
  22.  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)   
  23.  at java.lang.Thread.run(Thread.java:595)   


唉..不知道是我把问题弄复杂化了还是怎么的..忘一二啊.

<wbr></wbr>
3.当我在把处理页面由servlet转化到jsp页面中的时候,pageContext的问题得到了解决.但是同上的代码.却在su.upload()方法的时候抛出异常.<wbr></wbr>

分享到:
评论
7 楼 assemble 2007-12-18  
neitnaco 写道
引用

还有人关注这个帖子吗,谢谢。用url在哪儿传值阿?


js脚本里面设置url以及参数值.
<script type="text/javascript">
	function validator(){
	
		   var url = "";
		   var file1 = document.getElementById("file1").value;
		   if(file1 == null || file1 == "")
		   {
		     	alert('请选择需要上传的文件');
		     	return;
		   }else
		   {
		   		url = "result.jsp?file1="+file1;
		   		alert(url);
		   		document.frmup.action=url;
		   }
	   }
	</script>



<form action="result.jsp" method="post" enctype="multipart/form-data" name="frmup">
    <input type="file" name="file1"><br/>
    <input type="submit" name="upload" value="开始上传" onclick="validator();"><br/>
    </form>


不知道有没有明白


document.frmup.action=url;
这一句不太明白,怎么是改变form的action属性??
不好意思,,刚才没看明白。是对的。。。
6 楼 neitnaco 2007-12-17  
引用

baichunlin    3 天前 

建议不要使用jspsmartupload,它只能上传50M以内的文件



老兄,现在JAVA都流行哪几种上传方式呀?
5 楼 baichunlin 2007-12-15  
建议不要使用jspsmartupload,它只能上传50M以内的文件
4 楼 neitnaco 2007-12-14  
引用

还有人关注这个帖子吗,谢谢。用url在哪儿传值阿?


js脚本里面设置url以及参数值.
<script type="text/javascript">
	function validator(){
	
		   var url = "";
		   var file1 = document.getElementById("file1").value;
		   if(file1 == null || file1 == "")
		   {
		     	alert('请选择需要上传的文件');
		     	return;
		   }else
		   {
		   		url = "result.jsp?file1="+file1;
		   		alert(url);
		   		document.frmup.action=url;
		   }
	   }
	</script>



<form action="result.jsp" method="post" enctype="multipart/form-data" name="frmup">
    <input type="file" name="file1"><br/>
    <input type="submit" name="upload" value="开始上传" onclick="validator();"><br/>
    </form>


不知道有没有明白
3 楼 lifuqiong00 2007-12-13  
还有人关注这个帖子吗,谢谢。用url在哪儿传值阿?
2 楼 neitnaco 2007-10-13  
wefiy..
前两天出差很忙.今天才看到你的评论.
很谢谢你帮忙分析我的疑问.
的确是在url传递的时候我没有用url传递过去.经过你的提醒.
现在解决了..呵呵
谢谢哦.
1 楼 wefiy 2007-10-12  
你在jsp里面用的是 method="post" 但是不要忘记加 ENCTYPE="multipart/form-data"属性
还有就是必须用url传值才可以。我是这么做的,第三个错误也跟这个有关。

相关推荐

    基于jsp+servlet+jdbc+MySQL的学生管理系统.zip

    基于jsp+servlet+jdbc+MySQL的宿舍管理系统。上传之前本人已测试,能完美运行。想查看显示效果可以复制下面的链接查看。不懂可留言或私信。适用于毕业设计,期末设计。 项目说明:...

    jsp+servlet+javabean+ajax MVC模式,增删改查,数据分页显示

    本文将深入探讨`JSP(JavaServer Pages)、Servlet、JavaBean`以及`Ajax`如何在MVC架构下实现数据的增删改查与分页显示,并涉及`SmartUpload`组件用于文件和图片的上传。 首先,`MVC`模式是一种软件设计模式,它将...

    一个简单的JSP+Servlet图片上传例子

    这个“一个简单的JSP+Servlet图片上传例子”是一个基础教程,旨在帮助初学者理解如何通过这两种技术实现用户界面与服务器端的交互,特别是处理文件上传的功能。 首先,JSP是Java的一种视图技术,它允许开发者在HTML...

    基于jsp+servlet的博客

    Servlet接收上传文件,将其保存到服务器的指定目录,并将路径信息存入数据库,以便在JSP页面中展示。 - **权限管理**:通过Servlet实现用户角色划分,例如普通用户只能阅读和评论,而管理员可以发布、编辑和删除文章...

    jsp+servlet 图片上传

    在图片上传的场景中,`JSP`将作为用户界面,展示上传表单,而`Servlet`会处理表单提交,进行图片的接收、存储以及数据库操作。 1. **创建上传表单**:在`JSP`页面中,我们需要创建一个表单让用户选择并提交图片。这...

    jsp+servlet实现图片上传

    在本文中,我们将深入探讨如何使用Java的JSP(JavaServer Pages)和Servlet技术来实现一个图片上传功能。这是一个常见的Web开发任务,特别是在构建交互性强、动态内容丰富的网站时。以下是一些关键知识点: 1. **...

    定点定时长音乐播放系统,带进度条的文件批量上传(jquery+plupload+jsp+servlet)

    定点定时长音乐播放系统,带进度条的文件批量上传(jquery+plupload+jsp+servlet),该系统没有使用数据库,不需要过多的配置就可以使用,在项目中有一个文档,说明该系统的使用方法与注意事项。

    jsp+servlet上传图片的example

    这个"jsp+servlet上传图片的example"是一个完整的示例项目,旨在帮助开发者理解并实施这一常见功能。 首先,让我们了解JSP和Servlet的基础知识。JSP是一种动态网页技术,它允许我们在HTML页面中嵌入Java代码,使得...

    基于jsp+javabean+servlet模式的仓库管理系统报告

    【基于jsp+javabean+servlet模式的仓库管理系统报告】 在信息技术领域,开发Web应用程序时,经常使用Java技术栈,其中jsp(JavaServer Pages)、javabean和servlet是核心组件。本报告将深入探讨基于这三种技术构建...

    jsp+Servlet上传实例

    在这个“jsp+Servlet上传实例”中,我们将探讨如何利用这两种技术实现文件上传功能。文件上传是Web应用中常见的需求,例如用户上传照片、文档或其他数据到服务器。 首先,我们需要理解JSP和Servlet的角色。JSP主要...

    jsp+servlet 品红项目 源代码

    "品红项目"是一个利用JSP和Servlet实现的实例,它包含了完整的源代码,提供了一系列功能,如图片展示、页面效果以及上传和下载功能。这个项目不仅展示了这两种技术的基本用法,还体现了在实际项目中的综合应用。 1....

    jsp+servlet视频网站

    做了将近1个月的 jsp+servlet+javabean视频网站源码 功能有用户注册登录超级管理员的上传记录用户的观看和退出记录 包含一级学科二级学科和学科列表以及视频的在线播放 包含后台mysql数据库

    基于jsp+servlet+service+DAO的在线相册系统

    采用MVC模式,在jsp+servlet+service+DAO架构的基础上,实现了互联网上网络相册的绝大部分功能,如用户管理,相片分类,相册管理,相片的评论管理,上传及删除相片文件等。 附加java源代码

    jsp+servlet+dao的博客系统

    jsp+servlet+dao设计模式 未完成功能:分页 | kindeditor的图片上传功能 参照视频: v512工作室_刘伟_Java高端培训系列视频_2009年博客系统项目 传智播客_李勇_JDBC_DAO设计 希望对学习这两个视频的同学有所...

    java web 实战宝典_JSP+Servlet+Struts_2+Hibernate+Spring+Ajax

    与JSP不同的是,Servlet更偏向于逻辑控制和业务处理,通常用于处理表单提交的数据、数据库连接、文件上传下载等操作。Java的Servlet API提供了一系列的接口和类,使得开发者可以专注于业务逻辑的实现。 Ajax...

    jsp+servlet 上传和下载包

    本压缩包提供的“jsp+servlet 上传和下载包”是一个基本的文件操作组件,它包含了一些核心库,如Apache Commons IO和Commons FileUpload,以及可能的中文支持库jsmartcom_zh_CN.jar。以下是这些组件的详细说明: 1....

    JSP+servlet上传文件有 进度条

    总结来说,实现"JSP+servlet上传文件有进度条"需要结合JSP、Servlet、文件上传库(如Commons-FileUpload)以及前端的AJAX和JavaScript技术。通过异步请求和实时的进度反馈,为用户提供流畅的文件上传体验。在实际...

    基于JSP+Servlet的租赁系统(毕业设计)源代码

    【基于JSP+Servlet的租赁系统】是一种典型的Web应用程序,主要使用Java技术栈进行开发,尤其侧重于JSP(JavaServer Pages)和Servlet的技术运用。这个租赁系统是为毕业设计而构建的,意味着它可能包含了完整的业务...

    Java 基于jsp+js+servlet+jdbc+mysql原生界面开发后台管理系统源码(分页,登录、注册、图片上传)等功能

    基于jsp+js+servlet+jdbc+mysql开发产品后台管理系统,实现用户增删改查、分页,登录,注册,图片上传等功能。 包括以下5个功能: 1、登录 用户默认主页index.jsp,可选择【登录】功能,若登录成功,则进入产品管理中...

    基于JSP+Servlet的提升项目

    综上所述,这个基于JSP+Servlet的网上书城项目涵盖了Web开发的多个重要知识点,包括MVC架构、JSP和Servlet的交互、数据库操作、文件上传、在线支付、验证码以及邮件服务等。对于初学者来说,这是一个很好的实践项目...

Global site tag (gtag.js) - Google Analytics