form里用GET提交参数到servlet里的话,用request.getParameter可以获得想要的参数,可是用POST提交后再用request.getParameter得到的就是NULL了,网上看好多人说POST用getParameter也可以得到,可我就是得不到啊谁来指点下啊。有人说用截取POST的流来获得参数,哪位大侠能举个小例子啊,在此谢过。新手分少,别见怪
(能顺便讲一下get和post的区别最好了,我只知道GET后面URL有参数,POST没有……………………)

解决方案 »

  1.   

    如果你是用表单提交的话;你得把提交方式也改为POST;在servlet里面的doGET();;方法也要改为dopost()
      

  2.   

    该过了,还是得不到,比如在表单里传ID,在servlet里就得不到了,除非用get,才能得到
      

  3.   

    <form enctype="multipart/form-data" method="post" action="servlet/posttest">
    <input type="text" value="10" name="proid"/>

    <input type="submit" value="upload" >
    </form>servlet里就一句话public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html");

    System.out.println(request.getParameter("proid"));
        
    }public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }
      

  4.   

    编码是:enctype="multipart/form-data" 这肯定是得不到的。
    你只能去得到流:ServletInputStream sis = request.getInputStream();
    然后,你再去处理。
    如果你不想自己去处理流,那最好下载一个smartupload.jar的包。来方便帮你处理。
    一般来说,如果你不涉及到文件上传的话最好不要用enctype="multipart/form-data"改为用:
    enctype="application/x-www-form-urlencoded"
      

  5.   

    不是 ;;我跟你说;;因为你的的是doGET();方法;;你在把doGET();;在 dopost();方法中调用;;这才出现了你说的情况;如果你这样写就对了;;
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {response.setContentType("text/html");System.out.println(request.getParameter("proid"));
      
    }public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    System.out.println(request.getParameter("proid"));
    }
      

  6.   

    还有楼上说的对;;你这样写:
    form  method="post" action="servlet/posttest">
    <input type="text" value="10" name="proid"/> <input type="submit" value="upload" >
    </form>enctype="multipart/form-data"这段去掉::
      

  7.   

    是 因为你在表单提交的post方法;;在servet先执行了post方法;而doget();方法没有执行;;所以才会出现null;;
      

  8.   

    就是要文件上传时用到的,我上传的是图片,保存在每个公司下面,那就需要公司的ID,用了enctype="multipart/form-data"后,id就传不过来了,我想问有什么方法能传过来么
      

  9.   

    刚才的那个解决了 吗;;你不要用enctype="multipart/form-data"这种方式来传!
      

  10.   

    enctype="multipart/form-data"不能去掉啊,上传文件时要用这个,不好意思,开始没讲清
      

  11.   

    你是想上传照片是文件类型的所以你也不能用type=“text”这是第一的,如果你上传的话你要考虑一下使用jar包了至于使用什么jar包是看你自己熟悉程度。像以上你的代码是不能完成上传的,request.getParamter是返回的string的你是明白的。
      

  12.   

    当客户端浏览器指定enctype为multipart/form-data提交表单时,HTTP服务器上与该请求对应的servlet(Servlet 类或JSP网页)将无法通过request对象的getParameter()方法取得表单域的属性值。如果对HTTP协议熟悉的话,我们可以对 multipart/form-data数据流进行分析,取出其中有用的信息。但这样做完全没有必要,Apache的Commons FileUpload程序包已经替我们完成了这项复杂的工作。FileUpload程序包的使用方法可以参考
    http://blog.csdn.net/darxin/archive/2010/01/02/5119767.aspx