球拍 URL 调度

2024-01-02

我正在尝试将 URL 调度与 Racket(以前称为 PLT 方案)连接起来。我已经查看了教程和服务器文档。我不知道如何将请求路由到相同的 servlet。

具体例子:



#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 "")  

假设上面的代码,localhost:8080/转到显示“list-posts”的页面。即将localhost:8080/posts/test进入 Racket“未找到文件”页面(我希望它进入显示“审查后测试”的页面)。

感觉就像我错过了一些小而明显的东西。谁能给我提示吗?


你写的不是一个完整的程序,所以我无法调试它。

这是一个带有注释的程序,可以执行您想要的操作,可能是:

#lang scheme ; specify the right language
; include the correct libraries
(require web-server/servlet
         ; this one gets "serve/servlet"
         web-server/servlet-env)

(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))

; starts a web server where...
(serve/servlet start ; answers requests
               #:servlet-path "" ; is the default URL
               #:port 8080 ; is the port
               #:servlet-regexp #rx"") ; is a regexp decide
                                       ; if 'start' should
                                       ; handle the request

因为功能list-posts, review-post, and review-archive不返回 HTML 的合理 xexpr 编码,您必须查看源代码才能正确看到它们。

请随时直接给我发电子邮件或向 PLT 方案邮件列表发送电子邮件。 (注意:我们将 PLT 方案重命名为“Racket”,以便您在发帖时可以看到它。)

杰·麦卡锡

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

球拍 URL 调度 的相关文章

  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • 无法启动“webServerStartStop”春季启动应用程序

    尝试运行我的应用程序后 此处存在主类 SpringBootApplication public class RappersInfo public static void main String args SpringApplication
  • 如何获取 SICP、Scheme、练习 2.78 等中的 put 和 get 函数

    我正在尝试在 SICP 中做练习 2 78 但 put 和 get 函数未知 我尝试过多种语言 比如相当大 racket r5rs mit scheme mzscheme等 我什至下载了SICP支持 http www neilvandyke
  • 方案功能[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图解释这个方案函数的作用 define y s lis cond null lis equal s car lis lis else
  • 大括号 {} 替换 Racket 中的“开始”

    是否可以有一个宏 使用大括号 来表示一个语句块 从而替换 begin 关键字 因此 代替 if condition begin statement1 statement2 statement3 statement4 else stateme
  • TYPO3 9.5 URL 路由与 URL 段不起作用

    我对 Typo3 不太有经验 所以我希望我的问题 问题是一个非常简单的问题 我在 Ubuntu 上使用 Typo3 9 5 0 LTS instanz 以及 Apache 和 MySQL 问题是 URLS 路由 https typo3 or
  • React-Router v4 渲染错误的组件但匹配正确

    我有一个带有两个按钮的侧边栏 测试 和 关于 Test 火箭图标 呈现在 test 处 About 主页图标 呈现在 处 它们都位于应用程序的根目录并嵌套在组件内 当我从 开始并单击 链接到 test 时 它总是加载 关于 组件 当我检查
  • Angular ui-router:链接不可点击

    我尝试运行 angular ui router 来处理我的视图 但我遇到了问题 以下视图的两个链接不可点击 带有链接标签的角度更改变量 但我无法单击 我有这样的观点 h1 App h1
  • 如何在球拍中查看扩展宏?

    我得到了这个答案https stackoverflow com a 70318991 https stackoverflow com a 70318991关于编写一个简单的宏来记录宏扩展时的时间 然后始终返回该时间 lang racket
  • Django 将所有未捕获的 url 路由到包含的 urls.py

    我希望每个不以 api 开头的网址都使用 foo urls py urls py from django conf urls import include url from foo import urls as foo urls urlpa
  • Emacs Lisp 可以将 lambda 形式分配给像Scheme 这样的变量吗?

    在研究 Emacs Lisp 的符号单元时 我发现像这样的示例函数 defun a rest x x 我可以打电话 symbol function a 返回 lambda rest x x 如果我愿意的话我可以使用它 gt lambda r
  • 为什么Racket中foldl的定义方式很奇怪?

    在 Haskell 中 与许多其他函数式语言一样 函数foldl被定义为 例如 foldl 0 1 2 3 4 10 这没关系 因为foldl 0 1 2 3 4 根据定义 0 1 2 3 4 但是 在 球拍 中 foldl 0 1 2 3
  • 如何将Scheme中的函数应用于另一个函数返回的参数列表?

    假设有两个函数 f 和 v 进一步假设 v 返回长度为 n 的列表 并且 f 需要恰好 n 个参数 我正在Scheme中寻找正确的语法 以将f应用于v返回的列表 如果我使用语法 f v v arguments 然后我收到一个关于 f 需要
  • 相对于路径匹配路由

    我想要任何以以下结尾的网址 templates filename 使用路由属性映射到特定控制器 例如 public class TemplateController Controller Route templates templateFi
  • 是否存在用于开放 xml Excel 编辑的良好包装类和/或库?

    我正在寻找一个不错的库 用于在我们的 Windows 服务器上编辑和 或生成 Excel 文档 我觉得 open xml sdk 可能是可行的方法 但对我来说 学习曲线似乎很陡峭 而且我们的开发时间有限 我认为编辑 Excel 文档不应该那
  • PHP 是否有可重用的路由器/调度程序?

    我正在使用一个简单的框架 它根据查询参数处理请求 http example com index php event listPage http example com index php event itemView id 1234 我想将
  • 返回列表的前 n 个

    如何返回第一个n列表的元素 这是我所拥有的 define returns lambda list n cond null list 0 n n 1 car list cons car list returns cdr list n else
  • Yii urlManager URL 中的语言

    我正在尝试使用以下语法向 url 添加语言 http www example com en site page view about http www example com en site page view about 到目前为止 我所
  • AngularJS 路由与后端路由

    我想在我的下一个项目中使用 AngularJS 该应用程序具有 Python 后端和 html5 Angular 前端 我将在后端使用 MVC 框架 但我有点困惑 我必须在后端和前端使用路由吗 因为我总是使用后端路由 而前端路由对我来说确实
  • 使用 Racket FFI 进行快速阵列访问

    我正在尝试在 Racket 中编写 OpenCV FFI 并达到了需要有效操作数组的地步 然而 我所有使用 Racket FFI 访问数组的尝试都会导致代码效率非常低 有没有办法使用 FFI 快速访问 C 数组 在 Racket 中 这种类

随机推荐

  • 为每个项目执行 npm install 会占用太多驱动器空间

    有没有什么方法可以将 npm install 路由到硬盘驱动器的特定部分 当我执行 npm install 时 它会在驱动器的该部分中创建 node module 文件夹 当我运行任何项目时 它会在驱动器的该部分中查找依赖项 就像单身一样p
  • UIWebView 获取 HTML 源

    我正在尝试获取 UIWebView 的 HTML 源代码 而无需再次重新下载 也称为进行另一次下载 例如 NSData dataWithContentsOfURL NSURL URL 或启动 NSURLRequest 浏览 UIWebVie
  • 在生产环境中部署 Sql Server Reporting Services 报告

    如何在生产盒上部署 Sql 服务器报告 在本地这不是问题 我只需指定 url 然后右键单击项目并说部署 将其部署在我的本地服务器上 但生产服务器却并非如此 我建议您创建可以在生产服务器上执行的 rs 脚本 查看 Reporting Serv
  • 如何在 WordPress 页面中创建不同的可编辑部分?

    我一直在 WordPress 上构建我的第一个主题 但在将内容添加到不同部分时遇到了问题 我的 HTML 有点像这样 div lt Text gt div div lt Text and Images gt div div lt Text
  • 哪些 GTK+ 元素支持哪些 CSS 属性?

    在将我自己的 CSS 应用到 GTK 应用程序时 我注意到某些元素忽略某些 CSS 属性 而其他元素则忽略其他元素或不忽略它们 这导致我搜索哪些元素支持哪些 CSS 属性的概述 到目前为止我找不到任何这样的概述 例如Gtk Label不支持
  • 用于公开通用接口的非通用版本的模式

    假设我有以下用于公开分页列表的界面 public interface IPagedList
  • 如何在单击时向按钮添加类

    很抱歉提出了愚蠢的问题 但我无法在单击时向按钮添加类 我有按钮列表 单击后我需要更改活动按钮的背景 我不知道如何在单击列表内部并添加类时获取元素的索引 我需要用纯 JavaScript 来实现 只需要离开 document ready fu
  • 在 onStart() 方法中停止 Windows 服务

    我想停止 Windows 服务onStart 客户没有许可证时的方法 我用service Stop 但它不起作用 protected override void OnStart string args try bridgeServiceEv
  • Seaborn 热图中按行的颜色比例

    我想在 Seaborn 中制作热图 其中颜色按行缩放 我的意思是 一行中的最高值在图例上具有最高的颜色 而一行中的最低值具有最低的颜色 我怎样才能做到呢 这是我的代码 sales sales pivot table index Source
  • 在 Swift 中调用 NSException.raise()

    我试图通过调用 NSException raise 在 Swift 中引发异常 定义是 class func raise name String format format String arguments argList CVaListP
  • “Mapbox 地图”的自动缩放

    在情节网站上Python 中的地图配置和样式 https plotly com python map configuration automatic zooming or bounds fitting描述了如何自动缩放 地理地图 impor
  • Leiningen:如何自定义 .m2 文件夹的位置?

    我想更改 leiningen 存储所有依赖项的 m2 文件夹的位置 在 Linux 上 有可能实现这一目标吗 我已经检查了 lein sh 脚本的源代码和所有环境变量 但似乎没有任何内容指向 HOME m2 对于莱宁根 v2 将 profi
  • 如何创建一个实现 java.util.collections 的类

    我正在尝试创建一个类说MyStack这将实现一个 java util collections 类 MyStack将覆盖集合类的一些方法 例如添加 类似于推送 删除 类似于弹出 等 我打算在与Set或集合类的其他接口 除了MyStack不会是
  • 如何提高客户端-服务器架构应用程序的性能?

    我们有一个基于客户端 服务器架构的产品 有关所使用的技术堆栈的一些详细信息 客户端 Java Swing 服务器 RMI Java 数据库 Oracle 客户端位于世界不同地方 但java服务器和oracle数据库位于瑞典的同一台机器上 因
  • Laravel 项目 UML 类图

    我一直在谷歌上搜索 MVC PHP 框架的 UML 示例以及与 PHP 项目相关的项目 UML 图 但不幸的是总是出现 java 和 c 示例 我对 UML 图有一点了解 但没有真正的例子来了解它是如何使用的 我有一个正在开发的 Larav
  • 如何限制在 Django 管理站点中查看的查询集/记录?

    默认情况下 Django 管理站点显示相关模型 表的所有记录以供查看 如何只显示符合特定条件的记录 在您的管理定义中 您可以定义queryset 返回该模型管理员的查询集的方法 例如 class MyModelAdmin admin Mod
  • 何时使用 Rabin-Karp 或 KMP 算法?

    我使用以下字母生成了一个字符串 A C G T 我的字符串包含超过 10000 个字符 我正在其中搜索以下模式 ATGGA TGGAC CCGT 我要求使用字符串匹配算法O m n 运行时间 m pattern length n text
  • 输出迭代器适配器用于计数但不复制

    有多种 STL 算法依赖输出迭代器来存储算法结果 例如 std set intersection将在输出迭代器中存储两个排序范围之间的所有公共元素 然后按输出的每个元素进行后递增 有时 我对实际元素不感兴趣 而只对输出元素的数量感兴趣 在这
  • 为什么在动画块中设置图层锚点时我的视图会跳跃?

    我有一个 UIPanGestureRecognizer 附加到我的 iOS 应用程序中的视图 我从以下位置复制了代码触摸示例应用程序 https developer apple com library ios samplecode Touc
  • 球拍 URL 调度

    我正在尝试将 URL 调度与 Racket 以前称为 PLT 方案 连接起来 我已经查看了教程和服务器文档 我不知道如何将请求路由到相同的 servlet 具体例子 lang scheme require web server servle