Tôi đang cố gắng kết nối công văn URL với Racket (trước đây là PLT Scheme). Tôi đã xem hướng dẫn và tài liệu máy chủ. Tôi không thể tìm ra cách để định tuyến các yêu cầu tới cùng một servlet.Gửi URL bằng vợt
Ví dụ cụ thể:
#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 "")
Giả sử các mã trên, localhost:8080/
đi vào một trang nói rằng "list-viết". Đi tới localhost:8080/posts/test
chuyển đến trang Racket "không tìm thấy tệp" (tôi hy vọng nó sẽ chuyển đến trang có nội dung "kiểm tra bài đăng").
Có vẻ như tôi thiếu một thứ gì đó nhỏ và rõ ràng. Bất cứ ai có thể cho tôi một gợi ý?
Yup. Tôi đã thiếu tham số servlet-regexp. Như tôi nghi ngờ; một cái gì đó nhỏ và rõ ràng. Cảm ơn vì đã giúp tôi. – Inaimathi
Đã đăng chương trình không hoạt động hoàn chỉnh trong OP. – Inaimathi