文档章节

表单form action的url写法

sunru
 sunru
发布于 2017/07/20 21:43
字数 740
阅读 9
收藏 0

在写web页面时,标签 是很常见的元素,它的一个属性是action,用来标识将表单交给谁去处理。很显然,这里有一个地址的问题,而且是在服务器这边的地址。比如服务器内的一个servlet。

 

那么这个地址怎么写?

 

1.以"/"开头的表示绝对地址,即web根目录,比如你用tomcat服务器,那么就是指webapp目录了。

 

2.不以"/"开头的表示的是相对地址,即相对于当前这个页面的地址。

 

举个例子,我们这里有一个项目Shop,结构图如下:

表单form <wbr>action的url写法
 

    在WebContent目录下面,新建了一个view文件夹存放网站页面,我们写了一个login.html的登陆页面,form要交给一个servlet来处理,给servlet的url-pattern是"/validate",其中的表单form里的action该如何写呢?

 

   用绝对地址:action="/Shop/validate",这里"/"指向web根目录,Shop是项目上下文。

   用相对地址 : action="./view/validate",这里"./"跳出了view目录,进入到了Shop项目目录内。

   

   在Servlet与JSP核心编程一书中,作者说对于"/"这个目录,凡是要让服务器解析的都指的是web应用的根目录,凡是让浏览器解析的都指的是服务器的根目录。

 

   下面是论坛内其他人的回答,意思一样:

需要注意的是,你现在讨论的是HTML的相关路径与绝对路径的问题。
先看一下下面的URL:
http://192.168.1.1:8080/hello/index.html
一个URL由
服务器地址: http://192.168.1.1:8080
WEB应用上下文:  /hello
网页或请求:  /index.html
三个部分组成。
WEB应用发布时,WEB应用上下文可以自行指定,如放在ROOT/下的话,WEB应用上下文就是空,如:
http://192.168.1.1:8080/index.html
它的WEB应用上下文就是空。

HTML协议中要求,form的action属性,以“/”开头是绝对路径,不以“/”开头的是相对路径。
绝对路径是相对于服务器地址而言的,相对路径是相对于当前网页或请求而言的。
举一个例子,你的当前网页位置是:
http://192.168.1.1:8080/hello/page/index.html
其中/hello是WEB应用上下文;/page/index.html是网页。
在这个网页上有一个请求需要指向
http://192.168.1.1:8080/hello/servlet/checkUser.cgi
index.html中的form应该怎么写呢?
可以写成绝对路径(相对于http:/192.168.1.1:8080)
也可以写成相对路径(相对于http://192.168.1.1:8080/hello/page

当前如果你的WEB应用是基于JSP的话,有许多第三方的标签库如JSTL或基于Struts的标签库都可以在form中自动为你加上WEB应用上下文,如二楼东走西顾的例子。
如果你准备在JSP使用基本语句生成网页的话,六楼honglei915提供了一个很好的例子,只不过“/”更规范一些

本文转载自:http://blog.sina.com.cn/s/blog_9f33f9170102v7h4.html

共有 人打赏支持
sunru
粉丝 4
博文 71
码字总数 21332
作品 0
南京
使用jquery提交form表单

需求是:新增页面,有一个表单要提交,正常直接在action中写url,点击submit按钮就可以提交了,但我希望能够在表单提交之前验证一下文本框内容。于是,使用jquery来验证表单,验证通过后提交...

hhj187
2016/08/22
7
0
CodeIgniter在nginx下rewrite配置问题

昨天在服务器上安装了Codeigniter,同时修改了nginx相关配置,ci可以正常运行了。 但今天在做表单提交时又出现了问题,问题如下: 在我之前的rewrite配置下,ci的正常url为http://localhost/...

墨梅
2016/03/11
103
0
django 自定义form表单数据在前台界面显示方式

1、在后台,自定义form class PolicyForm(forms.Form): #==label 用来控制 form 字段的 中文显示,widget 可以控制其他属性,比如样式等 name = forms.CharField(label="名称*:", error_mess...

狼行-狼行
2014/06/16
0
0
深入分析JavaWeb Item8 -- HttpServletResponse常见应用

一、HttpServletResponse常见应用——生成验证码 1.1、生成随机图片用作验证码   生成图片主要用到了一个BufferedImage类,    生成随机图片范例: 运行结果如下:    二、HttpServlet...

小平果
2017/11/29
0
0
ASP.NET MVC HtmlHelper

,ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Html标签。 1.ActionLink 其中最常用的就是Html.ActionLink (1).ActionLink(string linkText, string actionName) //页面显示linkTex...

随智阔
2013/02/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

iOS开发用到的图片尺寸汇总

启动图 型号 竖屏 横屏 iPhone SE 640px × 1136px 1136px × 640px iPhone 6s 750px × 1334px 1334px × 750px iPhone 6s Plus 1242px × 2208px 2208px × 1242px iPhone 7 750px × 1334......

业界小白
16分钟前
0
0
浅谈redis

redis是一个开源,内存式的健值存储数据库,也被称为健值存储的字典服务器。健值类型有字符串,hash(哈希类型),set(集合),list(列表) 和有序集合 特征细节: 内存式:redis将健值存储在主...

拐美人
23分钟前
0
0
无限扩容,按需使用!ZStack推出基于阿里云NAS的文件存储服务

日前,ZStack发布2.6.0版本,正式宣布推出基于阿里云NAS的文件存储服务。得益于业界领先的阿里云分布式存储架构,融合NAS后的ZStack 2.6.0拥有高性能、高可靠、容量无限扩展、一键操作、按需...

ZStack社区版
26分钟前
1
0
崛起于Springboot2.X之Mongodb多数据源处理(35)

多数据源:4个mongodb库! 目录结构图: 1、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId>......

木九天
32分钟前
0
0
如何获取显示器的EDID信息

Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID打交道。EDID这东西很简单,但是如果...

DB_Terrill
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部