发帖前我已经在论坛搜索“防止jsp地址栏显示变量”及“jsp地址栏显示变量”,无法解决问题。现发帖请教:
我做了一个登录页面a.jsp,在没有输入用户名和密码的情况下点击“登录”按钮,页面就会跳转到预设的出错信息页面b.jsp,但发现在地址栏出现a.jsp页面的变量,这样“http://localhost/login_bak.jsp?staff_id=&staff_psw=&c_login=%B5%C7+%C2%BC”,感觉很不好,请教:何做才能“防止jsp地址栏显示变量”

解决方案 »

  1.   

    form post方式就不显示了。
      

  2.   

    两种方法:
    1.post方式提交
    2.重定向
      

  3.   

    你转发给谁呀?转发后地址还是不变的啊
    直接重定向到错误页面不就好了
    或者重定向到登陆页面另一做法是使用POST提交,转发给登陆页面
      

  4.   

    建议LZ做URL重写、
    操作很简单的,只需要写一个配置文件,配置正则表达式,也就是你要重定向的URL
    然后在web.xml里面声明一下
      

  5.   

    首先很感谢大家的不吝帮助,我觉得6楼也许理解了我说的,但是不够详细,我没有理解他说的。也许我说的还不够清楚,我贴代码吧,也许会清楚些:
    在页面a.jsp有以下代码:
    <%
    String User_id="";
    String User_psw="";
    if(request.getParameter("c_login")!=null)
    {
      User_id=request.getParameter("staff_id");
      User_psw=request.getParameter("staff_psw");
      if(User_id!=""&&User_psw!="")
     {
      login.id=User_id;
      login.psw=User_psw;
      }
      else
      {
       RequestDispatcher rd = request.getRequestDispatcher("b.jsp");
       rd.forward(request,response);
      }
    }
    %>于是:在没有输入用户名和密码的情况下点击“登录”按钮,页面就会跳转到预设的出错信息页面b.jsp,但发现在地址栏出现a.jsp页面的变量,这样“http://localhost/login_bak.jsp?staff_id=&staff_psw=&c_login=%B5%C7+%C2%BC”,感觉很不好,请教:何做才能“防止jsp地址栏显示变量”?