将tomcat部署的项目迁移到weblogic部署遇到的问题

问题一:

Error is: "weblogic.application.ModuleException:weblogic.management.DeploymentException: 
[HTTP:101170]The servlet default is referenced in servlet-mapping *.ico but not defined in web.xml."

原因:weblogic中对于静态资源的处理没有  defined servlet。

不同的应用服务器对应的静态资源文件处理的servlet名称不尽相同,其中servlet-name在tomcat中默认是default,该servlet在tomcat\config\web.xml文件中可以默认配置;各个容器中处理静态资源的servlet名称如下:

  1. tomcat,jboss,glassfish,jetty : defaut;  

  2. weblogic : FileServlet;  

  3. websphere: SimpleFileServlet;

  4. resin : resin-file;  

  5. GAE : _ah_default

所以使用weblogic时可用如下方式处理:

方式一:在web.xml中的org.springframework.web.servlet.DispatcherServlet 配置之前加入如下代码:

   
    FileServlet   
    *.js   

方式二:由spring mvc:resources 处理

在dispatchServlet.xml文件中增加

该方式虽然静态资源文件可以访问了,但是如果系统配置了通配符的拦截器,静态资源还是会被拦截器拦截,如下:

  
      
           
      
      

则需要将resource2添加到不拦截的路径

  
      
           
          
      
      

 

你可能感兴趣的:(将tomcat部署的项目迁移到weblogic部署遇到的问题)