Use lang.ss

svn: r6281
This commit is contained in:
Jay McCarthy 2007-05-24 21:16:08 +00:00
parent 2f676a3df7
commit a41797dacd
10 changed files with 42 additions and 43 deletions

View File

@ -1,10 +1,10 @@
(module add01 mzscheme (module add01 mzscheme
(require (lib "session.ss" "web-server" "prototype-web-server") (require (lib "session.ss" "web-server" "prototype-web-server")
(lib "request.ss" "web-server" "private")
(lib "request-structs.ss" "web-server") (lib "request-structs.ss" "web-server")
(lib "url.ss" "net")) (lib "url.ss" "net"))
(provide start)
(define (dispatch req) (define (start req)
(let* ([uri (request-uri req)] (let* ([uri (request-uri req)]
[qry (url-query uri)]) [qry (url-query uri)])
(cond (cond
@ -35,8 +35,4 @@
[method "get"] [enctype "application/x-www-form-urlencoded"]) [method "get"] [enctype "application/x-www-form-urlencoded"])
"Enter the first number to add: " "Enter the first number to add: "
(input ([type "text"] [name "first"] [value ""])) (input ([type "text"] [name "first"] [value ""]))
(input ([type "submit"] [name "enter"] [value "Enter"])))))]))) (input ([type "submit"] [name "enter"] [value "Enter"])))))]))))
(start-session dispatch))

View File

@ -1,13 +1,15 @@
(module add02 (lib "web-interaction.ss" "web-server" "prototype-web-server") (module add02 (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net") (require (lib "url.ss" "net")
(lib "request.ss" "web-server" "private")
(lib "request-structs.ss" "web-server")) (lib "request-structs.ss" "web-server"))
(provide start)
;; XXX This demonstrates that if we hide the K in a query, it will be overridden.
;; get-number-from-user: string -> number ;; get-number-from-user: string -> number
;; ask the user for a number ;; ask the user for a number
(define (gn msg) (define (gn msg)
(let ([req (let ([req
(send/suspend (send/suspend/url
(lambda (k-url) (lambda (k-url)
`(hmtl (head (title ,(format "Get ~a number" msg))) `(hmtl (head (title ,(format "Get ~a number" msg)))
(body (body
@ -20,7 +22,7 @@
(string->number (string->number
(cdr (assoc 'number (url-query (request-uri req))))))) (cdr (assoc 'number (url-query (request-uri req)))))))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Final Page") (h1 "Final Page")

View File

@ -1,7 +1,7 @@
(module add03 (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module add03 (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net") (require (lib "url.ss" "net")
(lib "servlet-helpers.ss" "web-server" "private") (lib "servlet-helpers.ss" "web-server" "private"))
(lib "request-structs.ss" "web-server")) (provide start)
;; get-number-from-user: string -> number ;; get-number-from-user: string -> number
;; ask the user for a number ;; ask the user for a number
@ -23,7 +23,7 @@
'number 'number
(request-bindings req))))) (request-bindings req)))))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Final Page") (h1 "Final Page")

View File

@ -1,6 +1,7 @@
(module add04 (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module add04 (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net") (require (lib "url.ss" "net")
(lib "servlet-helpers.ss" "web-server" "private")) (lib "servlet-helpers.ss" "web-server" "private"))
(provide start)
;; get-number-from-user: string -> number ;; get-number-from-user: string -> number
;; ask the user for a number ;; ask the user for a number
@ -21,7 +22,7 @@
'number 'number
(request-bindings req))))) (request-bindings req)))))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Final Page") (h1 "Final Page")

View File

@ -1,6 +1,7 @@
(module add05 (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module add05 (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net") (require (lib "url.ss" "net")
(lib "servlet-helpers.ss" "web-server" "private")) (lib "servlet-helpers.ss" "web-server" "private"))
(provide start)
;; get-number-from-user: string -> number ;; get-number-from-user: string -> number
;; ask the user for a number ;; ask the user for a number
@ -24,7 +25,7 @@
(input ([type "text"] [name "number"] [value ""])) (input ([type "text"] [name "number"] [value ""]))
(input ([type "submit"]))))))))) (input ([type "submit"])))))))))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Final Page") (h1 "Final Page")

View File

@ -1,16 +1,16 @@
(module check-dir (lib "web-interaction.ss" "web-server" "prototype-web-server") (module check-dir (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net")) (require (lib "url.ss" "net"))
(provide start)
(define (directory-page n) (define (directory-page n)
(let ([throw-away (send/suspend/url
(send/suspend (lambda (k-url)
(lambda (k-url) `(html (head (title ,(format "Page ~a" n)))
`(html (head (title ,(format "Page ~a" n))) (body
(body (h1 ,(format "Page ~a" n))
(h1 ,(format "Page ~a" n)) (h2 ,(format "The current directory: ~a" (current-directory)))
(h2 ,(format "The current directory: ~a" (current-directory))) (p "Click " (a ([href ,(url->string k-url)]) "here") " to continue.")))))
(p "Click " (a ([href ,(url->string k-url)]) "here") " to continue.")))))]) (directory-page (add1 n)))
(directory-page (add1 n))))
(let ([req0 (start-servlet)]) (define (start initial-request)
(directory-page 1))) (directory-page 1)))

View File

@ -82,5 +82,4 @@
"love" "love"
"angular momentum" "angular momentum"
"sex") "sex")
0) 0))))
)))

View File

@ -1,7 +1,7 @@
(module quiz01 (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module quiz01 (lib "lang.ss" "web-server" "prototype-web-server")
(require "quiz-lib.ss" (require "quiz-lib.ss"
(lib "url.ss" "net")
(lib "servlet-helpers.ss" "web-server" "private")) (lib "servlet-helpers.ss" "web-server" "private"))
(provide start)
;; get-answer: mc-question -> number ;; get-answer: mc-question -> number
;; get an answer for a multiple choice question ;; get an answer for a multiple choice question
@ -35,12 +35,11 @@
(add1 (tally-results (cdr mc-qs) (cdr answs)))] (add1 (tally-results (cdr mc-qs) (cdr answs)))]
[else (tally-results (cdr mc-qs) (cdr answs))])) [else (tally-results (cdr mc-qs) (cdr answs))]))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Quiz Results") (h1 "Quiz Results")
(p ,(format "You got ~a correct out of ~a questions." (p ,(format "You got ~a correct out of ~a questions."
(tally-results quiz (get-answers quiz)) (tally-results quiz (get-answers quiz))
(length quiz))) (length quiz)))
(p "Thank you for taking the quiz")))) (p "Thank you for taking the quiz")))))
)

View File

@ -1,6 +1,7 @@
(module quiz02 (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module quiz02 (lib "lang.ss" "web-server" "prototype-web-server")
(require "quiz-lib.ss" (require "quiz-lib.ss"
(lib "servlet-helpers.ss" "web-server" "private")) (lib "servlet-helpers.ss" "web-server" "private"))
(provide start)
;; get-answer: mc-question -> number ;; get-answer: mc-question -> number
;; get an answer for a multiple choice question ;; get an answer for a multiple choice question
@ -34,12 +35,11 @@
(add1 (tally-results (cdr mc-qs) (cdr answs)))] (add1 (tally-results (cdr mc-qs) (cdr answs)))]
[else (tally-results (cdr mc-qs) (cdr answs))])) [else (tally-results (cdr mc-qs) (cdr answs))]))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "Final Page")) `(html (head (title "Final Page"))
(body (body
(h1 "Quiz Results") (h1 "Quiz Results")
(p ,(format "You got ~a correct out of ~a questions." (p ,(format "You got ~a correct out of ~a questions."
(tally-results quiz (get-answers (lambda () quiz))) (tally-results quiz (get-answers (lambda () quiz)))
(length quiz))) (length quiz)))
(p "Thank you for taking the quiz")))) (p "Thank you for taking the quiz")))))
)

View File

@ -1,6 +1,7 @@
(module toobig (lib "persistent-web-interaction.ss" "web-server" "prototype-web-server") (module toobig (lib "lang.ss" "web-server" "prototype-web-server")
(require (lib "url.ss" "net") (require (lib "url.ss" "net")
(lib "servlet-helpers.ss" "web-server" "private")) (lib "servlet-helpers.ss" "web-server" "private"))
(provide start)
(define (get-n) (define (get-n)
(let ([req (let ([req
@ -31,7 +32,7 @@
(a ([href ,(url->string k-url)]) "OK!")))))]) (a ([href ,(url->string k-url)]) "OK!")))))])
the-bytes)) the-bytes))
(let ([initial-request (start-servlet)]) (define (start initial-request)
`(html (head (title "You got here!")) `(html (head (title "You got here!"))
(body (body
(h1 ,(bytes->string/utf-8 (get-bytes))))))) (h1 ,(bytes->string/utf-8 (get-bytes)))))))