【发布时间】:2016-09-28 08:14:37
【问题描述】:
将动作属性设置为字符串是什么意思。例如
<form method = "POST" action = "doDropClass">
我理解如果 action = "loginAuthenticate.jsp" 意味着请求和数据将被发送到服务器端应用程序---loginAuthenticate.jsp 但是,像上面的示例一样,将字符串分配给 action 属性意味着什么。
【问题讨论】:
将动作属性设置为字符串是什么意思。例如
<form method = "POST" action = "doDropClass">
我理解如果 action = "loginAuthenticate.jsp" 意味着请求和数据将被发送到服务器端应用程序---loginAuthenticate.jsp 但是,像上面的示例一样,将字符串分配给 action 属性意味着什么。
【问题讨论】:
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>
【讨论】:
将action属性设置为字符串是什么意思
您不能将其设置为字符串以外的任何内容。所以它的意思就是通常的意思:提交表单时,将数据发送到action属性中的URL。
我知道如果 action = "loginAuthenticate.jsp" 意味着请求和数据将被发送到服务器端应用程序 ---loginAuthenticate.jsp 但是像示例一样将字符串分配给 action 属性是什么意思以上。
同样的事情。这只是意味着 URL 中没有 .jsp。 URL 中没有文件扩展名之类的东西。看起来像文件扩展名的东西通常只是通过将 URL 直接映射到服务器的文件系统来生成 URL 的遗留问题。
还有很多其他方法可以解析 URL。常见的包括使用:
【讨论】: