最近刚接触java web特别是是关于项目路径这一块很晕,就把自己遇到的一些疑惑和理解写下来。

首先贴上路径,这里用的是eclipse。

其中我们要注意看WebContent目录,这是web程序的根目录。

例如我们在浏览器地址栏输入:http://localhost:8080/FirstWeb

会打开WebContent目录中的HelloWeb.html。

大概讲述下http://localhost:8080/FirstWeb访问HelloWeb的过程以及为什么访问的是它,而不是success.html。

首先我们看前面的localhost,这个代表本地地址127.0.0.1。为什么localhost可以代表呢?

那是因为在windows下hosts文件中添加了域名解析,localh 127.0.0.1。代表我遇到了localhost就把它转换成127.0.0.1

那我们又为什么要用本机地址来访问呢?因为Tomcat服务器在自己的电脑启动的,你当然要用本地地址了。

我们再来看Servers文件夹下的serve.xml文件。

注意看右边114行,<Host> 就是一个虚拟主机,文件里面确定了虚拟主机的域名localhost。所以用127.0.0.1,而localhost可以解析成127.0.0.1

我们再来看localhost:8080后面的8080是指端口。

也在server.xml中设置,默认是8080,如果有时候默认端口被占据可以改成其他端口,例如80,那么写的时候写localhost:80即可。

这时http://localhos:8080,就代表了通过8080端口和去访问虚拟主机(localhost是主机域名也可说是地址,反之最后要被解析成地址。明确一点,电脑只认识xxxx.xxxx.xxxx.xxxx这样的ip地址,localhost是人类认识的,电脑并不认识,但电脑可以将localho这样的域名解析成ip地址)。

在地址栏输入:http://127.0.0.1:8080/FirstWeb/和输入http://localho:8080/FirstWeb/效果是一样的。

访问网页肯定是要访问具体的资源,现在就相当于你双击了windows桌面上我的电脑,进入了我的电脑,这是没有用的。

你要干什么?要访问具体的资源,比如d://xxxx/xxxx.exe

接下来我们还是来看server.xml里面的内容

看右边的第127行,Context:即web应用程序。

我们重点看第二个path,这是一个虚拟的文件夹是URL的入口。

path里面写的是什么http://localhost:8080后面就要加什么,例如就是“http://localhost:8080/FirstWeb”.

注意,此时就相当于进入了WebContent文件夹。即web的根目录,不记得了的可以翻到开头那张目录结构图看下。

这时是可以显示出具体的网页的,此时显示的是WebConten文件夹下的HelloWeb.html。

为什么?这里只是进入了文件夹啊,没有指定具体的文件。

我们接着来看,接下来我们需要看的是WebConten文件夹下的WEB-INF文件夹下的web.xml文件。(可能有的人没有这个文件,这时创建项目时有个选项没有选)

就是那个小方块要选上才有。

我们看web.xml里面的内容,当进入WebConten后确实没有指定具体的文件,但是web.xml中帮我们指定了。

它会从第一个开始逐个匹配,查找到了就显示该文件。

所以我们输入http://localhost:8080/FirstWeb就会访问HelloWeb.html文件。

当然这里面的顺序也是可以更换的,如果我把success.xml放在第一个,那么首先访问的就是success.xml。

判断当前文件夹(WebContent)是否有指定文件,如果有就显示,没有就需要往后判断。

最后还没有找到就会出现404.

当然我们也可以指定访问的文件,例如http://localhost:8080/First/success.xml,就会直接访问指定的文件。

这其中Server.xml中的path = FirstWeb创建后默认是和项目项目同名的,如果要做修改也可以。

例如我改成path = test,那么输入http://localhost:8080/test和前面效果一样。

如果我在WebContent文件夹下面添加一个文件夹,然后把HelloWeb.xml放在里面,我们用

http://localhost:8080/First还能否访问。

访问是可以访问的,但是访问的是success.xml,结合我们之前说的想一下,http://localhost:8080/FirstWeb相当于进入了WebContent。

然后web.xml中逐个匹配,HelloWeb.xml不在当前文件夹,接着继续找下一个success.xml在当前文件夹,显示succe.xml的内容。

如果要想访问HelloWeb就需要这样写:http://local:8080/FirstWeb/TestPath/HelloWeb.html,当然也可以不写具体文件名,比如:

http://localhost:8080/FirstWeb/TestPaht进入后也是web.xml逐次判断当前文件是否在文件夹中。

java web(学习笔记)项目路径问题的更多相关文章

  1. Java Web学习笔记之---JSP

    Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...

  2. JAVA Web学习笔记

    JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...

  3. [原创]java WEB学习笔记95:Hibernate 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

  7. Java Web 学习笔记 1

    Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...

  8. [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  9. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  10. [原创]java WEB学习笔记03:使用eclipes开发javaWEB项目

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. HDU2732:Leapin' Lizards(最大流)

    Leapin' Lizards Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  2. Fragmenttabhost的使用教程

    1.准备tab的图标,放到mipmap目录下面,大小64x64,准备2种,一种是选中的,一种是未选中的,如下图 2.重写fragmentabhost,防止调用fragment每次点击tab都要重新调用 ...

  3. notepad++中快速插入当前时间方法

    转载自:http://blog.csdn.net/donghustone/article/details/7436483 在notepad++中快速插入当前时间方法: 插件是notepad++的一大优 ...

  4. (转)Notepad++

    包括notepad++的详细的安装过程,插件使用说明,技巧…… crifan http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/ ...

  5. TDS开启log TDS开启SSL

    参考: http://www.ibm.com/developerworks/tivoli/library/t-tds-perf/ 1. 编辑ldif文件如下 dn: cn=Audit, cn=Log ...

  6. 【UOJ131/NOI2015D2T2-品酒大会】sam求后缀树

    题目链接:http://uoj.ac/problem/131 题意:给出一个字符串,第i个字符对应的值为a[i], 对于i∈[0,n),求最长公共前缀大于等于i的字串对个数,并求这些字符串对开头对应值 ...

  7. 「6月雅礼集训 2017 Day2」B

    [题目大意] 求n*n的棋盘,每行每列都有2个黑格子的方案数. n<=10^7 [题解] zzq的做法好神奇啊 行列建点,二分图 左边有i个点,右边有j个点的方案数 f[i,j] 左边有i个点, ...

  8. OOP第三次上机

    上机问题 T1 CSet 还是熟悉的CSet,只是多了个构造函数以及收缩空间. T2 SingleTon 单例问题. 用一个指针保存唯一的实例,用户无法在外部直接新建实例,只能使用外部接口(函数),函 ...

  9. [BZOJ3033]太鼓达人|欧拉图

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  10. 【Atcoder】ARC 080 F - Prime Flip

    [算法]数论,二分图最大匹配 [题意]有无限张牌,给定n张面朝上的牌的坐标(N<=100),其它牌面朝下,每次操作可以选定一个>=3的素数p,并翻转连续p张牌,求最少操作次数使所有牌向下. ...