文档章节

表单form action的url写法

sunru
 sunru
发布于 2017/07/20 21:43
字数 740
阅读 13
收藏 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
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
深入分析JavaWeb Item8 -- HttpServletResponse常见应用

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

小平果
2017/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript继承(二)——借用构造函数

JavaScript继承(一)——原型链中提出原型链继承的两个问题:一是原型的数据共享问题,二是创建子类型的实例时,不能向父类型的构造函数中传递参数。这两个问题的根源还是在于使用原型模式创...

Bob2100
8分钟前
0
0
day25:比较两个文件内容|杀进程|并发备份数据库|并发进程备份mysql库|监控全国CDN网站节点|

1、有两个文件 a.txt 和 b.txt,把 a.txt 中有的但 b.txt 中没有的行找出来,并写入列 c.txt,然后计算 c 的行数; 注释:比较两个文件两个文件不同,可以用的方法:diff md5sum grep -vf $1 $...

芬野de博客
23分钟前
0
0
抓包工具Charles

背景介绍 Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和i...

Jack088
24分钟前
0
0
徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态...

不学无数的程序员
45分钟前
1
0
Java 面试题目最全集合1000+ 大放送,能答对70%就去BATJTMD试试~

2019,相对往年我们会发现今年猎头电话少了,大部分企业年终奖缩水,加薪幅度也不如往年,选择好offer就要趁早,现在开始准备吧,刷一波Java面试题,能回答70%就去BATJTMD大胆试试~ 以下是2...

mikechen优知
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部