如题
继承TagSupport后 能通过pageContext.getRequest()得到javax.servlet.ServletRequest
但是得不到HttpServletRequest 
求解答

解决方案 »

  1.   

    (HttpServletRequest)pageContext.getRequest()
      

  2.   

    javax.servlet 
    Interface ServletRequest
    All Known Subinterfaces: 
    HttpServletRequest 
    父子关系呢
      

  3.   


    <% 
    String cookieName="LQQ"; 
    Cookie cookie=new Cookie(cookieName, "Test_Content"); 
    cookie.setMaxAge(10000000);  
    response.addCookie(cookie); 
    %>

    <%
    Cookie cookies[]=request.getCookies(); 
    Cookie sCookie=null; 
    String svalue=null; 
    String sname=null;  
    for(int i=0;i<cookies.length;i++){ 
    sCookie=cookies[i]; 
    svalue=sCookie.getValue(); 
    sname=sCookie.getName(); 
     
    out.write("name:["+sname + "] value:["+svalue + "]");

    %>这样为什么读不了上面写入的Cookie??我确定浏览器没有禁用Coolie
      

  4.   

    Cookie cookie=new Cookie("cookieName", "Test_Content");
      

  5.   


    你是在同一段代码里面写的?这个当然得不到了。
    Cookie的工作原理是,服务器在http响应(所以添加cookie实在response中)的Header中添加诸如
    Set-Cookie: LQQ=Test_Content
    的内容,当然具体格式还要根据复杂,包括cookie的所属域名,路径,过期时间等。当客户端接收到这个响应以后,在后续发出的请求中(所以读cookie实在request中)如果符合之前的条件(请求对应的域名,路径,当前时间是否过期等),会附带如下的Header
    Cookie: LQQ=Test_Content此时,服务器接收到的request.getCookies()才会有相应的内容。你这个理,要么先访问一个页面,在其中设置cookie,然后才访问你要读取cookie的页面。
    另一种可能,你就是要在同一个请求的不同处理模块中,设置参数,且仅对这次请求有总用,那么就是用request.setAttribute
      

  6.   

    楼上正解,你都在同一个servlet上,这头add了,那头浏览器那头还没收到呢。