ssh中的相对路径与绝对路径的问题
一:前言:自己在学习ssh的时候常常被路径给迷惑,就比如在刚刚学习jsp的servlet时,绝对路径和相对路径我就弄混了,所以专门写了一篇博客来记载。而现在自己是在学ssh的时候在此遇到路径问题,本来是可以不用理会的,但是我试验了几次,觉得和jsp中的servlet中的有区别,所以还是记载下来吧。一个中午没睡觉,好困阿。
二:内容
这次写的东西是我自己刚刚学完ssh的皮毛,仿作了一个简单的增删改查的功能,所以就拿着说明。具体内容分为以下几部分:
(1):ssh中的绝对路径和相对路径问题
(2):struts2中的namespace的问题
(3):jsp文件放在WEB-INF目录下的一些安全问题和访问问题
三:具体内容:
(一):ssh中的相对路径和绝对路径
首先,就开门见山,直接上代码来说吧。下面的代码jsp页面代码中我们主要看的是
<a href="${pageContext.request.contextPath}/AAA/listPersonAction">显示用户信息</a>这行代码的变化。我的项目名字是:http://localhost/ssh 线给出主界面的网址:http://localhost/ssh/index.jsp。如果点第一个的链接会直接通过action跳转到list.jsp页面,网页上的路径是这样显示的:http://localhost/ssh/AAA/listPersonAction。点击第二个没有报错,但是没有数据显示。显示的路径是这样的:http://localhost/AAA/listPersonAction,也就是说在第二个路径中即是绝对路径在找的时候的网址是http:localhost+自己写的绝对路径(在此就是/AAA/listPersonAction);在说明白点就是把项目名称去掉了。结果找不到action。在此我只想告诉大家的时此时的绝对路径没有项目名称 。谨记谨记!!!。而第三个的相对路径其实没什么,就是相对当前的网址:http://localhost/index.jsp-------------->http://localhost/AAA/listPersonAction.
下面的是链接的代码(第一个代码是完整的路径,第二个是绝对路径路径,第三个是相对路径):
1 <body> 2 <h1>第二个页面--web-inf页面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用户信息</a> 4 <a href="${pageContext.request.contextPath}/AAA/listPersonAction">显示用户信息</a> 5 </body>
View Code
1 <body> 2 <h1>第二个页面--web-inf页面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用户信息</a> 4 <a href="/AAA/listPersonAction">显示用户信息</a> 5 </body>
View Code
1 <body> 2 <h1>第二个页面--web-inf页面中</h1> 3 <a href="${pageContext.request.contextPath}/WebRoot/WEB-INF/page/save.jsp">保存用户信息</a> 4 <a href="AAA/listPersonAction">显示用户信息</a> 5 </body>
View Code
在附上action的代码:
1 <package name="ssh" extends="struts-default" namespace="/AAA"> 2 <action name="savePersonAction" class="savePersonAction"> 3 <result name="success" type="redirect">listPersonAction</result> 4 </action> 5 6 <action name="listPersonAction" class="listPersonAction"> 7 <result name="success">/WEB-INF/page/list.jsp</result> 8 </action>
View Code
(二):在来说namespace的问题。刚刚接触namespace的时候觉得这家伙真么什么用处,但是我自己深入了解了之后,觉得还是很有用的,他能帮我们找到对应的action。首先先看看struts.xml中,package中我配置了一个namespace:/AAA,而且在上面的jsp的代码中也看到我的链接里面都加了一个/AAA进去,所以我说的直白点,这就是为了我们找到对应的action。在通过action跳转的时候我们都可以这样写${pageContext.request.contextPath}/namespace/action.action的形式。这样最简单明了了。这里我写车工AAA是为了更加凸显出不同。
(三):在来说一说把jsp的页面放在WEB-INF下的安全和访问的问题,我们把jsp页面放在WEB-INF主要是为了安全的问题(这个是百度和一本叫做javaEE核心上面有讲)。
所以在我上面给出的代码中可以看到我有一个save.jsp,如果点了那个链接,我显示错误:404的路径错误,那么为什么会是404错误了,就是因为把jsp页面放在WEB-INF下是不允许直接访问的,但是可以通过<jsp:forward/>跳转(我有实验),servlet(没实验过,百度的结果),action(有实验,成功,的确可以)等方式进行跳转。道友们可以自己实验下。
(四):结束语
今天和一个工作的人聊天,他告诉我java基础要好,这样才能很快适应其他东西。而且说“学没学好java基础决定能不能进公司,其他的决定了你进公司的薪水”。我觉得这句话很经典啊。“万丈高楼平地起啊”,所以基础也好重要啊。努力加油。我要好好补习下java的基础啊。我自己也不知道我的java基础怎么样。come on。没出社会的小菜鸟就是这样。默默奋斗吧。骚年!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
转载于:https://www.cnblogs.com/wuhao1991/p/3666308.html
ssh中的相对路径与绝对路径的问题相关推荐
- 相对路径和绝对路径_linux系统中的绝对路径和相对路径
CentOS7.3学习笔记总结(五十九)- linux系统中的绝对路径和相对路径 在linux系统中存在两种路径表示:绝对路径和相对路径 绝对路径: 绝对文件路径定义了在目录结构中该目录的确切位置,以 ...
- linux var目录全名,linux系统中的绝对路径和相对路径
linux系统中的绝对路径和相对路径 在linux系统中存在两种路径表示:绝对路径和相对路径 绝对路径: 绝对文件路径定义了在目录结构中该目录的确切位置,以目录的根目录开始,相当于目录的全名:总是以正 ...
- python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
[本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...
- 获得虚拟服务器相对路径,在web应用中获取相对路径和绝对路径
1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:reque ...
- C++中相对路径和绝对路径
C++中相对路径与绝对路径以及斜杠与反斜杠的区别 文件路径 正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/":反斜杠,也称右斜杠,符号是"\".文件路径的表示可 ...
- Web开发中的相对路径和绝对路径
在学习HTML的时候一定会遇到引入文件和链接跳转页面,比如:JS文件.CSS文件.Image图片.我们就会考虑是相对路径和绝对路径的问题.下面PHP程序员雷雪松就详细讲解下Web开发中的相对路径和绝对 ...
- .gitmodule中没有为非子模块的路径找到子模块映射
本文翻译自:No submodule mapping found in .gitmodule for a path that's not a submodule I have a project th ...
- eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题
和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...
- 网页制作中绝对路径和相对路径的区别
网页制作中绝对路径和相对路径的区别 http://www.veryhuo.com 烈火网 2012-10-10 投递稿件 做个开发的人,对于文件或者文件夹的定义都是有一定的规范的,比如建立一个网站前端 ...
最新文章
- xnawindowsph又见“X”Phone ePhone手机V90新鲜评测
- 临时目录 Path.GetTempFileName()
- 1000多首无损歌曲合集
- 牛客题霸 NC14 按之字形顺序打印二叉树
- boost::sort模块实现spreadsort 双排序示例
- request用法_虚拟语气用法总结
- 关闭TCP连接的学问
- CI框架PHP漫画小说二合一CMS网站系统源码
- 连接oracle配置文件参数,Hibernate3 +Oracle10g 集群,hibernate配置文件中如何编写连接参数...
- Java学习笔记之log4j与commons-logging转
- 敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算)...
- mysql数据库备份注意,Tips: MySQL数据库使用mysqldump备份恢复时的注意事项
- 蓝桥杯单片机第九届 省赛 彩灯控制器
- A23_郭自强_网页前端1
- mysql获取年龄_sql获取时间、年龄
- js Date 获取 年 月 日
- android go分析和评述,Pathway和GO功能分析及显著性判断
- 安天每日安全简讯20160712
- RS-232或RS-485与CAN网络互联互通
- 2021年全球运动文胸收入大约10690百万美元,预计2028年达到21150百万美元