0

私のコードでは get メソッドと post メソッドを使用する必要があるのではないかと疑っています。私のETXjsコード。

まず、get メソッドで取得したフィールドを受け取り、次に EXTjs で作業するフィールドを受け取ります。次に、そのフィールドを使用してコンサルトを行うときに、get で取得したパラメーターを使用する必要があります。

何かできることはありますか?これは私のコードです:

@WebServlet("/ServletTipoPapel")
public class ServletTipoPapel extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletTipoPapel() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //Here i work with my get param Usuario.
        String usuario = request.getParameter("usuario");
        JOptionPane.showMessageDialog( null, "El usuario que usa esto es " + usuario );
        tratarPeticionesEntrantes(request,response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        tratarPeticionesEntrantes(request,response);
    }

    private void tratarPeticionesEntrantes(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        if(request.getParameter("Funcionalidad")==null || request.getParameter("Funcionaldiad")==""){
            RequestDispatcher rd=request.getRequestDispatcher("/jsp/PantallasGestion/tipoPapel.jsp");
            rd.forward(request,response);
        }else{
            JSONObject json=tratarPeticion(request);
            System.out.println(json.toJSONString());
            PrintWriter escritorRespuesta=response.getWriter();
            escritorRespuesta.println(json.toJSONString());
            //escritorRespuesta.println();
            escritorRespuesta.flush();
            escritorRespuesta.close();
        }
    }

    //JSON

    private JSONObject tratarPeticion(HttpServletRequest request){
        JSONObject respuesta=null;
        String parametroFuncionalidad=request.getParameter("Funcionalidad");
        System.out.println(request.getParameter("Funcionalidad"));

        if(parametroFuncionalidad!=null && parametroFuncionalidad!=""){
            if(parametroFuncionalidad.equalsIgnoreCase("CONSULTA")){
                respuesta=tratarPeticionConsulta(request);
            }else if(parametroFuncionalidad.equalsIgnoreCase("MODIFICAR")){
                respuesta=tratarPeticionModificacion(request);
            }else if(parametroFuncionalidad.equalsIgnoreCase("INSERTAR")){
                respuesta=tratarPeticionAlta(request);
                System.out.println("aqui entra");
            }else if(parametroFuncionalidad.equalsIgnoreCase("ELIMINAR")){
                respuesta=tratarPeticionBaja(request);  
            }else{
            }
        }
        return respuesta;
    }

    private JSONArray tipoPapelesToArray(ArrayList<TipoPapel> papeles){
        JSONArray list = new JSONArray();
        for(int i=0;i<papeles.size();i++){
            JSONObject elemento1=new JSONObject();
            elemento1.put("TIPPAP",papeles.get(i).getTipoPapel());
            elemento1.put("TAMPAP",papeles.get(i).getTamanioPapel());
            elemento1.put("INDPAR",papeles.get(i).getIndicadorCanal());
            elemento1.put("NUMOPTDO",papeles.get(i).getNumOptimoPaginas());
            elemento1.put("INDCAR",papeles.get(i).getIndicadorCaratula());
            elemento1.put("FORCAR",papeles.get(i).getFormularioCaratula());
            elemento1.put("VERCAR",papeles.get(i).getVersionCaratula());
            elemento1.put("FORSEPIN",papeles.get(i).getFormularioSeparadorInicial());
            elemento1.put("VERSEPIN",papeles.get(i).getVersionSeparadorInicial());
            elemento1.put("FORSEPFI",papeles.get(i).getFormularioSeparadorFinal());
            elemento1.put("VERSEPFI",papeles.get(i).getVersionSeparadorFinal());
            elemento1.put("NUMFICSP",papeles.get(i).getFicheroSpool());
            elemento1.put("DESTIPPA",papeles.get(i).getDescripcionTipoPapel());
            elemento1.put("TIP_TRABAJO",papeles.get(i).getTipoTrabajo());
            elemento1.put("FECALT",papeles.get(i).getFechaAlta());
            elemento1.put("FECMOD",papeles.get(i).getFechaModificacion());
            elemento1.put("TERMOD",papeles.get(i).getUsuarioModificacion());
            elemento1.put("HORMOD",papeles.get(i).getHoraModificacion());
            list.add(elemento1);
        }
        return list;
    }

    //PARTE DE ALTA

    private JSONObject tratarPeticionAlta(HttpServletRequest request){
        System.out.println("aqui tambien");
        TipoPapelDAO papelDAO=new TipoPapelDAO();
        String [] camposAObtener={"TODOS"};
        String entorno="DESARROLLO";
        ArrayList<TipoPapel> papeles=papelDAO.obtenerParaAlta(obtenerCamposParaAlta(request),entorno);
        //System.out.println("aqui tambien despues 2");
        JSONObject respuesta = new JSONObject();
        JSONArray list = tipoPapelesToArray(papeles);
        respuesta.put("TiposPapel",list);
        //System.out.println("aqui tambien despues 3" + respuesta);
        return respuesta;
    }

    private String[] obtenerCamposParaAlta(HttpServletRequest request){
        ArrayList<String> elementosAux=new ArrayList<String>();
        int contador1 = 0;
        int contador2 = 0;
        int contador3 = 0;
        int contador4 = 0;
        int contador5 = 0;
        int contador6 = 0;
        int contador7 = 0;
        int contador8 = 0;
        int contador9 = 0;
        int contador10 = 0;
        int contador11 = 0;
        int contador12 = 0;
        int contador13 = 0;
        int contador14 = 0;

        if(request.getParameter("DPTipoPapel")!=null && request.getParameter("DPTipoPapel").trim()!="")
        {
            elementosAux.add("TIPPAP~"+request.getParameter("DPTipoPapel"));
            contador1 = 1;
        }
        if (contador1==0)
        {
            elementosAux.add("TIPPAP~NULL");
        }

        if(request.getParameter("DPTamPapel")!=null && request.getParameter("DPTamPapel").trim()!="")
        {
            elementosAux.add("TAMPAP~"+request.getParameter("DPTamPapel"));
            contador6 = 1;
        }
        if (contador6==0)
        {
            elementosAux.add("TAMPAP~NULL");
        }

        if(request.getParameter("DPIndicadorSoD")!=null && request.getParameter("DPIndicadorSoD").trim()!="")
        {
            elementosAux.add("INDPAR~"+request.getParameter("DPIndicadorSoD"));
            contador2 = 1;
        }
        if (contador2==0)
        {
            elementosAux.add("INDPAR~NULL");
        }

        if(request.getParameter("DPNumOptimo")!=null && request.getParameter("DPNumOptimo").trim()!="")
        {
            elementosAux.add("NUMOPTDO~"+request.getParameter("DPNumOptimo"));
            contador7 = 1;
        }
        if (contador7==0)
        {
            elementosAux.add("NUMOPTDO~NULL");
        }

        if(request.getParameter("DPCaratula")!=null && request.getParameter("DPCaratula").trim()!="")
        {
            elementosAux.add("INDCAR~"+request.getParameter("DPCaratula"));
            contador3 = 1;
        }
        if (contador3==0)
        {
            elementosAux.add("INDCAR~NULL");
        }

        if(request.getParameter("DPFormularioCaratula")!=null && request.getParameter("DPFormularioCaratula").trim()!="")
        {
            elementosAux.add("FORCAR~"+request.getParameter("DPFormularioCaratula"));
            contador8 = 1;
        }
        if (contador8==0)
        {
            elementosAux.add("FORCAR~NULL");
        }

        if(request.getParameter("DPVersCaratula")!=null && request.getParameter("DPVersCaratula").trim()!="")
        {
            elementosAux.add("VERCAR~"+request.getParameter("DPVersCaratula"));
            contador4 = 1;
        }
        if (contador4==0)
        {
            elementosAux.add("VERCAR~NULL");
        }

        if(request.getParameter("DPFinicial")!=null && request.getParameter("DPFinicial").trim()!="")
        {
                elementosAux.add("FORSEPIN~"+request.getParameter("DPFinicial"));
                contador10=1;
        }
        if (contador10==0)
        {
            elementosAux.add("FORSEPIN~NULL");
        }

        if(request.getParameter("DPVinicial")!=null && request.getParameter("DPVinicial").trim()!="")
        {
            elementosAux.add("VERSEPIN~"+request.getParameter("DPVinicial"));
            contador11=1;
        }
        if (contador11==0)
        {
            elementosAux.add("VERSEPIN~NULL");
        }

        if(request.getParameter("DPFfinal")!=null && request.getParameter("DPFfinal").trim()!="")
        {
            elementosAux.add("FORSEPFI~"+request.getParameter("DPFfinal"));
            contador12=1;
        }
        if (contador12==0)
        {
            elementosAux.add("FORSEPFI~NULL");
        }

        if(request.getParameter("DPVfinal")!=null && request.getParameter("DPVfinal").trim()!="")
        {
            elementosAux.add("VERSEPFI~"+request.getParameter("DPVfinal"));
            contador13=1;
        }
        if (contador13==0)
        {
            elementosAux.add("VERSEPFI~NULL");
        }

        if(request.getParameter("DPSpool")!=null && request.getParameter("DPSpool").trim()!="")
        {
            elementosAux.add("NUMFICSP~"+request.getParameter("DPSpool"));
            contador5 = 1;
        }
        if (contador5==0)
        {
            elementosAux.add("NUMFICSP~NULL");
        }

        if(request.getParameter("DPDescripcion")!=null && request.getParameter("DPDescripcion").trim()!="")
        {
            elementosAux.add("DESTIPPA~"+request.getParameter("DPDescripcion"));
            contador9 = 1;
        }
        if (contador9==0)
        {
            elementosAux.add("DESTIPPA~NULL");
        }

        if(request.getParameter("DPTipoTrabajo")!=null && request.getParameter("DPTipoTrabajo").trim()!="")
        {
            elementosAux.add("TIP_TRABAJO~"+request.getParameter("DPTipoTrabajo"));
            contador14 = 1;
        }
        if (contador14==0)
        {
            elementosAux.add("TIP_TRABAJO~NULL");
        }

        //Here i must work with USUARIO because when i update a register i need to put the value of the user that do that action
        String [] elementos=new String[elementosAux.size()];
        return elementosAux.toArray(elementos);
    }
}
4

3 に答える 3

3

確かに、サーブレットを呼び出すために使用する http メソッド (get、post など) に応じて、サーブレットにさまざまなことをさせることができますが、それはすぐに混乱を招きます。必要に応じて、両方の方法に親切に対応してください。

できないことは、サーバーからクライアントに戻り、単一の要求のコンテキスト内でサーブレットに戻ることです。

それでも混乱が明確にならない場合は、サーブレットと http 通信全般についてもう少し読む必要があります。

于 2013-06-21T12:15:18.023 に答える
0

var を jsp に渡すことにしました。

              protected void doGet(HttpServletRequest request, HttpServletResponse response)         throws ServletException, IOException 
{
    String usuario = request.getParameter("usuario");
    JOptionPane.showMessageDialog( null, "El usuario que usa esto es " + usuario );

    request.setAttribute("usuario",usuario);
    RequestDispatcher rd=request.getRequestDispatcher("/jsp/PantallasGestion/tipoPapel.jsp");
    rd.forward(request,response);
}

次に、jsp で、戻り値がサーブレットの POST メソッドを呼び出す EXTjs を呼び出します。jsp から js(EXTJS) に 1 つの値を渡す方法がわからないという問題しかありません... EXTjs を直接呼び出して jsp を使用しない可能性はありますか?

于 2013-06-24T10:53:23.440 に答える