刚刚学jsp的时候都是从看别人的代码,模仿着做,但是这样也有看不懂的地方,这个相对路径和绝对路径就让我纠结了好久。。所以我自己弄了一个demo实验了一下,试验出结果了,但是不明白原理,纠结了一天,终于问别人知道了,最关键的是我自己看到“地址栏”才理解啊。。。所有不能离了题。先附上demo的代码:

    index.jsp

<FORM  action="servlet/TiaoZhuanServlet" method="post">
请输入内容:<input type="text" name="info">
<input type="submit" value="提交">
</FORM>

    show.jsp:

    <%
String info=(String)request.getAttribute("info");
%>
<h3>info的内容是:<%=info%></h3>

web.xml:

 <servlet>
<servlet-name>TiaoZhuanServlet</servlet-name>
<servlet-class>org.gsh.wh.servlet.TiaoZhuanServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>TiaoZhuanServlet</servlet-name>
<url-pattern>/servlet/TiaoZhuanServlet</url-pattern>
</servlet-mapping>

servlet:

 public class TiaoZhuanServlet extends HttpServlet {

     private static final long serialVersionUID = 1L;

     public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
String info=request.getParameter("info");
request .setAttribute("info", info);
request.getRequestDispatcher("show.jsp").forward(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response); }

web.xml中德配置<servlet>     <description>This is the description of my J2EE component</description>     <display-name>This is the display name of my J2EE component</display-name>     <servlet-name>TiaoZhuanServlet</servlet-name>     <servlet-class>org.gsh.wh.servlet.TiaoZhuanServlet</servlet-class>   </servlet>

<servlet-mapping>     <servlet-name>TiaoZhuanServlet</servlet-name>     <url-pattern>/servlet/TiaoZhuanServlet</url-pattern>   </servlet-mapping>  在加“/”和不加“/”的理解上是这样的:加了“/”就是绝对路径。而不加“/”就是相对路径 绝对路径:比如在“/show”,那么它会在http://localhost/Test2下面照“show.jsp”, 如果不加的话:就是相对路径:从http://localhost/Test2/servlet/TiaoZhuanServlet(a)往show.jsp跳转,相对a的话跳转后的就是: http://localhost/Test2/servlet/show.jsp此时肯定找不到show.jsp

而如果你的配置如下: <servlet>     <description>This is the description of my J2EE component</description>     <display-name>This is the display name of my J2EE component</display-name>     <servlet-name>TiaoZhuanServlet</servlet-name>     <servlet-class>org.gsh.wh.servlet.TiaoZhuanServlet</servlet-class>   </servlet>

<servlet-mapping>     <servlet-name>TiaoZhuanServlet</servlet-name>     <url-pattern>/TiaoZhuanServlet</url-pattern>   </servlet-mapping> 表单那 里的action="TiaoZhuanServlet",记得更改。

则相对路径是:http://localhost/Test2下面照“show.jsp”,而不加的话:依然跳转http://localhost/Test2/TiaoZhuanServlet 往"show.jsp"跳转,结果为:http://localhost/Test2/show.jsp,所以加和不加一样

demo的图片

jsp中路径的问题。。。的更多相关文章

  1. jsp中路径的写法

    在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况 代码” ${pageContext.request.context ...

  2. Jsp中路径问题

    ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的. <!--使用绝对路径的方式引入CSS文件-->& ...

  3. jsp中超链接路径的写法

    主题 超链接不就是一个地址字符串吗?这能有什么花头? LZSB! 曾经我也是这么想的.... 最近对apache的学习让我对网页中超链接,CSS,js的路径的写法有了一些新的认识. 所以这篇文章主要分 ...

  4. 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。

    今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...

  5. 【转】JSP中的相对路径和绝对路径

    1.首先明确两个概念: 服务器路径:形如:http://192.168.0.1/的路径 Web应用路径:形如:http://192.168.0.1/yourwebapp的路径 2.关于相对路径与绝对路 ...

  6. jsp中如何获得url路径和绝对路径

    jsp中如何获得url路径 request.getHeader("referer") JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getReq ...

  7. JSP中的路径

    我的原则 所有路径一律使用绝对路径,就是以"/"开头的或者带host的路径.形如: /imgs/1.jpg <%= request.getContextPath()%> ...

  8. 关于jsp中超链接的相对路径

    前提:新建了一个名为MyProject的web工程.在WebContent目录下新建一个jsp目录,在jsp目录中新建一个index.jsp文件. 实验:在index.jsp里写了4个链接,如下: & ...

  9. JSP中的相对路径和绝对路径(转)

    1.首先明确两个概念: 服务器路径:形如:http://192.168.0.1/的路径 Web应用路径:形如:http://192.168.0.1/yourwebapp的路径 2.关于相对路径与绝对路 ...

随机推荐

  1. Xshell入门教程介绍

    免费软件 Xshell和 Xftp 都是 NetSarang 出品的优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟, ...

  2. Lambda表达式详解【转】

    前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...

  3. spring、spring-data-redis整合使用

    一.Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 从2010年3月15日起,Redis的开发工作由VMwa ...

  4. PostgreSQL 数据库升级

    PostgreSQL软件版本升级后,需要使用pg_upgrade迁移旧版本的数据库,具体的操作参数可以参考官方文档,在此记录一下操作过程中出现的细节问题: 新版本软件在initdb的时候要保证loca ...

  5. Android PopupWindow 疑难杂症之宽度WRAP_CONTENT

    一直以来都觉得 Android 中的 PopupWindow 不好用.主要有以下两点:1.宽度不好控制2.位置不好控制 今天单说第1点. 由于应用有好几种国家的语言,加上各设备宣染效果不完全一样,对p ...

  6. Spark集群管理器介绍

    Spark可以运行在各种集群管理器上,并通过集群管理器访问集群中的其他机器.Spark主要有三种集群管理器,如果只是想让spark运行起来,可以采用spark自带的独立集群管理器,采用独立部署的模式: ...

  7. 剑指offer-树的子结构17

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) class Solution: def issubTree(self,pRoot1,pRoot2) ...

  8. Daily Scrum 11.01

    全队进展速度很快,11月伊始都完成了初步的工作.交由负责整合工作的毛宇开始调试整合. Member Today's task  Tomorrow's task 李孟 task 616 测试 (活动) ...

  9. EasyUI 布局 - 动态添加标签页(Tabs)

    首先导入js <link rel="stylesheet" href="../js/easyui/themes/default/easyui.css"&g ...

  10. 201621044079《Java程序设计》第二周学习总结

    Week02-Java基本语法与类库 1.本周学习总结 记录本周学习中的重点 尝试使用 原则:少而精,自己写.即使不超过5行也可,但请一定不要简单的复制粘贴 1.学习了Java的数据类型 int ch ...