servlet要在web.xml下配置,还有你用的是<form action="x.action"></form> 呵呵呵 我建议用SSH这样就方便多了

解决方案 »

  1.   

    我要把表单中的信息提交插入数据库中,我在用request.getParameter取数据时总是为空,不知道问题在哪里,请大家指教!代码如下:
    DAO代码:
    public class S_TOperateDAO {
    //获取提交表单的信息
     public SAV_TMP getS_TParam(HttpServletRequest request, HttpServletResponse response){
      String acno=request.getParameter("Acno");你在这里System.out.prinln("acno==========="+acno)看能否打印出来呢;
      String rctl=request.getParameter("Rctl");
      String cunm=request.getParameter("Cunm");
      String acbl=request.getParameter("Acbl");
      String rjye=request.getParameter("Rjye");
      //System.out.println(acno);
      SAV_TMP st=new SAV_TMP();
      st.setACNO(acno==null?"":acno);
      st.setRCTL(rctl==null?"":rctl);
      st.setCUNM(cunm==null?"":cunm);
      st.setACBL(acbl==null?0:Double.parseDouble(acbl));
      st.setRJYE(rjye==null?0:Double.parseDouble(rjye));
        
      return st;
     }
      

  2.   

    enctype="multipart/form-data" 改成enctype="application/x-www-form-urlencoded"
      

  3.   

    multipart/form-data是用来上传的
    一般成对参数要用application/x-www-form-urlencoded
      

  4.   

    去掉 enctype  写一个测试jsp,action指向测试jsp request你需要的这些字段从你输出的 sql来看 是一个值也没有取到 Servlet代码:
    S_TOperateDAO sto=new S_TOperateDAO();
    String operate=request.getParameter("operate");
    if(operate.equals("insert")){
    SAV_TMP st=sto.getS_TParam(request, response);
    boolean flag=sto.SAV_TMPInsert(st);
    if(flag){
    out.print("<script type='text/javascript'>");
    out.print("alert('插入成功!');");
    out.print("window.location='s_tmplist.jsp'");
    out.print("</script>");
    }else{
    System.out.println("insert fail!");
    }
    }
      

  5.   

     <form name="profrm" action="servlet/S_TOperateServlet" method="post" enctype="multipart/form-data">
    当类型为multipart/form-data用request.getParameter()是取不出参数值的。因为这种类型是以流的形式存在,所以lz要去掉这个应该就可以了。
      

  6.   

    enctype="multipart/form-data"就是这句的问题,去掉就行,哈哈,谢谢各位啦,学习了