最近上传了一个网站到服务器的ftp上。本地测试没问题,另一个服务器也没问题。
后来部署到正式环境的时候,出了麻烦。先说下环境:
    linux服务器, 容器是tomcat7,  java环境是jre7部署以后,在测试访问的时候,只要是url多于两层的就会出错。
例如:http://www.xxxx.com/test1/test
这样的,就会404。由于是上传的ftp于是只能看日志。在日志中看到在/*这样的filter(第一个filter)就已经是访问404.html了。但是访问http://www.xxxx.com/test 这么访问的话,就会顺利的进入filter,然后根据这个url(例子中的/test)去调用servlet去处理。
总之就是只要url超过两层。。filter和servlet都没处理呢,就已经是404了减到一层的时候,就一切正常。求教可能是什么原因。jstomcatlinuxurl

解决方案 »

  1.   

    你的filter url-pattern 怎么写的?
      

  2.   

    貌似是因为你的index page有问题哦
      

  3.   

    例:
    <servlet>
    <servlet-name>simpleMgrServlet</servlet-name>
    <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>simpleMgrServlet</servlet-name>
    <url-pattern>/mgr/simplemgr</url-pattern>
    </servlet-mapping>输入http://网址/mgr/simplemgr  没有进入对应的simpleMgrServlet
    如果改成<url-pattern>/simplemgr</url-pattern>
    输入http://网址/simplemgr,使用正常。