Ich versuche, den URL-Versand mit Racket (früher PLT-Schema) zu verbinden. Ich habe mir das Tutorial und die Serverdokumentation angesehen. Ich kann nicht herausfinden, wie Anfragen an dieselben Servlets weitergeleitet werden.Racket-URL-Versand
Konkretes Beispiel:
#lang scheme (require web-server/servlet) (require web-server/dispatch) (provide/contract (start (request? . -> . response/c))) (define (start request) (blog-dispatch request)) (define-values (blog-dispatch blog-url) (dispatch-rules (("") list-posts) (("posts" (string-arg)) review-post) (("archive" (integer-arg) (integer-arg)) review-archive) (else list-posts))) (define (list-posts req) `(list-posts)) (define (review-post req p) `(review-post ,p)) (define (review-archive req y m) `(review-archive ,y ,m)) (require web-server/servlet-env) (serve/servlet start #:launch-browser? #t #:quit? #f #:listen-ip #f #:port 8080 #:extra-files-paths (list (build-path "js") (build-path "css")) #:servlet-path "")
den obigen Code Unter der Annahme, geht localhost:8080/
auf einer Seite, die "Liste-Beiträge" sagt. Gehe zu localhost:8080/posts/test
geht zu einer Racket "Datei nicht gefunden" -Seite (ich würde erwarten, dass es auf eine Seite geht, die sagt "Review-Post-Test").
Es fühlt sich an, als ob ich etwas Kleines und Offensichtliches vermisse. Kann mir jemand einen Hinweis geben?
Yup. Mir fehlte der Servlet-Regexp-Parameter. Wie ich vermutete; etwas Kleines und Offensichtliches. Danke, dass du mir geholfen hast. – Inaimathi
Gepostetes vollständiges nicht arbeitendes Programm in OP. – Inaimathi