zoukankan      html  css  js  c++  java
  • 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。没出社会的小菜鸟就是这样。默默奋斗吧。骚年!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

     

  • 相关阅读:
    ztree
    SAMEORIGIN
    Unity shader学习之折射
    Unity shader学习之反射
    Unity shader学习之标准的Unity shader
    Unity shader学习之Alpha Test的阴影
    Unity shader学习之阴影,衰减统一处理
    Unity shader学习之阴影
    Unity shader学习之Forward Rendering Path
    AsyncClientUtils
  • 原文地址:https://www.cnblogs.com/wuhao1991/p/3666308.html
Copyright © 2011-2022 走看看