web服务器是不是当掉了?防火墙设置了吗?

解决方案 »

  1.   

    你单独运行servlet有没问题?
    把你jsp提交的判断代码铁一些:)
      

  2.   

    <link rel="STYLESHEET" type="text/css" href="../common/Css/Public.css">
    <script LANGUAGE="javascript">
    <!--
    var rtype="填空题";
    function CloseWindow(){
      window.returnValue = "cancel";
      window.close();
    }
    function Action(){
      
        if (addinfo.QCONTENT.value==""){
          alert("请填入题目内容");
          addinfo.QCONTENT.focus();
          return;
        }
        if (addinfo.QSUMMARY.value==""){
          alert("请填入题目摘要");
          addinfo.QSUMMARY.focus();
          return;
        }
        if ((rtype=="填空题")||(rtype=="问答题"))
          if (addinfo.QSTDANSWER.value==""){
            alert("请填入题目标准答案");
            addinfo.QSTDANSWER.focus();
            return;
          }
        if ((rtype=="单选题")||(rtype=="多选题"))
          for(i=1;i<=addinfo.QANSWERCOUNT.value;i++)
            if (eval('addinfo.QANSWER'+i).value==""){
              alert("请填入题目备选项");
              eval('addinfo.QANSWER'+i).focus();
              return;
            }
        if ((rtype=="判断题")){
          if (addinfo.QANSWER1.value==""){
            alert("请填入题目备选项");
            addinfo.QANSWER1.value="对";
            addinfo.QANSWER1.focus();
            return;
          }
          if (addinfo.QANSWER2.value==""){
            alert("请填入题目备选项");
            addinfo.QANSWER2.value="错";
            addinfo.QANSWER2.focus();
            return;
          }
        }
        if (rtype=="多选题"){
          isSelected=false;
          for(i=1;i<=addinfo.QANSWERCOUNT.value;i++)
            if (eval('addinfo.cQANSWER'+i).checked)
              isSelected=true;
          if (isSelected==false){
            alert("请选择题目多选答案");
            addinfo.cQANSWER1.focus();
            return;
          }
        }
      
      window.addinfo.submit();
      window.returnValue = "ok";
      window.close();
    }
    function displayctr(a,r,s){
        answercount.style.display=a;
        rct.style.display=r;
        stdanswer.style.display=s;
    }
    function TypeClick(type){
      rtype=type;
      if (type=="单选题"){
        displayctr('','','none');
        displayAO(addinfo.QANSWERCOUNT.value);
      }
      if (type=="多选题"){
        displayctr('','','none');
        displayAO(addinfo.QANSWERCOUNT.value);
      }
      if (type=="问答题"){
        displayctr('none','none','');
      }
      if (type=="填空题"){
        displayctr('none','none','');
      }
      if (type=="判断题"){
        displayctr('none','','none');
        displayAO(addinfo.QANSWERCOUNT.value);
      }}
    function displayAO(count){
      addinfo.rQANSWER1.checked=true;
      if (rtype=="单选题"){
        for (i=1;i<=count;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='';
        }
        for (i=parseInt(count)+1;i<=6;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='none';
        }
      }
      if (rtype=="多选题"){
        for (i=1;i<=count;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='';
        }
        for (i=parseInt(count)+1;i<=6;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='none';
        }
      }
      if (rtype=="判断题"){
        for (i=1;i<=2;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='';
        }
        for (i=3;i<=6;i++){
          eval('addinfo.rQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.cQANSWER'+i).runtimeStyle.display='none';
          eval('addinfo.QANSWER'+i).runtimeStyle.display='none';
        }
      }
    }
    function CountClick(){
      displayAO(addinfo.QANSWERCOUNT.value);
    }
    //-->
    </script>
    </head>
      

  3.   

    <body leftmargin="0" topmargin="0" rightmargin="0" class=body>
    <link rel="STYLESHEET" type="text/css" href="../common/Css/Public.css">
    <iframe name="iframe1" width=0 height=0></iframe>
    <form method="POST" name=addinfo target=iframe1 action="questionsetoperator">
    <table width="100%" class=Table>
      
      <tr>
        <td width="41%">
                <p align="left">
          所属题库 <select name="QLID">
          <option selected value=2>脑筋集转弯</option><option value=1>IQ</option><option value=3>EQ</option>
          </select>
                </p>
        </td>
        <td width="59%">
                <p align="left">
          知识点 <select name="CPID">
          <option value=10000001>语文</option><option value=10000002>数学</option><option value=10000003>IQ</option><option value=10000004>EQ</option>
          </select>
                </p>
        </td>
      </tr>
      <tr>
        <td width="50%">题目分值 <select name="QCOST">
          <option  value=100>100</option>
    <option  value=99>99</option>
    <option  value=98>98</option>
          </select>
        </td>
        <td width="50%">
          题目难度 <select name="QDIFF" size="1">
          <option  value=1>1</option>
          <option value=2>2</option>
          <option value=3>3</option>
          <option value=4>4</option>
          &nbsp;
          </select>
        </td>
      </tr>
      <tr>
        <td width="41%">
          题目摘要 <input type="text" name="QSUMMARY" size="20">
        </td>
      </tr>
      <tr>
              <td width="100%" align="left" height="23" colspan="2">
          <p align="left">
          题目类型&nbsp;<input type=radio checked value=4 name=QTCODE onclick=javascript:TypeClick("填空题")>填空题&nbsp;<input type=radio value=1 name=QTCODE onclick=javascript:TypeClick("单选题")>单选题&nbsp;<input type=radio value=2 name=QTCODE onclick=javascript:TypeClick("多选题")>多选题&nbsp;<input type=radio value=3 name=QTCODE onclick=javascript:TypeClick("判断题")>判断题&nbsp;<input type=radio value=5 name=QTCODE onclick=javascript:TypeClick("问答题")>问答题&nbsp;</p>
              </td>
      </tr>
      <tr>
              <td width="100%" align="left" colspan="2">
                <table width="100%" class=Table>
                  <tr>
                    <td width="100%">题目内容</td>
                  </tr>
                  <tr>
                    <td width="100%"><textarea rows="3" name="QCONTENT" cols="20"></textarea>
                    </td>
                  </tr>
                </table>
    <table class=Table>
      <tr>
        <td width="100%" colspan="2">
          <span id="answercount" style="display:none">
          题目项数 <select name="QANSWERCOUNT" onchange=javascript:CountClick()>
          <option value=1>1</option>
          <option value=2>2</option>
          <option value=3>3</option>
          <option value=4>4</option>
          <option value=5>5</option>
          <option value=6 selected>6</option>
          </select>
          </span>
        </td>
      </tr>
      <tr>
        <td width="100%">
        <span id="rct" style="display:none">
          <table width="100%" class=Table>
            <tr>
              <td width="100%">
          备选项
              </td>
            </tr>
            <tr>
              <td width="100%">
              <input type="radio" value="1"  checked name="rQANSWER" id="rQANSWER1"><input type="checkbox" name="cQANSWER" id="cQANSWER1" value="1" ><input type="text" name="QANSWER1" size="20">
              </td>
            </tr>
            <tr>
              <td width="100%"><input type="radio" value="2"  name="rQANSWER" id="rQANSWER2"><input type="checkbox" name="cQANSWER" id="cQANSWER2" value="2" ><input type="text" name="QANSWER2" size="20">
              </td>
            </tr>
            <tr>
              <td width="100%">
             <input type="radio" value="3"  name="rQANSWER" id="rQANSWER3"><input type="checkbox" name="cQANSWER" id="cQANSWER3" value="3" ><input type="text" name="QANSWER3" size="20">
              </td>
            </tr>
            <tr>
              <td width="100%">
              <input type="radio" value="4"   name="rQANSWER" id="rQANSWER4"><input type="checkbox" name="cQANSWER" id="cQANSWER4" value="4" ><input type="text" name="QANSWER4" size="20">
              </td>
            </tr>
            <tr>
              <td width="100%">
              <input type="radio" value="5"  name="rQANSWER" id="rQANSWER5"><input type="checkbox" name="cQANSWER" id="cQANSWER5" value="5" ><input type="text" name="QANSWER5" size="20">
              </td>
            </tr>
            <tr>
              <td width="100%">
              <input type="radio" value="6"  name="rQANSWER" id="rQANSWER6"><input type="checkbox" name="cQANSWER" id="cQANSWER6" value="6" ><input type="text" name="QANSWER6" size="20">
              </td>
            </tr>
          </table>
         </span>
        </td>
      </tr>
      <tr>
        <td width="100%" colspan="2">
        <span id="stdanswer" style="">
                <table width="100%" class=Table>
                  <tr>
                    <td width="100%">标准答案
                    </td>
                  </tr>
                  <tr>
                    <td width="100%"><textarea rows="3" name="QSTDANSWER" cols="20"></textarea>
                    </td>
                  </tr>
                </table>
        </span>
        </td>
      </tr>
      <tr>
        <td width="100%" colspan="2">题目图片<input type="text" name="QSUMMARY" size="20">
        </td>
      </tr>
      
      <tr>
      <td align=left>
        <input type="button" value="确定" name="OK" onclick=javascript:Action()><input type="button" value="取消" name="cancel" onclick=javascript:CloseWindow()>
        <input type=hidden value=-3 name="type">
        <input type=hidden value="add" name="operatormethod">
      </td>
      </tr>
    </form>
    </body>
      

  4.   

    单独运行servlet
    什么意思?
      

  5.   

    package oamodule.examine;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class PaperOperator extends HttpServlet {
      //Initialize global variables
      public void init() throws ServletException {
      }
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        PaperManager PaperM=(PaperManager)(session.getAttribute("PaperManager"));
        String id=request.getParameter("operatorid");
        String method=request.getParameter("operatormethod");
        int iret=-1;
        try{
          if (method.equals("del"))
            iret=PaperM.deletePaperTemplateByID(new Integer(id).intValue());
          if ((method.equals("add"))||(method.equals("modify")))
          {
            //生成试卷hashtable
            Hashtable hPInfo=new Hashtable();
            hPInfo.put("QLS_ID",request.getParameter("QLS_ID"));
            hPInfo.put("TP_NAME",request.getParameter("TP_NAME"));
            hPInfo.put("TP_TYPE",request.getParameter("TP_TYPE"));
            hPInfo.put("TP_GENWAY",request.getParameter("TP_GENWAY"));
            int iTP_TIME_HOUR=(new Integer(request.getParameter("TP_TIME_HOUR"))).intValue();
            int iTP_TIME_MIN=(new Integer(request.getParameter("TP_TIME_MIN"))).intValue();
            int iTP_TIME_SEN=(new Integer(request.getParameter("TP_TIME_SEN"))).intValue();
            Float TP_TIME_OCCUPY=new Float(iTP_TIME_HOUR*60+iTP_TIME_MIN+iTP_TIME_SEN/60.0);
            hPInfo.put("TP_TIME_OCCUPY",TP_TIME_OCCUPY);
            iTP_TIME_HOUR=(new Integer(request.getParameter("TP_FROM_Y"))).intValue();
            iTP_TIME_MIN=(new Integer(request.getParameter("TP_FROM_M"))).intValue();
            iTP_TIME_SEN=(new Integer(request.getParameter("TP_FROM_D"))).intValue();
            java.sql.Date TP_VALIDDATE_FROM=new java.sql.Date(iTP_TIME_HOUR-1900,iTP_TIME_MIN-1,iTP_TIME_SEN);
            hPInfo.put("TP_VALIDDATE_FROM",TP_VALIDDATE_FROM);
            iTP_TIME_HOUR=(new Integer(request.getParameter("TP_TO_Y"))).intValue();
            iTP_TIME_MIN=(new Integer(request.getParameter("TP_TO_M"))).intValue();
            iTP_TIME_SEN=(new Integer(request.getParameter("TP_TO_D"))).intValue();
            java.sql.Date TP_VALIDDATE_TO=new java.sql.Date(iTP_TIME_HOUR-1900,iTP_TIME_MIN-1,iTP_TIME_SEN);
            hPInfo.put("TP_VALIDDATE_TO",TP_VALIDDATE_TO);
            hPInfo.put("TP_GRADE_WAY",request.getParameter("TP_GRADE_WAY"));
            hPInfo.put("TP_TESTWAY",request.getParameter("TP_TESTWAY"));
            hPInfo.put("TP_PASSSCORE",request.getParameter("TP_PASSSCORE"));
            if (request.getParameter("TP_IS100")!=null)
              hPInfo.put("TP_IS100","1");
            else
              hPInfo.put("TP_IS100","0");
            if (request.getParameter("TP_CANREPEATEXAMINE")!=null)
              hPInfo.put("TP_CANREPEATEXAMINE","1");
            else
              hPInfo.put("TP_CANREPEATEXAMINE","0");
            if (request.getParameter("TP_ALLOWSEEPAPER")!=null)
              hPInfo.put("TP_ALLOWSEEPAPER","1");
            else
              hPInfo.put("TP_ALLOWSEEPAPER","0");
            if (request.getParameter("TP_EXAMINE").equals("ExcludeGuest")){
              hPInfo.put("TP_ALLUSER","1");
            }
            if (request.getParameter("TP_EXAMINE").equals("NotAll")){
              hPInfo.put("TP_ALLUSER","0");
            }
            //生成策略hashtable
            int iPolicyRow=new Integer(request.getParameter("PolicyRow")).intValue();
            Hashtable[] hPolicyValue=new Hashtable[iPolicyRow+1];
            for (int i=1;i<=iPolicyRow;i++){
              hPolicyValue[i]=null;
              if ((request.getParameter("CP"+i)!=null)&&(request.getParameter("CP"+i)!="")){
                hPolicyValue[i]=new Hashtable();
                for (int j=1;j<5;j++)
                  if (request.getParameter("StatD"+j+i).equals("0")==false){
                    hPolicyValue[i].put("Q_DIFF",new Integer(j));
                    hPolicyValue[i].put("QL_ID",request.getParameter("QL"+i));
                    hPolicyValue[i].put("CP_ID",request.getParameter("CP"+i));
                    hPolicyValue[i].put("QT_CODE",request.getParameter("QT"+i));
                    hPolicyValue[i].put("GP_QTY",request.getParameter("StatD"+j+i));
                  }
              }
            }
            if (method.equals("add"))
              iret=PaperM.addPaperTemplate(hPInfo,hPolicyValue,new Integer(request.getParameter("TP_TYPE")).intValue());
            else{
              iret=PaperM.deletePaperTemplateByID(new Integer(id).intValue());
              iret=PaperM.addPaperTemplate(new Integer(id).intValue(),hPInfo,hPolicyValue,new Integer(request.getParameter("TP_TYPE")).intValue());
            }
          }
          if (method.equals("del")){
            ServletContext context = getServletContext();
            RequestDispatcher dispatcher = context.getRequestDispatcher("/examine/PaperDetail.jsp?type="+request.getParameter("type"));
            dispatcher.forward(request, response);
          }
        }
        catch(Exception ex){
          System.out.println("操作错误,请重试!"+ex.getMessage());
          throw new ServletException("操作错误,请重试!");
        }
        if (iret==-1){
          throw new ServletException("操作错误,请重试!");
        }
      }
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
      }
      //Clean up resources
      public void destroy() {
      }
    }
      

  6.   

    sorry,特错了代码
    questionsetoperator 这个servlet应该是
    package oamodule.examine;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import java.util.Hashtable;
    import suntek.portal.publicLib.RecordSetObject;public class QuestionSetOperator extends HttpServlet {
      //Initialize global variables
      public void init() throws ServletException {
      }
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        QuestionSetManager QuestionSetM=(QuestionSetManager)(session.getAttribute("QuestionSetManager"));
        String id=request.getParameter("operatorid");
        String method=request.getParameter("operatormethod");
        int type=new Integer(request.getParameter("type")).intValue();
        int iret=-1;
        try{
          if (method.equals("del")){
            if (type==QuestionSetM.QuestionLibSet){
              int qtid=new Integer(id).intValue();
              iret=QuestionSetM.deleteQLS(qtid);
            }
            if (type==QuestionSetM.QuestionLib){
              int qtid=new Integer(id).intValue();
              iret=QuestionSetM.deleteQL(qtid);
            }
            if (type==QuestionSetM.Question){
              int qtid=new Integer(id).intValue();
              iret=QuestionSetM.deleteQuestionByID(qtid);
            }
          }
          if (method.equals("modify")){
            String mname=request.getParameter("name");
            String mdesc=request.getParameter("desc");
            int qtid=new Integer(id).intValue();
            if (type==QuestionSetM.QuestionLibSet)
              iret=QuestionSetM.updateQLS(qtid,mname,mdesc,0);
            if (type==QuestionSetM.QuestionLib){
              int qlsid=new Integer(request.getParameter("QLSID")).intValue();
              iret=QuestionSetM.updateQL(qtid,qlsid,mname,mdesc,0);
            }
            if (type==QuestionSetM.Question){
              Hashtable hQKey=new Hashtable();
              hQKey.put("Q_ID",new Integer(qtid));
              Hashtable hQInfo=generateQuestionTable(request);
              iret=QuestionSetM.updateQuestion(hQKey,hQInfo);
            }
          }
          if (method.equals("add")){
            String aname="";
            String adesc="";
            if (type==QuestionSetM.QuestionLibSet){
              aname="新增题库集";
              adesc=aname;
            }
            if (type==QuestionSetM.QuestionLib){
              aname="新增题库";
              adesc=aname;
            }
            if ((request.getParameter("name")!=null)&&(request.getParameter("name").equals("null")==false)&&(request.getParameter("name").equals("")==false))
              aname=request.getParameter("name");
            if ((request.getParameter("desc")!=null)&&(request.getParameter("desc").equals("null")==false)&&(request.getParameter("desc").equals("")==false))
              adesc=request.getParameter("desc");
            if (type==QuestionSetM.QuestionLibSet){
              iret=QuestionSetM.addQLS(aname,adesc);
            }
            if (type==QuestionSetM.QuestionLib){
              int iQLSID=new Integer(request.getParameter("QLSID")).intValue();
              iret=QuestionSetM.addQL(iQLSID,aname,adesc);
            }
            if (type==QuestionSetM.Question){
              Hashtable hQInfo=generateQuestionTable(request);
              iret=QuestionSetM.addQuestion(hQInfo);
            }
          }
        }
        catch(Exception ex){
          throw new ServletException("操作错误,请重试!");
        }
        if (iret==-1){
          throw new ServletException("操作错误,请重试!");
        }
      }
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
      }
      //Clean up resources
      public void destroy() {
      }
      private Hashtable generateQuestionTable(HttpServletRequest request){
        System.out.println("begin");    //根据请求得到question的hashtable
        Hashtable hQInfo=new Hashtable();
        hQInfo.put("QL_ID",request.getParameter("QLID"));
        hQInfo.put("CP_ID",request.getParameter("CPID"));
        hQInfo.put("QT_CODE",request.getParameter("QTCODE"));
        hQInfo.put("Q_SUMMARY",request.getParameter("QSUMMARY"));
        hQInfo.put("Q_CONTENT",request.getParameter("QCONTENT"));
        hQInfo.put("Q_COST",request.getParameter("QCOST"));
        hQInfo.put("Q_DIFF",request.getParameter("QDIFF"));
        int iQTYPE=new Integer(request.getParameter("QTCODE")).intValue();
        BaseInfoManager BaseInfoM=null;
        HttpSession session = request.getSession();
        if (session.getAttribute("BaseInfoManager")!=null)
          BaseInfoM=(BaseInfoManager)(session.getAttribute("BaseInfoManager"));
        else{
          String username=request.getRemoteUser();
          username="examine";//?????
          BaseInfoM=new BaseInfoManager(username);
        }
        String sQTYPE="单选题";
        try{
          RecordSetObject rQTYPE=BaseInfoM.getQuestionType(iQTYPE);
          if (rQTYPE!=null)
            sQTYPE=rQTYPE.getString("QT_NAME",0);
        }
        catch(Exception ex){};    int iACount=0;
        String sAnswer="";
        String sSTDAnswer="";
        System.out.println("sQTYPE"+sQTYPE);
        if ((sQTYPE.equals("填空题"))||(sQTYPE.equals("问答题")))
          hQInfo.put("Q_STDANSWER",request.getParameter("QSTDANSWER"));
        if ((sQTYPE.equals("单选题"))||(sQTYPE.equals("判断题"))){
          hQInfo.put("Q_ANSWERCOUNT",request.getParameter("QANSWERCOUNT"));
          hQInfo.put("Q_STDANSWER",request.getParameter("rQANSWER"));
          if (sQTYPE.equals("判断题"))
            iACount=2;
          else
            iACount=new Integer(request.getParameter("QANSWERCOUNT")).intValue();
          for (int i=1;i<=iACount-1;i++){
            sAnswer+=request.getParameter("QANSWER"+i)+";";
          }
          sAnswer+=request.getParameter("QANSWER"+iACount);
          hQInfo.put("Q_ANSWER",sAnswer);
        }
        if (sQTYPE.equals("多选题")){
          hQInfo.put("Q_ANSWERCOUNT",request.getParameter("QANSWERCOUNT"));
          iACount=new Integer(request.getParameter("QANSWERCOUNT")).intValue();
          String[] sSA=request.getParameterValues("cQANSWER");
          for (int i=1;i<=iACount-1;i++){
            sAnswer+=request.getParameter("QANSWER"+i)+";";
          }
          sAnswer+=request.getParameter("QANSWER"+iACount);
          for (int i=0;i<sSA.length-1;i++){
            sSTDAnswer+=sSA[i]+";";
          }
          sSTDAnswer+=sSA[sSA.length-1];
          hQInfo.put("Q_ANSWER",sAnswer);
          hQInfo.put("Q_STDANSWER",sSTDAnswer);
        }
        System.out.println("hQInfo"+hQInfo);
        return hQInfo;
      }
    }
      

  7.   

    你的servlet在weblogic的web.xml里加载了没有?把你的web.xml贴出来看看
      

  8.   

    if (sQTYPE.equals("多选题")){
          hQInfo.put("Q_ANSWERCOUNT",request.getParameterValues("QANSWERCOUNT"));------------------
    GETPARAMETERVALUES
    ------------------
      

  9.   

    单独运行servlet
    就是根据你的web。xml的设置
    如果没有 就在你的ie直接连接服务器上的servlet看看 能不能运行
      

  10.   

    ie直接连接服务器上的servlet
    当然不行,没有parameter,出错
      

  11.   

    to:tomxutomxu(shprog) 
    多选的情况下
    QANSWERCOUNT也是一个select,不是checkbox,怎么能getParameterValues?
      

  12.   

    可我看到如果选择了“多选”
    下面出现了许多CHECKBOX,是选项吗?
    在SERVLET中是不是要读取这些选项?代码太长了,头晕。
    建议将一些不会出错的代码去掉,再一点一点排查。
    总会找出问题所在的。