2011/3/10 Doug Orleans <[email protected]>: > When I try to run this simple servlet: > > #lang web-server > > (require web-server/servlet)
This line requires the STATEFUL send/suspend/dispatch, replace it with (require web-server/http/xexpr) to get response/xexpr and it should do what you think. Stateless servlets can use managers for two-state continuations though. Jay > (provide interface-version start) > (define interface-version 'stateless) > > (define (start request) > (send/suspend/dispatch > (lambda (k-url) > (response/xexpr > `(html (body (a ((href ,(k-url start))) "Hello!"))))))) > > I get this (very unhelpful) error in the browser: > > Exception > > The application raised an exception with the message: > > No instance for id: 0 > > Stack trace: > > continuation-store! at: > line 31, column 2, in file > /usr/racket/collects/web-server/managers/none.rkt > <unknown procedure> at: > line 88, column 5, in file /usr/racket/collects/web-server/servlet/web.rkt > > > <unknown procedure> at: > line 129, column 19, in file > /usr/racket/collects/web-server/servlet/web.rkt > <unknown procedure> at: > line 122, column 10, in file > /usr/racket/collects/web-server/servlet/web.rkt > > > send/suspend/dispatch at: > line 116, column 0, in file > /usr/racket/collects/web-server/servlet/web.rkt > <unknown procedure> at: > line 58, column 2, in file > /usr/racket/collects/web-server/dispatchers/dispatch-servlets.rkt > > > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > > > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > > > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > select-handler/no-breaks at: > line 164, column 2, in file > /usr/racket/collects/racket/private/more-scheme.rkt > > > connection-loop at: > line 74, column 2, in file > /usr/racket/collects/web-server/private/dispatch-server-unit.rkt > > Do I need to define a continuation manager? I thought that stateless > servlets didn't need them, since continuations were "managed" by the > client. Or maybe I don't understand what "stateless" means here? > > [email protected] > > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users > -- Jay McCarthy <[email protected]> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

