Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JQuery uploadify插件不工作_Java_Jquery_Servlets - Fatal编程技术网

Java JQuery uploadify插件不工作

Java JQuery uploadify插件不工作,java,jquery,servlets,Java,Jquery,Servlets,我第一次使用primefaces文件上传组件,但它不起作用。总是给HTTP错误。所以我认为这个组件有一些bug,于是转到普通的JQuery并尝试使用uploadify。但我还是犯了同样的错误。我正在使用容器管理的安全性。这就是不能正常工作的原因吗 这是我的剧本:- $(document).ready(function(){ $('#photoInput').uploadify({ 'script'

我第一次使用primefaces文件上传组件,但它不起作用。总是给HTTP错误。所以我认为这个组件有一些bug,于是转到普通的JQuery并尝试使用uploadify。但我还是犯了同样的错误。我正在使用容器管理的安全性。这就是不能正常工作的原因吗

这是我的剧本:-

 $(document).ready(function(){
                       $('#photoInput').uploadify({
                        'script'    : '/Blogger/fileUploadServlet',
                        'uploader'  : './uploadify/uploadify.swf',
                        'cancelImg' : './uploadify/cancel.png',
                        'auto'      : true
                        });
更新

响应标题:

X-Powered-By Servlet/3.0, JSF/2.0 Server GlassFish v3 Set-Cookie JSESSIONID=a23a36b147ac171f8abbf64406cd; Path=/Blogger Content-Type text/html;charset=UTF-8 Content-Length 1430 Date Thu, 29 Apr 2010 15:16:12 GMT
因为您没有发布HTTP请求/响应头,所以这有点像瞎猜。但是一个常见的原因是文件上传请求没有使用相同的会话,而这正是Web应用程序所需要的。您可以通过请求头中缺少的cookie轻松发现这一点

要解决此问题,请更新该行

'script': '/Blogger/fileUploadServlet',

然后重试

更新:相对URL可能错误。JSF页面的绝对URL是什么?上传servlet的绝对URL是什么?您需要从中提取正确的相对URL。现在,您已经用一个前导斜杠/指定了相对URL,因此它是相对于域根的,也就是说,它绝对是http://localhost:8080/Blogger/fileUploadServlet.


您可能想考虑把这一点放在一边,在我在更新部分中概述的空白/小游戏者设置中重新尝试,看看它是否在没有其他可能干扰因素的情况下工作。

请更新您的问题,包括返回此页的HTTP响应头和发送的HTTP请求头。上传。您可以使用firebug或fiddler获取HTTP头。请求头是您上载文件时的头吗?这个看起来不像那个。顺便说一句:你真的不应该在cookie中存储用户名/密码!存储在服务器端会话中。不,我刷新了页面,这就是我得到的。上传文件后。如何获取请求和响应头?Firebug中的Net选项卡,尤其是XHR子选项卡。若并没有触发,那个么这仅仅意味着JS代码是伪造的或者根本并没有执行。为了进一步明确这一点,您需要运行JS调试器来逐行跟踪执行。好的!但是BalusC,我没有对javascript文件做任何更改。我只是从uploadify站点获取的.zip文件中复制粘贴了该文件。会错吗?嗨,巴卢斯克,我按你说的编辑。添加jsessionid后,我仍然得到错误。我用的是Glassfish V3。在将Flash与Java结合使用之前,是否需要进行一些设置?请帮助我:用Firebug调试JS。它执行正确吗?我对uploadify发送的请求头更感兴趣。您可以在Firebug的“网络”选项卡中找到它。由于您使用的是JSF,您是否确保$'photoInput'是正确的元素ID?它不应该是JSF组件ID,而是生成的HTML组件右键单击页面的客户端ID,查看源代码。是的,BalusC,photoInput是clientId,因为我在h:form中设置了prependId=false。该组件还获得了jqueryuploadify的外观。如果身份证不正确,它就不会有那种外观和感觉。我发送给您的标题仅来自“网络”选项卡。当我点击uploadify的browse按钮并选择file时,我并没有看到任何标题。我得到的只是HTTP错误。在“网络”选项卡中不会更新标题。我现在该怎么办?
package Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

@WebServlet(name = "fileUploadServlet", urlPatterns = {"/fileUploadServlet"})
public class fileUploadServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, FileUploadException {
        PrintWriter out = response.getWriter();
        try {
            System.out.println("Executed!!");
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);

            // Create a factory for disk-based file items
            FileItemFactory factory = new DiskFileItemFactory();

// Create a new file upload handler
            ServletFileUpload upload = new ServletFileUpload(factory);

// Parse the request
            List /* FileItem */ items = upload.parseRequest(request);

            Iterator e = items.iterator();
            while(e.hasNext()){
                System.out.println(e.next().toString());
            }

        } finally {
            out.close();
        }
    }
}

                      });
'script': '/Blogger/fileUploadServlet',
'script': '/Blogger/fileUploadServlet;jsessionid=${pageContext.session.id}',