栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Uploadify插件不会调用Java Servlet

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Uploadify插件不会调用Java Servlet

这可能有很多可能的原因(另请参阅我发表的评论)。

  • 未加载外部JS。
  • JS代码在语法/逻辑上无效。
  • 请求网址无效。
  • Servlet根本没有映射。
  • Servlet被映射为错误
    url-pattern
  • Servlet无法启动/初始化。

很难根据现有信息确定根本原因。

正如您提到的那样,您没有在FireBug的“网络”选项卡中看到任何请求被触发,我认为JS代码在语法/逻辑上完全无效。右键单击页面,然后双重验证生成/打印的JS代码。

更新: 我试图重现您的问题。

  1. 我下载了jquery.uploadify-v2.1.0(MIT),将其解压缩并将所有内容

    /WebContent/uploadify
    放入Eclipse中我的(空)操场Web项目的文件夹中。

  2. 我创建了一个

    /WebContent/upload.jsp
    文件,如下所示:

        <!DOCTYPE html>    <html lang="en">        <head> <title>Uploadify test</title> <script src="uploadify/jquery-1.3.2.min.js"></script> <script src="uploadify/swfobject.js"></script> <script src="uploadify/jquery.uploadify.v2.1.0.min.js"></script> <script type="text/javascript">     $(document).ready(function() {         $('#uploadify').uploadify({  'uploader': 'uploadify/uploadify.swf',  'script': 'uploadServlet',  'folder': '/uploads',  'cancelImg': 'uploadify/cancel.png'         });         $('#upload').click(function() {  $('#uploadify').uploadifyUpload();  return false;         });     }); </script>        </head>        <body> <input id="uploadify" type="file"> <a id="upload" href="#">Upload</a>        </body>    </html>
  1. 我创建了一个
    com.example.UploadServlet
    与帮助不大如下Apache的百科全书文件上传(刚放置
    commons-fileupload-1.2.1.jar
    commons-io-1.4.jar
    /WEB-INF/lib
    ):
        package com.example;    import java.io.IOException;    import java.util.List;    import javax.servlet.ServletException;    import javax.servlet.http.HttpServlet;    import javax.servlet.http.HttpServletRequest;    import javax.servlet.http.HttpServletResponse;    import org.apache.commons.fileupload.FileItem;    import org.apache.commons.fileupload.disk.DiskFileItemFactory;    import org.apache.commons.fileupload.servlet.ServletFileUpload;    public class UploadServlet extends HttpServlet {        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException        { System.out.println("UploadServlet invoked. Here are all uploaded files: "); try {     List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);     for (FileItem item : items) {         if (!item.isFormField()) {  System.out.println("Name: " + item.getName());  System.out.println("Size: " + item.getSize());  System.out.println("Type: " + item.getContentType());         }     } } catch (Exception e) {     throw new ServletException(e); }        }    }
  1. 我注册
    com.example.UploadServlet
    web.xml
    ,如下所示:
        <servlet>        <servlet-name>uploadServlet</servlet-name>        <servlet-class>com.example.UploadServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>uploadServlet</servlet-name>        <url-pattern>/uploadServlet</url-pattern> </servlet-mapping>
  1. 我部署了项目,启动了服务器,访问了http:// localhost:8080 / playground / upload.jsp,从我的下载文件夹中选择了一个随机的大文件,单击
    Upload
    链接,然后看到上传百分比计数器增长到100%,我终于在标准输出中看到以下内容:
    UploadServlet被调用。这是所有上传的文件:

    名称:glassfish-v3-windows.exe
    尺寸:50402555
    类型:应用程序/八位字节流

很抱歉,我无法重现您的问题。至少,以上信息应该可以帮助您“重新开始”。希望能帮助到你。

更新: 根据评论,过滤器期望它正在使用相同的会话。好的,您可以通过更改

    '<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= depredString %>',";

    '<%= request.getContextPath() %>/uploadFile;jsessionid=${pageContext.session.id}?portletId=${portletId}&remoteFolder=<%= depredString %>',";


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号