intra-mart Accel Platform 脚本开发模式编程指南 第16版2020-04-01

路由

总览

../../../_images/jssp_simple_routing.png
路由是一种将处理注册并分发到URL的功能。
对于尚未注册处理的请求,继续对应用程序服务器进行请求处理。
在脚本开发模式 ,使用“脚本开发模式 路由表”将脚本开发模式程序分配给URL。

脚本开发模式的 路由表

使用配置文件的示例描述脚本开发模式 的 路由表所扮演的职责。

将脚本开发模式程序分配给URL

  • 创建一个路由表,该路由表将http:// <HOST>: <PORT>/ <CONTEXT_PATH>/ app / foo分配给脚本开发模式的路径business / foo。

    • 演示页

      在%CONTEXT_PATH%/ WEB-INF / jssp / src / business / foo.html创建文件。
      制作文件如下。
      这是foo。
    • 功能容器

      未创建功能容器因为该进程不存在。
    • 路由表

      在%CONTEXT_PATH%/ WEB-INF / conf / routing-jssp-config / routing-programming-guide-foo.xml中创建文件。
      制作文件如下。
      <?xml版本=“ 1.0”编码=“ UTF-8”?>
      <routing-jssp-config
          xmlns =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-Config”中
          xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance”
          xsi:schemaLocation =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-配置路由- JSSP-Config.Xsd”>
      
          <authz-默认 映射器=“欢迎大家” />
      
          <文件映射 路径=“ / app / foo” 页面=“商业/富” />
      
      </ routing-jssp-config>
      
      文件映射元素映射 URL和脚本开发模式的程序。
      在path属性中指定URL路径/ app / foo, 在 page属性中指定脚本开发模式的business / foo路径。
  • 重新启动应用程序服务器以反映配置文件。

  • 转到http:// <HOST>:<PORT> / <CONTEXT_PATH> / app / foo

    页显示
    这是foo。

    注解

    在该项目 ,确认了以下几点。

    • 使用文件映射元素将脚本开发模式程序分配给URL。
    • 在文件映射元素的path属性中描述URL路径,在page属性中描述脚本开发模式路径。

路径变量

../../../_images/jssp_path_variables_routing.png
  • 创建一个路由表,该路由表将http:// <HOST>: <PORT>/ <CONTEXT_PATH>/ app / bar / {id}分配给脚本开发模式的路径business / bar。

    • 演示页

      在%CONTEXT_PATH%/ WEB-INF / jssp / src / business / bar.html创建文件。
      制作文件如下。
      “ id”是<imart type = “ string” value = id />
    • 功能容器

      在%CONTEXT_PATH%/ WEB-INF / jssp / src / business / bar.js中创建文件。
      制作文件如下。
      变种 编号;
      
      机能 初始化要求 {
          编号 = 要求编号;
      }
      
    • 路由表

      在%CONTEXT_PATH%/ WEB-INF / conf / routing-jssp-config / routing-programming-guide-bar.xml中创建文件。
      制作文件如下。
      <?xml版本=“ 1.0”编码=“ UTF-8”?>
      <routing-jssp-config
          xmlns =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-Config”中 
          xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance” 
          xsi:schemaLocation =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-配置路由- JSSP-Config.Xsd”>
      
          <authz-默认 映射器=“欢迎大家” />
      
          <文件映射 路径=“ / app / bar / {id}” 页面=“商务/酒吧” />
      
      </ routing-jssp-config>
      
      通过在path属性中描述{[identifier]},URL中间的值将作为参数传递。
  • 重新启动应用程序服务器以反映配置文件。

  • 转到http:// <HOST>:<PORT> / <CONTEXT_PATH> / app / bar / aoyagi

    页显示
    “ id”是aoyagi。
  • 转到http:// <HOST>:<PORT> / <CONTEXT_PATH> / app / bar / ueda

    页显示
    “ id”是上田。

    注解

    在该项目 ,确认了以下几点。

    • 通过在文件映射元素的path属性中描述{[identifier]},可以将URL中间的值视为请求参数。

许可

../../../_images/jssp_authz_routing.png
<?xml版本=“ 1.0”编码=“ UTF-8”?>
<routing-jssp-config
    xmlns =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-Config”中
    xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance”
    xsi:schemaLocation =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-配置路由- JSSP-Config.Xsd”>

    <authz-默认 映射器=“欢迎大家” />

    <文件映射 路径=“ / app / foo” 页面=“商业/富” />

    <文件映射 路径=“ / app / baz” 页面=“商业/巴兹”>
        <authz uri =“服务:// app / baz” 行动=“执行” />
    </文件映射>

</ routing-jssp-config>
“欢迎所有资源”映射器在authz-default元素中指定。此许可资源映射器供开发期间使用,强烈建议在发布应用程序时指定适当的uri和action或映射器。
为了访问/ app / foo,欢迎使用所有映射器(默认的许可设置)用作许可设置,因为authz元素在文件映射元素中不存在。
在访问/ app / baz的情况下,由于authz元素存在于文件映射元素中,因此它被视为许可设置,其中uri是服务:// app / baz并执行操作。
authz-default元素和authz元素都可以省略,但是除非为文件映射指定了有效的许可设置,否则不能省略它们。
仅显示您有权访问URL的菜单项目 。
有关更多信息,详细内容许可

注解

在该项目 ,确认了以下几点。

  • 可以使用authz-default元素和authz元素进行许可设置。
  • 如果未对URL进行许可设置,则不能省略此设置。

客户类型

../../../_images/jssp_client_type_routing.png
  • http:// <HOST>: <PORT>/ <CONTEXT_PATH>/ app / qux从智能手机访问时, 分配给脚本开发模式 business / qux_sp的路径;从其他终端访问时, 分配给business / qux的路径创建要分配的路由表。

    • 智能手机的演示页

      在%CONTEXT_PATH%/ WEB-INF / jssp / src / business / qux_sp.html创建文件。
      制作文件如下。
      智能手机。
    • 从智能手机以外的地方访问时创建演示页

      在%CONTEXT_PATH%/ WEB-INF / jssp / src / business / qux.html创建文件。
      制作文件如下。
      不是智能手机。
    • 功能容器

    未创建功能容器因为该进程不存在。
    • 路由表

      在%CONTEXT_PATH%/ WEB-INF / conf / routing-jssp-config / routing-programming-guide-qux.xml中创建文件。
      制作文件如下。
      <?xml版本=“ 1.0”编码=“ UTF-8”?>
      <routing-jssp-config
          xmlns =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-Config”中 
          xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance” 
          xsi:schemaLocation =“宀:. //万维网intra-mart .JP /路由器/路由- JSSP-配置路由- JSSP-Config.Xsd”>
      
          <authz-默认 映射器=“欢迎大家” />
      
          <文件映射 路径=“ / app / qux” 页面=“业务/ qux” />
      
          <文件映射 路径=“ / app / qux” 页面=“业务/ qux_sp” 客户类型=“ sp” />
      
      </ routing-jssp-config>
      
      通过在文件映射元素中指定client-type属性,可以为指定的客户端类型设置映射。
  • 重新启动应用程序服务器以反映配置文件。

  • 使用PC浏览器访问http:// <HOST>:<PORT> / <CONTEXT_PATH> / app / qux

    页显示
    不是智能手机。
  • 在智能手机浏览器上访问http:// <HOST>:<PORT> / <CONTEXT_PATH> / app / qux

    页显示
    智能手机。
    • 如果您没有可以访问服务器的智能手机终端,请访问http:// <HOST>: <PORT>/ <CONTEXT_PATH>/ menu / sitemap,然后从右上角的Utility菜单中选择“至智能手机版本”后访问URL。请。
      ../../../_images/utility_menu.png

    注解

    在该项目 ,确认了以下几点。

    • 通过在file-mapping元素中指定client-type属性,可以指定具有特定客户端类型的脚本开发模式程序。