我用的是tomcat 6.0 myEclipse 6.0.1
在工程下建立了一个js文件夹,放js文件,在没有把工程设置成tomcat默认工程的时候都是正常加载显示,可是设置成默认工程之后,就找不到工程中的js文件了.
现在有的解决方法是把工程中的js路径加上工程名,就可以正常显示,但是这个方法的移植性差,这样之后就不能改工程的名字了,改完工程名字之后,那些路径都得改.
解决方法2,把原来的js文件夹的名字改成别的,就可以正常显示,但是这个是为什么啊?不明白…… 以前写的工程也没有发生过这样的事,请高手给分析下,最好给个好的解决方法……感激不尽啦……

解决方案 »

  1.   

    工程名用下面其中之一代替:
    1:  <%=request.getContextPath() %>2: ${pageContext.servletContext.contextPath}
      

  2.   

    我用的就是<%=request.getContextPath() %>这个啊
      

  3.   

    工程不大的话发给我[email protected]
      

  4.   

    和server.xml中配置的虚拟路径有关系的。
    比如<Context docBase="shfftwebapp" path="/shfftwebapp" reloadable="false" source="org.eclipse.jst.jee.server:shfftwebapp"/></Host>
    如果path为""的话,<%=request.getContextPath() %>获取的就是""
      

  5.   

    我的那个path确实是空的,我想在IE下直接输入IP就访问我的这个工程,可是像你说的这样改过之后是没有效果的。应该怎么解决呢?
      

  6.   

    另外,看你是学JSP的。早些年我也用过,接触很多学和用JSP的新人。我发现他们普遍只学了JSP,却非常缺乏广泛而必要的电脑基础知识。无论是自学,还是培训的,肯定都是学错了。我建议你好好补充一下,不要觉得JSP比那些低层次的基础高级而优越,事实上,浮空建楼,再漂亮的楼也要坠毁,只不过是个坠落过程的时间问题。
      

  7.   

    我改过啊,不过没有出问题啊,所以才不明白……路径的问题我当然明白,只是我不明白为什么把js文件放到不是以js为文件夹名的就不出问题……
    也许是我的基础不够好,而你说的什么必要的电脑基础知识指的是什么,能否指点一下,我现在还很迷茫,不知道我应该好好学习那些东西……
      

  8.   

    你这两个说法,给我感觉是矛盾的,这两种方法,你在代码里应该还做了其它的改动而没说清楚吧。正因为这个感觉,我才说你对基础的理解不扎实。至于基础,包括多了,金字塔就是这样,基础是面最大的最广泛的,然后才是向上,细化精化高端前沿。很多时候我不愿意和学JSP的人聊(虽然我自己也做了两年JSP开发),因为他们动辄就拽新概念新名词(当然,实际上真正掌握多少就未必和他们念起名字的熟练程度成正比了),可是却连很多基础都不知道或很模糊。当然,如果这些是没影响的,我也不会硬说他们该掌握,但事实上这些影响只是因为他们总在那个狭小原有的WORKSPACE里,一旦稍有新扩展变化,就高空坠落了。