BBjCookie::setPath

Description

In BBj 12.00 and higher, this method sets the path for the cookie to which the client should return the BBjCookie.

The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's sub-directories. A cookie's path must include the servlet that set the cookie, for example, /catalog, which makes the cookie visible to all directories on the server under /catalog.

Consult RFC 2109 (available on the Internet) for more information on setting path names for cookies.

Syntax

Return Value Method
void setPath(string uri)

Parameters

Parameter Description
uri A String specifying a path.

Return Value

None.

Example

CLASS PUBLIC CookieSettingExampleServlet 
    method public void service(BBxServletContext context!) 
       
        request! = context!.getRequest()
        response! = context!.getResponse()
        session! = request!.getSession()

        s! = response!.getOutputStream()
        
REM     Initialize the settings going into the cookie        
        domain! = request!.getServerName()
        maxAge! = 1000
        path! = request!.getRequestURI()
        isSecure! = request!.isSecure()
        value! = "Example Value"
        comment! = "This is an example cookie"
        
REM     Create the cookie
        cookie! = response!.createCookie("SampleCookie")
        cookie!.setDomain(domain!)
        cookie!.setMaxAge(maxAge!)
        cookie!.setPath(path!)
        cookie!.setSecure(isSecure!)
        cookie!.setHttpOnly(!isSecure!)
        cookie!.setValue(value!)
        cookie!.setComment(comment!)
        
REM     Add cookie to response to be set on client        
        response!.addCookie(cookie!)
        
        
        s!.write("<html><body>")
        s!.write("<h1>The following cookie was successfully added</h1>")
        s!.write("The BBjCookie '" + cookie!.getName() + "' ")
        s!.write("has the value '" + cookie!.getValue() + "' ")
        
        domain! = cookie!.getDomain()
        IF domain! = NULL() THEN
            domain! = "null"
        ENDIF
        
        path! = cookie!.getPath()
        IF path! = NULL() THEN
            path! = "null"
        ENDIF
        
        s!.write("for the domain " + domain! + " ")
        s!.write("at path " + path! + " ")
        s!.write("will expire in " + Integer.toString(cookie!.getMaxAge()) + " seconds ")
        
        IF cookie!.getSecure() THEN
            s!.write(" for HTTPS protocol ")
        ENDIF

        IF cookie!.isHttpOnly() THEN
            s!.write(" only for HTTP protocol ")
        ENDIF
        
        s!.write("is version " + Integer.toString(cookie!.getVersion()) + " ")
        
        IF cookie!.getComment() <> NULL() THEN
            s!.write("comment '" + cookie!.getComment() + "' ")
        ENDIF
        s!.write("</body></html>")
    METHODEND
CLASSEND

See Also

BBjAPI

BBxServletContext

BBxServletResponse

BBxServletRequest

BBjCookie