1

SID (セッション ID) を持たないように Cookie を使用しています。次の方法を使用して Cookie を設定し、示されているように jsp ファイルで取得しようとしましたが、機能しません。HelloSESSIONID が表示されるだけです。

ジャワ

public class Users {

 public void setcookie(){
      Cookie user = new Cookie("User","Miro");
      user.setMaxAge(60*60);
 }

JSP

<%@ page language="java"%>
<% Cookie cookies[] = request.getCookies(); 

           for (int i=0; i<cookies.length; i++) 
       {

        out.println("Hello"+cookies[i].getName()+ "> ");
       }
            %>
4

3 に答える 3

2
Cookie user = new Cookie("User","Miro");
user.setMaxAge(60*60);

Cookie も送信する必要があります。

response.addCookie(user);
于 2013-07-18T04:03:42.867 に答える
2

Struts 2 で Cookie を使用する例を次に示します。

public class MyAction extends ActionSupport implements ServletResponseAware, ServletRequestAware {

      public int division;

      public String execute() {

        // Load from cookie
        for(Cookie c : servletRequest.getCookies()) {
          if (c.getName().equals("cookieDivision"))
            division=Integer.parseInt(c.getValue());
        }

        // Save to cookie
        Cookie div = new Cookie("cookieDivision", String.format("%d",division));
        div.setMaxAge(60*60*24*365); // Make the cookie last a year
        servletResponse.addCookie(div);

        return "success";
      }

      // For access to the raw servlet request / response, eg for cookies
      protected HttpServletResponse servletResponse;
      @Override
      public void setServletResponse(HttpServletResponse servletResponse) {
        this.servletResponse = servletResponse;
      }

      protected HttpServletRequest servletRequest;
      @Override
      public void setServletRequest(HttpServletRequest servletRequest) {
        this.servletRequest = servletRequest;
      }
    }
于 2013-07-18T06:51:40.393 に答える