在jsp页面中,等提交表单数据时,最好用觉得路径。

写法如下:

<form action ="<%=request.getContextPath()%>/do_login.jsp" method="post">

其中 request.getContextPath() 方法是取得当前项目的根目录位置。

这种用法叫做 “绝对路径” 使用绝对路径的好处是不太容易出错。缺点是目标路径字符串容易写的很长(如果目录层数过深的话)。如果使用相对路径,有时路径中免不了出现(..)上层目录,(../..)上层目录的上层目录这种写法。

这种写法容易引起逻辑上的混乱,如 :<form action ="../do/do_login.jsp" method="post">

当点号出现一次两次时还是可以接受的。但如果目录的层数过深,那这种写法就容易引起逻辑的混乱。

同理,在使用  response.sendRedirect() 方法实现客户端跳转时,也建议使用绝对路径。

但是当使用  request.getRequestDispatcher()方法实现服务器端跳转时,情况有些许的不同。这个方法使用的是相对路径。

但是我们同样也是可以使用觉得路径的。如:request.getRequestDispatcher("/result/success.jsp");

整个字符串的最前面的 ”/“ 就代表了项目的绝对路径。接着我们就可以用统一的 ”绝对路径写法“来实现跳转了。

还有一个就是servlet在web.xml文件中进行映射时使用的 <url-pattern> 进行逻辑地址映射是,也要使用绝对路径。

如 :<url-pattern>/login.do</url-pattern>

这样,在form表单中进行提交时。action=”<%=request.getContextPath()%>/login.do“

jsp 表单提交,服务器跳转方法 浏览器重定向 及 servlet映射时 路径问题的更多相关文章

  1. JSP 表单提交 数据库乱码解决方法

    问题:有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码. 乱码分析:因为 ...

  2. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  3. JSP表单提交与接收

    JSP表单提交与接收 在Myeclipse中新建web project,在webroot中新建userRegist1.jsp,代码如下 <%@ page contentType="te ...

  4. form表单提交的几种方法

    form表单提交的几种方法 <form id="myform" name="myform" method="post" onsubmi ...

  5. JSP表单提交 与 接受显示

    Demo01.jsp 提交表单输入的信息至 Demo02.jsp方法一 1 <%@ page language="java" contentType="text/h ...

  6. JSP表单提交中文乱码解决方案

    分2种提交方式,解决方案不同: 1.form表单提交方式为get 乱码: 解决方案: 因为get方法是参数在URL中显示,因为tomcat的URL编码默认是:IOS-8859-1所以要么改tomcat ...

  7. JSP表单提交中文乱码

    简要笔记:由于jsp默认表单提交编码方式是:ISO-8859-1,而我们需要的是utf-8或者是gbk码,故需要转化. 具体方法是:在表单处理文件中,将获取到的变量进行转换. String userN ...

  8. jQuery中防止表单提交两次的方法

    遇到过表单提交两次的情况,做个记录: 解决场景:首先是表单验证,其次是防止多次提交表单: jQuery中插件:validate_submitHandler_plugin,具体的可以使用关键字搜索: 使 ...

  9. vue---阻止默认表单提交的三种方法

    vue在做表单提交的时候,需要用到一些自定义的验证规则,这个时候就需要阻止表单默认的提交方式. 方法一:直接阻止 <form id="form" @submit=" ...

随机推荐

  1. codevs 2851 菜菜买气球

    dp加二分法 链接:http://codevs.cn/problem/2851/ #include<iostream> #include<vector> #include< ...

  2. VCC、VDD、VSS、 VEE 和VPP的区别

    在电子电路中,常可以看到VCC.VDD和VSS三种不同的符号,它们有什么区别呢? 一.解释 VCC:C=circuit 表示电路的意思, 即接入电路的电压: VDD:D=device 表示器件的意思, ...

  3. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  4. gzip

    gzip -c 将输出写到标准输出上,并保留原文本 gzip * : 把当前目录中的每个文件压缩成.gz文件 [root@NB gzip]# ls mysql-bin. mysql-bin..tar ...

  5. Hibernate的ORM原理和实现

    >>Hibernate和ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样 ...

  6. jQuery插件:跨浏览器复制jQuery-zclip(转载)

    转载地址:http://www.cnblogs.com/linjiqin/p/3532451.html jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和 ...

  7. windows常用命令

    打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd ...

  8. 【openGL】画圆

    #include "stdafx.h" #include <GL/glut.h> #include <stdlib.h> #include <math ...

  9. apache linux 安装

    sudo apt-get install zlib1g-dev 1.到官网下载,然后解压httpd-2.4.18.tar.gz 2.下载apr-1.5.2.tar.gz并解压    http://ar ...

  10. Solr入门之(5)配置文件schema.xml

    该配置文件中的标签:<fileTypes>.<fields>.<uniqueKey>.<copyField> fieldType说明 标签types中定 ...