java.lang.ClassNotFoundException: org.apache.axis2.transport.http.AxisAdminServlet

如图所示:遇到启动服务AxisAdminServlet类无法找到的问题,如果排查过这个类已经存在但是依然存在启动错误

将web.xml中的

<servlet>
        <display-name>Apache-Axis Admin Servlet Web Admin</display-name>
        <servlet-name>AxisAdminServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
        <load-on-startup>100</load-on-startup>
    </servlet>

修改为:

    <servlet>
        <display-name>Apache-Axis Admin Servlet Web Admin</display-name>
        <servlet-name>AxisAdminServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
        <!-- <load-on-startup>100</load-on-startup> -->
    </servlet>

我们注意到它里面包含了这段配置:<load-on-startup>100</load-on-startup>被注释掉后就可以正常启动,那么这个配置有什么作用呢?

  作用如下:

  1.load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。

  2.它的值必须是一个整数,表示servlet应该被载入的顺序。;

  3.当值为0或者大于0时,表示容器在启动时就加载并初始化这个servlet。

  4.当值小于0或者没有指定时,则表示容器在该Servlet被请求时,才会去加载。

  5.正数的值越小,该Servlet的优先级就越高,应用启动时就优先加载。

  6.当值相同的时候,容器就会自己选择优先加载。

  所以,<load-on-startuo>x</load-on-startuo>中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。

  通常大多数Servlet是在用户第一次请求的时候由应用服务器创建并初始化,但<load-on-startup>n</load-on-startup>   可以用来改变这种状况,根据自己需要改变加载的优先级!

猜你喜欢

转载自www.cnblogs.com/thinker001/p/9109735.html