本文实例讲述了Java Web开发之访问路径问题。分享给大家供大家参考。具体如下:
Web应用是由大量的文件组成的,系统等运行主要是靠文件之间的相互调用来完成,调用就是根据文件的位置来确定的。如果你在访问某个文件的时候,系统报下面这样的错误,如果你的文件名没有写错,就是路径出错了。
为了说明路径问题,我们假设有以下的文档结构:
这是JBuilder2006下的一个截图,应用的名字是filepathweb,有两个文件夹,aa和bb,其中aa下有a_a.jsp和a_b.jsp两个文件,bb下有b_a.jsp文件。
绝对路径
Web文件访问的基本格式如下:
协议://主机:端口/应用名/文件夹名/文件
协议:这里应该是http协议;
主机:是运行Web应用的服务器的地址,可以使用主机名(或者域名),可以使用IP地址,如果是本机的话,可以使用虚拟IP地址(127.0.0.1),可以使用机器名。
端口:Web服务器运行时候所使用的端口,每个服务器程序都会有端口。对于Web应用来说,默认的端口是80。
应用名:在同一个应用服务器上可能运行多个Web应用,这是允许的,我们在访问某个应用的时候,需要指定所访问的Web应用,这个路径通常是Web应用文件夹的名字,但是可以配置成其它的。应用的配置参见Web应用部署相关内容。
文件夹名:在同一个Web应用中可能会根据不同的功能创建不同的文件夹来存放不同功能模块的文件,为了访问这个文件,必须指定它所在的文件夹。
文件:要访问的jsp文件。
需要注意的是文件夹名和文件名共同确定了这个文件,相当于文件的完整路径。对于Servlet的访问,使用的不是文件名,而是在web.xml中配置的路径,可以参加Servlet部分内容。
例:如何访问上面的Web应用的中的a_a.jsp文件,假设在本机上访问,使用的端口是8083,部署的时候使用的应用的名字就是filepathweb。
路径应该这样写:
http://127.0.01:8083/filepathweb/aa/a_a.jsp
或者
http://localhost:8083/filepathweb/aa/a_a.jsp
需要解释几个问题:
(1)有人说,上网的时候从来不需要输入端口,原因是使用了默认端口,Web应用的默认端口是80。
(2)有人说,从来也不需要输入应用的名字,原因是设置了默认应用,关于默认应用请参考本书中的其它相关内容。
(3)有人说,也不需要输入要访问的文件名,原因是设置了欢迎网页,在web.xml中设置的,关于这部分内容,请参考本书中其它相关内容。
相对路径
上面介绍了对于某个文件的访问方式,这里的访问方式叫绝对路径,也就是我们使用完整的路径,在web应用的文件相互访问的时候,除了可以使用绝对路径,还可以使用相对路径。例如,我们要在a_a.jsp文件中访问a_b.jsp,直接写绝对路径肯定没有问题,但是写起来不方便,另外如果部署的时候Web应用的名字发生变化了,访问的路径都需要改变,所以我们应该使用相对路径。
相对路径有两种情况:第一种,相对于当前文件的位置;第二种,相对于应用的位置。
相对路径在使用的时候需要知道以下知识:
(1)当前路径是".",表示当前路径。
(2)上一级路径是"..",要访问上一级文件夹,就需要写"./../"。
(3)相对于应用的路径直接写"/"。
根据上面的情况在a_a.jsp文件中访问a_b.jsp有以下3种方式(通过超链的方式):
<a href="a_b.jsp">a_b.jsp</a><br>
<a href="http://localhost:8083/filepathweb/aa/a_b.jsp">a_b.jsp</a><br>
<a href="/filepathweb/aa/a_b.jsp">a_b.jsp</a><br>
第一种情况,就是相对路径,因为a_a.jsp和a_b.jsp在同一个文件夹,所以直接写a_b.jsp,系统会在a_a.jsp所在的文件夹查找a_b.jsp,使用的相对于当前文件的路径。
第二种情况,使用了绝对路径,就是前面介绍过的。
第三种情况,使用了应用的位置信息,然后只要写在应用中的位置就可以了。
这是访问同一个文件的情况,如果要访问不同文件夹的文件怎样办呢?例如,要在a_a.jsp中访问bb文件夹中的b_a.jsp。
对于bb中的b_a.jsp的访问,上面使用的3种方法中的第二种和第三种同样可以直接使用,但是相对于当前文件的路径比较麻烦,下面是在a_a.jsp中访问b_a.jsp的3种方式:
<a href="./../bb/b_a.jsp">a_b.jsp</a><br>
<a href="http://localhost:8083/testweb/bb/b_a.jsp">a_b.jsp</a><br>
<a href="/testweb/bb/b_a.jsp">a_b.jsp</a><br>
需要说明的是相对于路径,如果当前文件夹比较深,可以多次使用"../","./"表示当前文件夹。
希望本文所述对大家的JSP程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]