在html">java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对。

html">java web中的路径使用按我的分法可以分两种情况,当然啦两者使用相对路径是一致,本文只说绝对路径。

情况一、指向外部的web组件和本身关系不大的,这一类的有:html中使用路径的标签,比如标签中的href;servlet和jsp中的重定向sendRedirect(path);

情况二、指向内部的web组件和本身有关系的,这一类我暂时看到的有:servlet或者jsp的转发

假设在myapp项目下有个login.html,index.jsp,还写了两个servletA和servletB.

在web.xml中的地址配置:

/servlet/servletA

/servlet/servletB

在情况一中:若在路径中以/开头,则这一/相当于:8080/

1、login.html有个form表单有提交给servletA,那么action要填的路径:

绝对路径方式:action="/myapp/servlet/servletA" ------:8080/myapp/servlet/servletA

相对路径方式:action="servlet/servletA" ------:8080/myapp/servlet/servletA

2、login.html有个链接到index.jsp 那么

绝对路径方式:href="/myapp/index.jsp" ------:8080/myapp/index.jsp

相对路径方式:action="index.jsp" ------:8080/myapp/index.jsp

3、index.jsp中重定向到servletA

绝对路径方式:sendRedirect("/myapp/servlet/servletA"); ------:8080/myapp/servlet/servletA

相对路径方式:sendRedirect("servlet/servletA"); ---:8080/myapp/servlet/servletA

在情况二中:若在路径中以/开头,则这一/相当于:8080/myapp/

1.servletA转发到servletB

绝对路径方式:request.getRequestDispatcher("/servlet/servletB").forward(request, response);

--------:8080/myapp/servlet/servletB

相对路径方式:request.getRequestDispatcher("servlet/servletB").forward(request, response);

--------:8080/myapp/servlet/servletB

注意:

建议使用绝对路径,相对路径是相对于当前浏览器地址栏的路径(源地址)。

可能会出现:你在某个页面写了一个相对路径(目标路径),因为转发是不改变地址的,那么要是别人是通过转发到达你的这个页面的,那么地址栏的源地址就是不确定的,既然不确定你使用相对路径相对于这个不确定的路径就极有可能出错,所以建议使用绝对路径,这样可避免这种问题。

获得项目路径和绝对路径:

项目路径:String path=request.getContextPath(); ---- /myapp

String p=this.getServletContext().getRealPath("http://www.2cto.com/"); ----- G:environmentomcatwebappsmyapp

总结:

这里主要弄明白是指向外部的还内部的,外部时"http://www.2cto.com/"就是代表主机路径,内部时"http://www.2cto.com/"就是代表当前项目路径

用servlet路径访问一个html,java web中servlet、jsp、html 互相访问的路径问题相关推荐

  1. Java Web中的jsp技术

    在动态网页开发中,经常需要动态生成html内容,如果使用servlet来实现html页面数据的改变会导致程序十分臃肿.为了克服这些缺点,Oracle(Sun)公司推出了jsp技术. JSP全名是Jav ...

  2. 在html中用表单插入servlet 怎么写servlet的地址,java web中servlet、jsp、html 互相访问的路径问题。...

    假设在myapp项目下有个login.html,index.jsp,还写了两个servletA和servletB. 在web.xml中的地址配置: /servlet/servletA /servlet ...

  3. java web之servlet

    readme 课程回顾:Tomcat服务器和HTTP的协议 Tomcat服务器 WEB简介 1.网络的架构 C/S B/S 2.C/S 客户端/服务器 B/S 浏览器/服务器* C/S压力比较小,下载 ...

  4. 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用

    准备 JDK       (配置JDK_HOME\bin   和 CLASSPATH)   注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本)     对于我们新手来说,JD ...

  5. Java web入门——Servlet

    Java web入门--Servlet Servlet基础 Servlet是运行在服务器上的java小程序,B/S架构的应用需要访问数据库.或一些逻辑处理,均由servlet进行处理,他用来扩充基于h ...

  6. Java Web之Servlet入门

    Java Web之Servlet入门 ​ 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式变得火爆起来. 最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源, ...

  7. 太恐怖了 两天搞定一个项目 Java Web MVC 网络商城教程+源代码

    两天搞定一个项目 Java Web MVC 网络商城教程+源代码 最近自学做了一个网络商城将以下是代码和教程 环境搭建–数据库设计–页面设计-后台设计 本项目使用的jdk版本是 运行项目前需要先配置好 ...

  8. Java web后端5 JSP技术

    JSP概述 HTML代码与Java代码共同存在 浏览器中显示 启动Tomcat 浏览器访问:http://localhost:8083/JSPWeb_war_exploded/hello.jsp &l ...

  9. java获取当前项目相对路径_怎样在JAVA文件中获取该项目的相对路径

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://ww ...

最新文章

  1. Oracle学习笔记十三 触发器
  2. typedef函数指针使用方法
  3. 【跃迁之路】【597天】程序员高效学习方法论探索系列(实验阶段354-2018.09.25)...
  4. 面试题,反射创建类实例的三种方式是什么
  5. mysql 配置多个数据库连接_总结MySQL修改最大连接数的两个方式
  6. 使用JDOM2.0.4 操作/解析xml
  7. 单例模式——Java
  8. 飞畅科技-千兆/百兆/核心/PoE/光纤交换机选型指南
  9. 【C++模板】特化与偏特化 template [partial] specialization
  10. 软件测试黑马程序员课后答案_软件测试课后答案
  11. 红外传感器型号和参数_浅析温度传感器原理
  12. LA3485二分+求解积分方程+辛普森算法计算积分
  13. 服务器内存太小,伤不起![异常与应用程序池引发的连锁命案]
  14. 评委输入的密码如果不正确,当错误的次数达到5次时,该评委的账号会被锁定.如何解锁呢?
  15. 【预测模型】基于matlab粒子群算法预测【含Matlab源码 1326期】
  16. python爬虫:爬取携程航班数据
  17. 买硬盘需要知道哪些知识?
  18. 假设有长度为5的数组
  19. 关于3阶Volterra滤波器一些理解
  20. 新生儿的二类(自费)疫苗(截止2019年)

热门文章

  1. 【java】分布式一致性hash算法
  2. 【Kafka】使用confluent本地安装和使用kafka
  3. 95-140-110-源码-transform-算子keyBy
  4. 【Filebeat】logstash 和filebeat 是什么关系
  5. 【Hbase】HBase数据快速导入之ImportTsv
  6. 云计算实战系列十三(Linux计划任务)
  7. 通过实现网站访问计数器带你理解 轻量级锁CAS原理,还学不会算我输!!!
  8. linux中循环创建文件,linux-尝试创建一个文件以调用另一个文件进行循环搜索
  9. SpringMVC框架----SpringMVC的入门程序
  10. Mui a 链接失效的解决办法