一:前言:自己在学习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中的相对路径与绝对路径的问题相关推荐

  1. 相对路径和绝对路径_linux系统中的绝对路径和相对路径

    CentOS7.3学习笔记总结(五十九)- linux系统中的绝对路径和相对路径 在linux系统中存在两种路径表示:绝对路径和相对路径 绝对路径: 绝对文件路径定义了在目录结构中该目录的确切位置,以 ...

  2. linux var目录全名,linux系统中的绝对路径和相对路径

    linux系统中的绝对路径和相对路径 在linux系统中存在两种路径表示:绝对路径和相对路径 绝对路径: 绝对文件路径定义了在目录结构中该目录的确切位置,以目录的根目录开始,相当于目录的全名:总是以正 ...

  3. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...

  4. 获得虚拟服务器相对路径,在web应用中获取相对路径和绝对路径

    1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:reque ...

  5. C++中相对路径和绝对路径

    C++中相对路径与绝对路径以及斜杠与反斜杠的区别 文件路径 正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/":反斜杠,也称右斜杠,符号是"\".文件路径的表示可 ...

  6. Web开发中的相对路径和绝对路径

    在学习HTML的时候一定会遇到引入文件和链接跳转页面,比如:JS文件.CSS文件.Image图片.我们就会考虑是相对路径和绝对路径的问题.下面PHP程序员雷雪松就详细讲解下Web开发中的相对路径和绝对 ...

  7. .gitmodule中没有为非子模块的路径找到子模块映射

    本文翻译自:No submodule mapping found in .gitmodule for a path that's not a submodule I have a project th ...

  8. eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  9. 网页制作中绝对路径和相对路径的区别

    网页制作中绝对路径和相对路径的区别 http://www.veryhuo.com 烈火网 2012-10-10 投递稿件 做个开发的人,对于文件或者文件夹的定义都是有一定的规范的,比如建立一个网站前端 ...

最新文章

  1. xnawindowsph又见“X”Phone ePhone手机V90新鲜评测
  2. 临时目录 Path.GetTempFileName()
  3. 1000多首无损歌曲合集
  4. 牛客题霸 NC14 按之字形顺序打印二叉树
  5. boost::sort模块实现spreadsort 双排序示例
  6. request用法_虚拟语气用法总结
  7. 关闭TCP连接的学问
  8. CI框架PHP漫画小说二合一CMS网站系统源码
  9. 连接oracle配置文件参数,Hibernate3 +Oracle10g 集群,hibernate配置文件中如何编写连接参数...
  10. Java学习笔记之log4j与commons-logging转
  11. 敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算)...
  12. mysql数据库备份注意,Tips: MySQL数据库使用mysqldump备份恢复时的注意事项
  13. 蓝桥杯单片机第九届 省赛 彩灯控制器
  14. A23_郭自强_网页前端1
  15. mysql获取年龄_sql获取时间、年龄
  16. js Date 获取 年 月 日
  17. android go分析和评述,Pathway和GO功能分析及显著性判断
  18. 安天每日安全简讯20160712
  19. RS-232或RS-485与CAN网络互联互通
  20. 2021年全球运动文胸收入大约10690百万美元,预计2028年达到21150百万美元

热门文章

  1. mybatis入门常见错误
  2. 红队中易被攻击的一些重点系统漏洞整理
  3. JavaScript进阶1-学习笔记
  4. 23-初识正则表达式
  5. springboot+IntelliJ IDEA实现热部署
  6. 字符和编码之间的转换(Python)
  7. Python Demo 06 金庸武侠写作风格分析
  8. WGAN-GP 学习笔记
  9. 字节跳动Deep Retrieval召回模型笔记
  10. Java序列化接口Serializable接口的作用总结