【问题标题】:Action attribute set to a string动作属性设置为字符串
【发布时间】:2016-09-28 08:14:37
【问题描述】:

将动作属性设置为字符串是什么意思。例如

    <form method = "POST" action = "doDropClass">

我理解如果 action = "loginAuthenticate.jsp" 意味着请求和数据将被发送到服务器端应用程序---loginAuthenticate.jsp 但是,像上面的示例一样,将字符串分配给 action 属性意味着什么。

【问题讨论】:

    标签: html string jsp action


    【解决方案1】:

    action 属性指定提交表单时将表单数据发送到何处。

    您可以为 jsp 文件写 action = "loginAuthenticate.jsp"
    对于 servlet action = "doDropClass",需要有与 servlet 映射的 url-pattern。

    JSP 直接解析为 URL 模式,而 servlet 需要 url-pattern 匹配来进行 url 解析。

    当您使用像 action = "doDropClass" 这样的字符串到操作属性时,servlet 容器将在 web.xml 中搜索相应的 url-pattern 以创建一个有效的 url 模式,该模式将调用 servlet com.stack.DoDropClass 以用于以下示例。
    Web.xml:

    <servlet>
      <servlet-name>doDropClass</servlet-name>
      <servlet-path>com.stack.DoDropClass</servlet-path>
    </servlet>
    <servlet-mapping>
      <servlet-name>doDropClass</servlet-name>
      <url-pattern>/doDropClass</url-pattern>
    </servlet-mapping>
    

    【讨论】:

      【解决方案2】:

      将action属性设置为字符串是什么意思

      您不能将其设置为字符串以外的任何内容。所以它的意思就是通常的意思:提交表单时,将数据发送到action属性中的URL。

      我知道如果 action = "loginAuthenticate.jsp" 意味着请求和数据将被发送到服务器端应用程序 ---loginAuthenticate.jsp 但是像示例一样将字符串分配给 action 属性是什么意思以上。

      同样的事情。这只是意味着 URL 中没有 .jsp。 URL 中没有文件扩展名之类的东西。看起来像文件扩展名的东西通常只是通过将 URL 直接映射到服务器的文件系统来生成 URL 的遗留问题。

      还有很多其他方法可以解析 URL。常见的包括使用:

      • 重写系统(例如 Apache HTTPD 的 mod_rewrite)使用正则表达式将 URL 映射到文件
      • 在服务器端应用程序中处理所有 URL 解析(例如,使用 MVC 设计模式),而不是将其留给 Web 服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-26
        • 2020-10-28
        • 2014-02-08
        • 2011-09-11
        • 1970-01-01
        • 2013-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多