ServletContextHandler.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:marathon-auth-plugin 作者:
/**
 * @since servlet-api-3.0
 */
@Override
public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet)
{
    if (!isStarting())
        throw new IllegalStateException();

    if (servletName == null || "".equals(servletName.trim()))
        throw new IllegalStateException("Missing servlet name");

    if (!_enabled)
        throw new UnsupportedOperationException();

    final ServletHandler handler = ServletContextHandler.this.getServletHandler();
    ServletHolder holder = handler.getServlet(servletName);
    if (holder == null)
    {
        holder = handler.newServletHolder(Source.JAVAX_API);
        holder.setName(servletName);
        holder.setServlet(servlet);
        handler.addServlet(holder);
        return dynamicHolderAdded(holder);
    }

    //complete a partial registration
    if (holder.getClassName()==null && holder.getHeldClass()==null)
    {
        holder.setServlet(servlet);
        return holder.getRegistration();
    }
    else
        return null; //existing completed registration for servlet name
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号