idea中Java Web项目的访问路径问题

2023-11-19

说明

  • 这里只以 servlet 为例,没有涉及到框架,但其实路径的基本原理和框架的关系不大,所以学了框架的同学如果对路径有疑惑的也可以阅读此文

项目结构

  • 在 idea 中新建一个 Java Web 项目,项目的初始结构如下 ( 不同版本的 idea 可能略有区别 ) :

    这里写图片描述

默认访问路径

  • 当我们将项目的基本配置设置好后,启动 Tomcat,会发现直接出现的是 index.jsp 页面,此时浏览器的地址栏显示的是:localhost:8080,也就是说项目默认跳转到了 index.jsp 页面,而且打开 web.xml 文件后,我们发现这里并没有配置 index.jsp 为首页,这点要注意

  • 非常重要的一点:做开发测试时,如果用了 index.jsp 这个页面做测试,一定要分清楚项目是启动的时候直接就跳转到了这个页面,还是经过了其它的路径才跳转到了这个页面,如果没有这个意识的话,很可能在实际开发中会出现问题,所以一般不推荐用 index.jsp 作为测试页面

  • 还是之前的设置不变,当我们在浏览器输入 localhost:8080/index.jsp 时,会发现显示的仍然是 index.jsp 页面,也就是说,jsp 页面的访问路径是直接从项目的 web 目录的下一级目录开始的,我们这里的 index.jsp 由于就是直接处于 web 目录的下一级,所以直接在 localhost:8080/ 后面加上文件名即可

jsp页面的访问路径

  • 由之前的分析可知,如果我们在 web 目录下新建一个名为 jsps 的目录,然后里面有一个名为 demo.jsp 的文件,那么我们要想访问到这个文件,在浏览器地址栏中输入的就是 localhost:8080/jsps/demo.jsp,此时项目结构如下:

    这里写图片描述

    说明: 这里并没有严格按照 Java Web 项目的结构那样建立 classes 和 lib 文件夹,然后进行配置,但对于这里要说明的问题而言并没有影响

servlet文件的访问路径

  • 在 src 目录下新建一个名为 com.lwx.servlet 的包,然后在这个包下新建一个名为 DemoServelt 的 servlet 类,此时项目结构如下:

    这里写图片描述

  • servlet 文件的访问路径我们可以在 web.xml 中自己配置(使用的是 url-pattern 标签),或者是使用注解的形式(使用的是 urlPatterns 属性),不管采用哪种形式,其对应的值都和我们的访问路径有关(如果两种形式同时采用,实测只有 web.xml 中的配置生效,也就是说此时如果以注解中配置的路径来访问 servlet 是会报 404 的)

  • 对于 idea 来说,servlet 的访问路径比较简单,直接在 localhost:8080 后面加上我们自己配置的值即可

  • 如果我们在 web.xml 中对其所做配置如下,则访问路径为 localhost:8080/DemoServlet

    这里写图片描述

    特别注意:如果这里的 url-pattern 的值写的是 /*,那么当我们在浏览器的地址栏输入 localhost:8080 甚至是 localhost:8080/index.jsp 或者是 localhost:8080 后面跟上任何合法的字符串,访问的都是 DemoServlet 这个 servlet 类(细心的同学就会发现这里虽然输入了 localhost:8080/index.jsp ,但访问的并不是 index.jsp 这个文件,而是 DemoServlet 类)

  • 如果我们使用注解的方式对其所做配置如下,则访问路径为 localhost:8080/DemoServlet

    这里写图片描述

    特别注意:name 属性的值需要和对应的类名一致

idea中独有的路径配置

  • 打开 Run —> Edit Configurations —> Deployment,在右侧有个 Application context,这里的值也是和路径有关的

    这里写图片描述

  • Application context 中填写的值会直接加到 localhost:8080 的后面,以之前的例子来说,本来 DemoServlet 这个 servlet 类的访问路径是 localhost:8080/DemoServlet,如果在 Application context 中填写的是 /haha,那么其访问路径就变成了 localhost:8080/haha/DemoServlet,对于 jsp 页面的访问路径也是同样的道理

点击链接快来和我一起加入语雀文档,体验全新知识创作,让你的协作更高效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea中Java Web项目的访问路径问题 的相关文章

随机推荐

  • Sublimewebinspector 断点不能打上的解决方法

    最近老大在sublime上开发出了我们产品的开发包 这个开发包能像ZenCoding一样快速打出前端代码 这样开发者用我们产品的概率就大多了 但是对于产品中的js代码 现在还没有很好的工具 搬砖的我小有雄心壮志的想给我们的产品开发一个JS代
  • 生成专题4

    文章转自微信公众号 机器学习炼丹术 作者 陈亦新 欢迎交流共同进步 联系方式 微信cyx645016617 学习论文 Analyzing and Improving the Image Quality of StyleGAN 文章目录 4
  • vue学习语法校验笔记总结

    vue语法校验需要安装eslint plugins vue插件 插件安装完成后 进入 插件配置 即可找到刚才安装插件 它的对应的配置文件是 eslintrc js 选项对应说明如下 module exports extends plugin
  • ES6之Map和Set有什么不同?

    一 Map 1 定义 Map是ES6提供的一种新的数据结构 它是键值对的集合 类似于对象 但是键的范围不限于字符串 各种类型的值都可以当做键 Object结构是 字符串 值 的对应 Map结构则是 值 值 的对应 2 代码示例 Map本身是
  • Mybatis的注解方式开发

    目录 一 环境搭建与测试 二 注解方式的单表CRUD 三 注解方式的复杂关系映射 属性与列的对应关系 多表查询 一对一 一对多 四 注解方式使用二级缓存 前面的文章使用的都是XML配置的方式进行开发 当然 Mybatis也可以使用注解的方式
  • c++ for循环的新写法

    for循环遍历一个数组 string类 vector类等 老写法 include
  • gzip压缩的json文件在谷歌浏览器(chrome)中可以正常解析,但是在safari浏览器乱码

    gzip压缩的json文件在谷歌浏览器 chrome 中可以正常解析 但是在safari浏览器乱码 挺奇怪的一个问题 json数据通过gzip压缩之后 axios接收到的数据在chrome中是正常的 但是在safari中却是乱码 文件流 后
  • jsp页面中获取参数值

    1 GET方法用根据URL获取参数值 1 1 jsp页面 1 2 3 6 7 8 9 10
  • oracle 不完整恢复,Oracle——不完全恢复

    不完全恢复分为用户不完全恢复和RMAN不完全恢复 若联机重做日志文件或者归档日志文件有丢失 则只能进行不完全恢复 一 不完全恢复的分类 1 time recover选项 指定恢复到某个时间点 常用 2 cancel recover选项 停止
  • buuctf - crypto - Rabbit

    rabbit 加解密 在线Rabbit加密 Rabbit解密 在线工具
  • 把路由器设置为交换机或者二级路由设置联网

    五台电脑用了一个路由 还有一台没有连上 结果又买了一个路由 问问能把剩下的电脑接上吗 该怎么接法 1 做二级路由 把第二個路由器作为二级路由用 接线的方法就像你接第一个主路由器那样 从第一个路由器LAN口出来的一条网线接在第二个路由器的WA
  • 姿态估计之2D人体姿态估计 - (OpenPose) Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

    参见 论文翻译 openpose magic ll的博客 CSDN博客 OpenPose论文解读 知乎 Openpose论文阅读 jmucvm的博客 CSDN博客 openpose论文总结 htt789的博客 CSDN博客 OpenPifP
  • ELK配置记录(filebeat+kafka+Logstash+Elasticsearch+Kibana)

    一 简介 elk日志平台 日志收集 分析和展示的解决方案 满足用户对 志的查询 排序 统计需求 elk架构 filebeat 采集 kafka Logstash 管道 Elasticsearch 存储 搜索 Kibana 日志应用 各组件功
  • 离散仿真引擎基础作业与练习

    作业内容 一 简答题 1 解释 GameObjects 和 Assets 的区别与联系 2 下载几个游戏案例 分别总结资源 对象组织的结构 3 使用 debug 验证 MonoBehaviour 基本行为或事件触发条件 4 了解 GameO
  • zip.h解析

    返回值 define ZIP OK 0 define ZIP EOF 0 define ZIP ERRNO Z ERRNO define ZIP PARAMERROR 102 define ZIP BADZIPFILE 103 define
  • 《区块链技术与应用》学习笔记10——ETH数据结构

    在以太坊中 有三棵树的说法 分别是状态数 收据树和交易树 一 引入 我们要实现从账户地址到账户状态的映射 在以太坊中 账户地址为160位 表示为40个16进制数 状态包含了余额 alance 交易次数 nonce 合约账户中还包含了code
  • C#winform导出DataGridView数据到Excel表

    前提 NuGet安装EPPlus 选择合适的能兼容当前 net framwork的版本 主要代码 private void btn export Click object sender EventArgs e SaveFileDialog
  • 在springboot 中配置使用servlet

    文章目录 1 前言 2 servlet 3 springboot配置 4 启动项目 5 UrlMapping设置 6 Filter 7 Listener 8 总结 1 前言 还记得 说到web项目 最早接触的就是servlet 实际上SSH
  • idea同一程序打开多个控制台

  • idea中Java Web项目的访问路径问题

    说明 这里只以 servlet 为例 没有涉及到框架 但其实路径的基本原理和框架的关系不大 所以学了框架的同学如果对路径有疑惑的也可以阅读此文 项目结构 在 idea 中新建一个 Java Web 项目 项目的初始结构如下 不同版本的 id