补充一下,String st=(String)request.getAttribute("validate");中的request是Action中
方法exectue()中的参数HttpRequest request!request.setAttribute("validate",s);中的request是JSP自定义的内置对象!我试了一下,发现(String)request.getAttribute("validate");获取的值是null,无法获得日而request.setAttribute("validate",s);的值S!

解决方案 »

  1.   

    验证页面request.setAttribute("validate",s),这里的s你确定有值么?输出这个s看看值对不对.
      

  2.   

    "s"有值啊,应为我在后面的<%request.setAttribute("validate",s);
    out.print(s);%>的功能在JSP页面都实现出来了~~~~~~~
      

  3.   

    你想的想法错了啦....
    首先是这样的
    别人向服务器发送一个请求,这时候你产生了.随机,放在request里了,然后客户就看到了要输入验证码的页面,这个时候,服务器上的request已经不存在了啦....
    所以当用户输入验证码后再点提交的话,这时候又产生了一个新的request了,从request里取你的东东已经没办法再取到了.
      

  4.   

    现在假设A.JSP是用户输入,提交到B.jsp去验证a.jsp<%
      String str="aaaa";//产生随机数
      request.setA....("fff",str);
    %>
    <form action="b.jsp">
    <intput type="hidden" name="str" value="<%=request.getAtt...("fff")%>">
    请输入验证码:<font color="red"><%=request.getAtt....("ffff")%></font>
    <input type="text" name="aa">
    <input type="submit">
    </form>b.jsp
    <%
        String str = request.getParameter("str");//取得上面产生的随机数
        String aa =  reqest.getParameter("aa");//取得用户输入的随机数
        然后就进行比较
    %>