去搜索一下多的是
http://www.csdn.net/expert/topic/271/271790.shtm

解决方案 »

  1.   

    to icystone
       doli(大夫)提供的语句是<meta http-equiv='refresh' content='1;url=test.jsp'>
       method="post" 是否应该添在上面代码的中间呀?
       是<meta http-equiv='refresh' method="post" content='1;url=test.jsp'>这样子吗?
      

  2.   

    "post"要放在form标签中:<form name="form1" method="post" action="">
      

  3.   

    to haichuang(不戒和尚)
    我一直是这么用的呀,和这个应该是没关系的吧。
      

  4.   

    to haichuang(不戒和尚)
    和尚,你到是说句话呀!
      

  5.   

    只是FORM的GET和POST方法的区别而已。
      

  6.   

    to RedFire(丹焰)
    我改成get还是没用。
      

  7.   

    用<jsp:farword page="xxxx.xxx"/>就OK了!
      

  8.   

    to hccpro(hcc)
    这个方法我以前用过了,不行的。会出现如下错误:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 客户端的工作过多。 
      

  9.   

    请问你的提交方式是submit吗?
      

  10.   

    是啊,我在Onclick事件中判断数据的可行性,然后再提交的,代码如下:
    <SCRIPT Language=javascript>
    <!--
    function Checkdata()
    {
     if (form1.id.value=="")
     {
      window.alert("操作员名称不得为空!");
      form1.elements(0).focus();
     }
     else if(form1.pd.value=="")
     {
      window.alert("请填写操作员口令!");
      form1.elements(1).focus();
     }
     else
     {
      form1.submit();
     }
    }
    -->
    </SCRIPT>
      

  11.   

    可我是用POST的呀。
    <form action="index.jsp" method="post" name=form1>
      

  12.   

     甘奇怪!用什么web server啊 
      

  13.   

    <%@ page contentType="text/html; charset=GB2312" %>
    <%@ page import="java.sql.*" %>
    <%@ page language="java" %>
    <HTML>
    <HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <SCRIPT Language=javascript>
    <!--
    function Checkdata()
    {
     if (form1.id.value=="")
     {
      window.alert("操作员名称不得为空!");
      form1.elements(0).focus();
     }
     else if(form1.pd.value=="")
     {
      window.alert("请填写操作员口令!");
      form1.elements(1).focus();
     }
     else
     {
      form1.submit();
     }
    }
    -->
    </SCRIPT><CENTER>
    <BR>
    <BR>
    <BR>
    <FONT SIZE = 5 COLOR = blue>操作人员身份验证</FONT>
    </CENTER>
    <BR>
    <HR>
    <BR>
    <CENTER>
    <form action="index.jsp" method="post" name=form1>
    <TABLE  bgcolor=pink>
      <TR bgcolor=yellow>
          <TD><B>操作员名称:</B></TD><TD><input type="text" maxlength=10 name="id"></TD>
      </TR>
      
      <TR bgcolor=yellow>
          <TD><B>操作员口令:</B></TD><TD><input type="password" maxlength=8 name="pd" ></TD>
      </TR>
    </TABLE>
    <BR>
    <input type="button" value="登 录" name="B1" OnClick='Checkdata()'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    <input type="reset" value="复 位" name="B2" OnClick='Resetdata()'>
    </form>
    </CENTER><%
    if ((request.getParameter("id")!="") && (request.getParameter("pd")!="") && (request.getParameter("id")!=null) && (request.getParameter("pd")!=null))
    {
     try
     {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection con = DriverManager.getConnection("jdbc:odbc:disk");
      Statement stmt = con.createStatement(); 
      ResultSet rs;  String query = "SELECT * FROM user where user_id = " +"'"+ request.getParameter("id") +"'" + " and user_pd = " +"'"+ request.getParameter("pd") +"'";
      
      rs = stmt.executeQuery(query);
      if (!rs.next())
      {
    %>
      
       <SCRIPT Language=javascript>
       <!--
       window.alert("帐号或口令不正确,请重新登录。");
       form1.elements(0).focus();
       -->
       </SCRIPT><% 
      }
      else 
      {
    %>
      <jsp:forward page="host.jsp"/>
    <%
      }
    rs.close();
    stmt.close();
    con.close();
     }
     catch(Exception e)
     {
      out.println(e);
     }
    }
    %></BODY>
    </HTML>就是当第一次密码输错以后,再进行刷新时,它也会出现登陆口令不正确的提示,且地址栏上会出现上一次登陆时填入的错误信息。不知道有什么办法解决。
      

  14.   

    另外<input type="reset" value="复 位" name="B2" OnClick='Resetdata()'>
    应改为<input type="reset" value="复 位" name="B2" >
      

  15.   

    做登录页面为什么要这样写呢?这样写就算是没有问题的话也是不可取的。
    就算我知道我也不会告诉你的,因为你的思路就不正确。
    JSP就是显示页面有关的东东嘛,处理提交应该是SERVLET的事,你非要交给什么JSP来做,当然它会多少闹些脾气的,因为你的JSP里JAVA代码太多了。这样是不符合三层结构或者MVC的模式的。你自己好好想想吧,我就说到这,有问题找我
    OICQ:22839505
    E-mail:[email protected]
      

  16.   

    其实用window.open(…………)是可以解决这个问题的,可这个是另了一个窗口,而不是在原窗口重新载入。
      

  17.   

    你用window.open重新开了一个窗口之后,
    让原来的窗口自动关掉不就可以啦!
      

  18.   

    用一个Session状态参数,如果状态参数为false,则登陆代码就要执行。如为true ,就跳过登陆,直接转到本页面。现提供思想,如有必要,请说话。我可以给你的代码!但要提醒你的是,你的这种构思不太好!
      

  19.   

    to songzhi
    我知道这种确实不太好,不过还希望你能提供源代码让我看一下,你可以贴出来,也可以发到我的邮箱[email protected]
      

  20.   

    给你点代码供你参考,如有不对,请指出:<%
       request.getSession(true);
       String user=request.getParameter("user");
       String password=request.getParameter("password");
       String flag=(String)session.getValue("flag");
       if(flag==null){
          flag="";
       } 
      
       //登陆成功
       if(flag.equals("true")){
          out.println("你已经登陆成功了");
       }
       
       //未登陆
       else{
         if(user!=""&&user!=null){
            //登陆验证
            if(user.equals("songshi")&&password.equals("1234567")){
               
               out.println("登陆失败");
             }
             else{
               session.putValue("flag","true");
               response.sendRedirect("/disk/index.jsp");
             }
             
         }
         else{
            out.print("请先登陆");
            //登陆表单.......
         }
       }
       
    %>
    另外,据我所知,用post传递参数并不在地址栏内显示参数,你是不是再试一下?
    还有,用隐含表单传递参数也是好办法嘛!为什么一定要这样用呢?