大家好,  现在有一个项目上线了,但是想给他加一个上下文,请问怎么能让自动修改链接?谢谢  如果是src="/manag" href="/manage"的可以,但如果是action="/manage" location="/manage"就改不过来,这是页面的,那java类里的怎么改如response.sendRedirect("/manage"),以上统一改为"/fb/manage",就是上下文根为/fb,期待中........................

解决方案 »

  1.   

    就是在一个项目里加一个访问的上下文根,
    比如以前是http://localhost/index 变为 http://localhost/fb/index 
    再比如,java类里的response.sendRedirect("/manage/common/error.jsp)
    改为response.sendRedirect("/fb/manage/common/error.jsp)
    因为要改的是整个项目,加起来有200多个文件,就是想有一种自动修改的方式
      

  2.   

    在Dreamweaver中把项目导入,用项目下的整体查找替换试试.
    不知道能否帮到你.
      

  3.   

    楼上说的对,Dreamweaver有这功能,页面变动位置后,链接可自动更改。
      

  4.   

    楼主尝试着用Editplus试试:
    具体步骤如下:搜索-〉在文件中查找:
    查找“/manage/”在结果窗口,选择全部打开,
    然后“Ctrl+H”选择替换操作替换的源为:/manage/
    替换的目标为:/fb/manage/
    然后选中“所有打开文件”单选钮基本可以实现楼主愿望。
      

  5.   

    但是,楼主这么开发不是一个很好的设计,
    在jsp页面,引入的图片和文件最好都以相对路径来表示
    如果实在需要以绝对路径表达
    最好加入下面语句:<%
    String contextPath = request.getContextPath();
    %>src="<%=contextPath %>/manag" href="<%=contextPath %>/manage"
    action="<%=contextPath %>/manage" servlet里也一样。这样,无论你如何更改上下文
    都不用动你的代码了:)
      

  6.   

    同意emin_lee的做法。。如果要批量替换的工具的话可以用ultraEdit,我基本上用这个来批量替换,比如图片路径更改啦之类的
      

  7.   

    emin_lee 你好:如果用editplus也是只能一个文件一个文件的换,不能整个目录换,有没有好的方法啊
      

  8.   

    给楼主提供一个同样的案例, 楼主可举一反三我这里用的 MyEclipse + Tomcat 测试的1. 先将整个工程导入MyEclipse.  工程名为 manage
    2. 在Tomcat中发布后, 上下文为 manage
    3. 在MyEclipse 中将工程名更改, 改成 fb
    4. 将工程目录下的 .mymetadata 文件中的 context-root="/manage" 改成 "/fb"
    5. 在MyEclipse 中将工程删除后, 重新导入
    6. 在Tomcat中重新发布, 上下文件就为 fb 了如果工程中采用的是相对路径的话, 工程名没有硬编码的话, 比如 采用struts 标签库, 这样就行得通.如果工程中采用绝对路径, 加入工程名或网站名的话, 可以写个小程序, 读取相关文件, 进行查找替换.自己测试出来的方法, 希望对楼主有所帮助~~