скрыть данные в URL-адресе с помощью сервлета

Я хочу скрыть данные URL-адреса от пользователя с помощью сервлета, но я не получил никакого решения. Пожалуйста, кто-нибудь решит эту проблему.

Здесь я использую три файла.

Сначала я вызываю сервлет, используя java-скрипт в файле jsp. Вот код javascript:

отчеты_arb.jsp:

<html>
...
<script>
 ....
 ..

function generateReport(){
if(role=="dg")
{ 

    var depts=win.depts.value;

    var usercode=win.users.options[win.users.selectedIndex].value;

    if(usercode=="0")
    {

        return false;
    }

}
else if(role=="depthead")
{ 

    var usercode=win.users.options[win.users.selectedIndex].value;

    if(usercode=="0")
    {

        return false;
    }

}else if(role=="us"){

    var dg=win.dg.value;

    var depts=win.depts.value;

    var usercode=win.users.options[win.users.selectedIndex].value;

    if(usercode=="0")
    {

        return false;
    }


}
else
{alert("user");

    var usercode=win.logusers.value;
    alert(usercode);

}


    url="RedirectServlet?&FD="+FD+"&TD="+TD+"&actionid="+status+"&usercode="+usercode+"&action=reports"+"";
    window.open(url, '_blank',   'toolbar=no,menubar=no,width=300,height=400,resizable=no,scrollbars=no');


    return true;
 }
 }
 </script>
....
...
...
..

 <button style="width: 135px; height: 25px;cursor:hand;" onClick="generatereport();">
.....

</html>

Во-вторых, я получаю значения, которые передаются в URL-адресе в сервлет:

RedirectServlet.java

               //Getting values from Reports_arb.jsp

        String Fromdate=request.getParameter("FD");
        String Todate=request.getParameter("TD");
        String status=request.getParameter("actionid");
        String usercode=request.getParameter("usercode");

        //placing given values in a session 

        request.setAttribute("FD", Fromdate);
        request.setAttribute("TD", Todate);
        request.setAttribute("actionid", status);
        request.setAttribute("usercode", usercode);


        //Redirecting to showReport_arb.jsp
        //response.sendRedirect("showReport_arb.jsp");

        request.getRequestDispatcher("showReport_arb.jsp").forward(request,     response);

в-третьих, я получаю вышеуказанные значения в jsp:

showReport_arb.jsp:

 String FD=request.getAttribute("FD").toString();
 String dtArray[]=FD.split("-");
 FD=dtArray[1]+"-"+dtArray[0]+"-"+dtArray[2];
  / /System.out.println("FD is---"+FD);
 String TD=request.getAttribute("TD").toString();
 String dtArray1[]=TD.split("-");
 TD=dtArray1[1]+"-"+dtArray1[0]+"-"+dtArray1[2];
//int actionto=Integer.parseInt(request.getAttribute("actionto"));
 int actionid=Integer.parseInt(request.getAttribute("actionid").toString());
  int usercode=Integer.parseInt(request.getAttribute("usercode").toString());

person vagga ravi    schedule 29.05.2013    source источник
comment
stackoverflow.com/questions/133925 /   -  person Amit    schedule 29.05.2013


Ответы (1)


попробуйте использовать POST в форме вместо GET

<form  method="post" ...>

и переопределить doPost() в классе сервлета

person PSR    schedule 29.05.2013
comment
Спасибо за ваш быстрый ответ. Я уже пробовал с сообщением, но он не работает нормально. Не могли бы вы предложить еще несколько решений - person vagga ravi; 29.05.2013
comment
Что вы получаете, если используете post - person PSR; 29.05.2013
comment
HTTP-метод @PSR GET не поддерживается этим URL-адресом. iam вызывает сервлет с использованием URL-адреса javascript, а затем напрямую вызывает метод doGet. Если я пишу doPost (), он дает указанную выше ошибку. - person vagga ravi; 29.05.2013
comment
@vaggaravi Вы внедрили doPost() в свой сервлет? - person Alexandre Lavoie; 29.05.2013
comment
@AlexandreLavoie да, я реализовал только doPost - person vagga ravi; 29.05.2013
comment
@vaggaravi с какой проблемой ты столкнулся - person PSR; 29.05.2013
comment
@vaggaravi stackoverflow.com/questions/3577414/ Я предлагаю вам перестроить/повторно развернуть свое приложение ИЛИ вы не реализовали doPost... - person Alexandre Lavoie; 29.05.2013
comment
в приведенном выше коде я использовал doPost() и перенаправлял данные (FD, TD, код пользователя....) на showreports_arb.jsp из RedirectServlet, но я получаю HTTP-метод GET не поддерживается этим URL-адресом - person vagga ravi; 29.05.2013
comment
я думаю, вы можете установить метод для публикации - person PSR; 29.05.2013
comment
@PSR только что обновил приведенный выше код, пожалуйста, проверьте его один раз и пришлите мне ответ. - person vagga ravi; 29.05.2013