<a href="/servlet/addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
这样的url点击后地址栏里变成了这样,项目名没了。
http://localhost/servlet/addShoppingCartServlet?id=0001&name=书&price=50<a href="/TestSession/servlet/addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
加上项目名后地址栏里又换了,出来了两个  /servlet   。。
http://localhost/TestSession/servlet/servlet/XML里这样的,一直没变,不明白为什么。右击链接的地址是对的,就是点击之后就变了。
  <servlet-mapping>
    <servlet-name>addShoppingCartServlet</servlet-name>
    <url-pattern>/servlet/addShoppingCartServlet</url-pattern>
  </servlet-mapping>

解决方案 »

  1.   

    <a href="servlet/addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
    多了个斜杠
      

  2.   

    <a href="/servlet/addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
    生成这个URL
    http://localhost/servlet/addShoppingCartServlet?id=0001&name=书&price=50
    是正常的,因为<a>标签的href以/开头的时候认为是根目录。看一下你的HTML源码,在Head中是不是有base标签,如:
    <base href="http://localhost/TestSession/servlet/" />如果有的话
    <a href="servlet/addShoppingCartServlet?id=0003&amp;name=电脑&amp;price=5550">购买</a>
    生成http://localhost/TestSession/servlet/servlet/....也是正常的。只有这个没想明白:
    <a href="/TestSession/servlet/addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
    加上项目名后地址栏里又换了,出来了两个  /servlet   。。
    http://localhost/TestSession/servlet/servlet/
      

  3.   

    我觉的把配置文件中的servlet 去掉  
    <a href="addShoppingCartServlet?id=0003&name=电脑&price=5550">购买</a>
    你可以试试!!