Refine search
final ServletHolder sh = new ServletHolder(clazz); sh.setName(name); sh.setInitParameters(params); final ServletMapping[] servletMappings = webAppContext.getServletHandler().getServletMappings(); for (int i = 0; i < servletMappings.length; i++) { if (servletMappings[i].containsPathSpec(pathSpec)) { if (LOG.isDebugEnabled()) { LOG.debug("Found existing " + servletMappings[i].getServletName() + " servlet at path " + pathSpec + "; will replace mapping" + " with " + sh.getName() + " servlet"); webAppContext.getServletHandler() .setServletMappings(newServletMappings); break; webAppContext.addServlet(sh, pathSpec);
/** * Add Jetty's {@code JspServlet} to the given {@link WebAppContext}. * @param context the jetty {@link WebAppContext} */ protected final void addJspServlet(WebAppContext context) { Assert.notNull(context, "Context must not be null"); ServletHolder holder = new ServletHolder(); holder.setName("jsp"); holder.setClassName(getJsp().getClassName()); holder.setInitParameter("fork", "false"); holder.setInitParameters(getJsp().getInitParameters()); holder.setInitOrder(3); context.getServletHandler().addServlet(holder); ServletMapping mapping = new ServletMapping(); mapping.setServletName("jsp"); mapping.setPathSpecs(new String[] { "*.jsp", "*.jspx" }); context.getServletHandler().addServletMapping(mapping); }
public ServletMapping addServletMapping (String servletName, XmlParser.Node node, WebAppContext context, Descriptor descriptor) ServletMapping mapping = new ServletMapping(new Source(Source.Origin.DESCRIPTOR, descriptor.getResource().toString())); mapping.setServletName(servletName); mapping.setDefault(descriptor instanceof DefaultsDescriptor); if (sm.getPathSpecs() != null) for (String ps:sm.getPathSpecs()) if (p.equals(ps) && (sm.isDefault() || servletName.equals(sm.getServletName()))) if (sm.isDefault()) if (LOG.isDebugEnabled()) LOG.debug("{} in mapping {} from defaults descriptor is overridden by ",ps,sm,servletName); LOG.warn("Duplicate mapping from {} to {}", p, servletName); String[] updatedPaths = ArrayUtil.removeFromArray(sm.getPathSpecs(), ps); sm.setPathSpecs(updatedPaths); if (LOG.isDebugEnabled()) LOG.debug("Removed path {} from mapping {}", p,sm); context.getMetaData().setOrigin(servletName+".servlet.mapping."+p, descriptor); mapping.setPathSpecs((String[]) paths.toArray(new String[paths.size()])); if (LOG.isDebugEnabled()) LOG.debug("Added mapping {} ",mapping); _servletMappings.add(mapping);
ServletHolder[] holders = _servletHandler.getServlets(); ServletHolder holder = getHolder (holders, servlet); if (LOG.isDebugEnabled()) LOG.debug("Adding servlet mapping for named servlet:"+servlet+":"+URIUtil.addPaths(servlet_path,servlet)+"/*"); ServletMapping mapping = new ServletMapping(); mapping.setServletName(servlet); mapping.setPathSpec(URIUtil.addPaths(servlet_path,servlet)+"/*"); _servletHandler.setServletMappings((ServletMapping[])ArrayUtil.addToArray(_servletHandler.getServletMappings(), mapping, ServletMapping.class)); if (LOG.isDebugEnabled()) LOG.debug("Making new servlet="+servlet+" with path="+path+"/*"); holder=_servletHandler.addServletWithMapping(servlet, path+"/*"); holder.setInitParameters(_parameters); try {holder.start();} catch (Exception e) Object s=holder.getServlet();
JspConfig config = (JspConfig)context.getServletContext().getJspConfigDescriptor(); if (config == null) context.getServletContext().setJspConfigDescriptor(config); if (LOG.isDebugEnabled()) LOG.debug(config.toString()); ServletHandler handler = context.getServletHandler(); ServletHolder jsp_pg_servlet = handler.getServlet(JspPropertyGroupServlet.NAME); if (jsp_pg_servlet==null) jsp_pg_servlet=new ServletHolder(JspPropertyGroupServlet.NAME,new JspPropertyGroupServlet(context,handler)); handler.addServlet(jsp_pg_servlet); ServletMapping mapping = new ServletMapping(); mapping.setServletName(JspPropertyGroupServlet.NAME); mapping.setPathSpecs(paths.toArray(new String[paths.size()])); context.getServletHandler().addServletMapping(mapping);
LOG.warn(_className+" cannot be loaded"); return; LOG.warn(clazz.getName()+" is not assignable from javax.servlet.http.HttpServlet"); return; MetaData metaData = _context.getMetaData(); if (h.getName() != null && servletName.equals(h.getName())) _context.getServletHandler().addServlet(holder); ServletMapping mapping = new ServletMapping(); mapping.setServletName(holder.getName()); mapping.setPathSpecs( LazyList.toStringArray(urlPatternList)); _context.getServletHandler().addServletMapping(mapping); metaData.setOrigin(servletName+".servlet.mappings"); if (m.getServletName() != null && servletName.equals(m.getServletName())) if (!m.isDefault()) ServletMapping m = _context.getServletHandler().getServletMapping(p); if (m != null && !m.isDefault()) ServletMapping m = new ServletMapping(); m.setServletName(servletName); m.setPathSpecs(LazyList.toStringArray(urlPatternList)); _context.getServletHandler().addServletMapping(m);
/** * Add Jetty's {@code DefaultServlet} to the given {@link WebAppContext}. * @param context the jetty {@link WebAppContext} */ protected final void addDefaultServlet(WebAppContext context) { Assert.notNull(context, "Context must not be null"); ServletHolder holder = new ServletHolder(); holder.setName("default"); holder.setClassName("org.eclipse.jetty.servlet.DefaultServlet"); holder.setInitParameter("dirAllowed", "false"); holder.setInitOrder(1); context.getServletHandler().addServletWithMapping(holder, "/"); context.getServletHandler().getServletMapping("/").setDefault(true); }
LOG.warn(_className+" cannot be loaded"); return; MetaData metaData = _context.getMetaData(); ServletHolder[] holders = _context.getServletHandler().getServlets(); if (h.getName() != null && servletName.equals(h.getName())) _context.getServletHandler().addServlet(holder); mapping = new ServletMapping(source); mapping.setServletName(holder.getName()); mapping.setPathSpecs( LazyList.toStringArray(urlPatternList)); mapping = new ServletMapping(new Source(Source.Origin.ANNOTATION, clazz.getName())); mapping.setServletName(servletName); mapping.setPathSpecs(LazyList.toStringArray(urlPatternList)); ServletMapping existingMapping = _context.getServletHandler().getServletMapping(p); if (existingMapping != null && existingMapping.isDefault()) String[] updatedPaths = ArrayUtil.removeFromArray(existingMapping.getPathSpecs(), p); existingMapping.setPathSpecs(updatedPaths); if (LOG.isDebugEnabled()) LOG.debug("Removed path {} from mapping {} from defaults descriptor ", p,existingMapping);
@Override public synchronized void addServlet(final ServletModel model) { LOG.debug("Adding servlet [" + model + "]"); final ServletMapping mapping = new ServletMapping(); mapping.setServletName(model.getName()); mapping.setPathSpecs(model.getUrlPatterns()); mapping.setDefault(true); holder = new ServletHolder(model.getServletClass()); } else { holder = new ServletHolder(model.getServlet()); holder.setName(model.getName()); if (model.getInitParams() != null) { holder.setInitParameters(model.getInitParams());
/** * Adds Citrus message dispatcher servlet. */ private void addDispatcherServlet() { ServletHolder servletHolder = new ServletHolder(new CitrusMessageDispatcherServlet(this)); servletHolder.setName(getServletName()); servletHolder.setInitParameter("contextConfigLocation", contextConfigLocation); servletHandler.addServlet(servletHolder); ServletMapping servletMapping = new ServletMapping(); servletMapping.setServletName(getServletName()); servletMapping.setPathSpec(servletMappingPath); servletHandler.addServletMapping(servletMapping); }
ServletHolder holder = new ServletHolder(); holder.setName("jbiServlet"); holder.setClassName(HttpBridgeServlet.class.getName()); ServletHandler servletHandler = new ServletHandler(); servletHandler.setServlets(new ServletHolder[]{holder}); ServletMapping mapping = new ServletMapping(); mapping.setServletName("jbiServlet"); mapping.setPathSpec("/*"); servletHandler.setServletMappings(new ServletMapping[]{mapping}); if (processor.getAuthMethod() != null) { ConstraintSecurityHandler secHandler = new ConstraintSecurityHandler();
for (ServletMapping servletMapping : _servletMappings) String[] pathSpecs = servletMapping.getPathSpecs(); if (pathSpecs != null) ServletHolder servlet_holder = _servletNameMap.get(mapping.getServletName()); if (servlet_holder == null) throw new IllegalStateException("No such servlet: " + mapping.getServletName()); if (!servlet_holder.isEnabled()) continue; if (finalMapping.isDefault()) finalMapping = mapping; else if (!mapping.isDefault()) throw new IllegalStateException("Multiple servlets map to path: "+pathSpec+": "+finalMapping.getServletName()+","+mapping.getServletName()); throw new IllegalStateException ("No acceptable servlet mappings for "+pathSpec); if (LOG.isDebugEnabled()) LOG.debug("Chose path={} mapped to servlet={} from default={}", pathSpec, finalMapping.getServletName(), finalMapping.isDefault()); pm.put(pathSpec,_servletNameMap.get(finalMapping.getServletName())); if (LOG.isDebugEnabled()) LOG.debug("filterNameMap="+_filterNameMap);
private Holder(@NotNull String pathSpec, @NotNull Servlet servlet) { path = pathSpec; holder = new ServletHolder(servlet); mapping = new ServletMapping(); mapping.setServletName(holder.getName()); mapping.setPathSpec(pathSpec); } }
JspConfig config = (JspConfig)context.getServletContext().getJspConfigDescriptor(); if (config == null) context.getServletContext().setJspConfigDescriptor(config); if (LOG.isDebugEnabled()) LOG.debug(config.toString()); Map.Entry entry = context.getServletHandler().getHolderEntry("test.jsp"); if (entry != null) jspName = holder.getName(); ServletMapping mapping = new ServletMapping(); mapping.setServletName(jspName); mapping.setPathSpecs(paths.toArray(new String[paths.size()])); context.getServletHandler().addServletMapping(mapping);
updateNameMappings(); updateMappings(); if (getServletMapping("/")==null && _ensureDefaultServlet) if (LOG.isDebugEnabled()) LOG.debug("Adding Default404Servlet to {}",this); addServletWithMapping(Default404Servlet.class,"/"); updateMappings(); getServletMapping("/").setDefault(true);
/** conveniance method to add a servlet. * @param servlet servlet holder to add * @param pathSpec servlet mappings for the servletHolder */ public void addServletWithMapping (ServletHolder servlet,String pathSpec) { ServletHolder[] holders=getServlets(); if (holders!=null) holders = holders.clone(); try { setServlets(ArrayUtil.addToArray(holders, servlet, ServletHolder.class)); ServletMapping mapping = new ServletMapping(); mapping.setServletName(servlet.getName()); mapping.setPathSpec(pathSpec); setServletMappings(ArrayUtil.addToArray(getServletMappings(), mapping, ServletMapping.class)); } catch (Exception e) { setServlets(holders); if (e instanceof RuntimeException) throw (RuntimeException)e; throw new RuntimeException(e); } }
public void visitJspConfig(WebAppContext context, Descriptor descriptor, XmlParser.Node node) context.getServletContext().setJspConfigDescriptor(config); if (LOG.isDebugEnabled()) LOG.debug(config.toString()); for (ServletMapping m: _servletMappings) if (m.getServletName().equals("jsp")) if (jspMapping.getPathSpecs() == null) if (LOG.isDebugEnabled()) LOG.debug("Adding all paths from jsp-config to jsp servlet mapping"); jspMapping.setPathSpecs(paths.toArray(new String[paths.size()])); if (jspMapping.containsPathSpec(p)) piterator.remove(); for (String p:jspMapping.getPathSpecs()) paths.add(p); if (LOG.isDebugEnabled()) LOG.debug("Adding extra paths from jsp-config to jsp servlet mapping"); jspMapping.setPathSpecs((String[])paths.toArray(new String[paths.size()])); ServletMapping mapping = new ServletMapping(new Source(Source.Origin.DESCRIPTOR, descriptor.getResource().toString())); mapping.setServletName("jsp"); mapping.setPathSpecs(paths.toArray(new String[paths.size()])); _servletMappings.add(mapping);
public Set<String> addMapping(String... urlPatterns) illegalStateIfContextStarted(); Set<String> clash=null; for (String pattern : urlPatterns) ServletMapping mapping = _servletHandler.getServletMapping(pattern); if (mapping!=null) if (!mapping.isDefault()) ServletMapping mapping = new ServletMapping(); mapping.setServletName(ServletHolder.this.getName()); mapping.setPathSpecs(urlPatterns); _servletHandler.addServletMapping(mapping);
if (!(_context.getSecurityHandler() instanceof ConstraintAware)) LOG.warn("SecurityHandler not ConstraintAware, skipping security annotation processing"); return; List<ConstraintMapping> constraintMappings = ((ConstraintAware)_context.getSecurityHandler()).getConstraintMappings(); LOG.warn("Constraints already defined for "+clazz.getName()+", skipping ServletSecurity annotation"); return; for (ServletMapping sm : servletMappings) for (String url : sm.getPathSpecs()) _context.getMetaData().setOrigin("constraint.url."+url, Origin.Annotation); constraintMappings.addAll(ConstraintSecurityHandler.createConstraintsWithMappingsForPath(clazz.getName(), url, securityElement));
/** * @param servletName * @param node * @param context */ protected ServletMapping addServletMapping (String servletName, XmlParser.Node node, WebAppContext context, Descriptor descriptor) { ServletMapping mapping = new ServletMapping(); mapping.setServletName(servletName); List<String> paths = new ArrayList<String>(); Iterator<XmlParser.Node> iter = node.iterator("url-pattern"); while (iter.hasNext()) { String p = iter.next().toString(false, true); p = normalizePattern(p); paths.add(p); context.getMetaData().setOrigin(servletName+".servlet.mapping."+p, descriptor); } mapping.setPathSpecs((String[]) paths.toArray(new String[paths.size()])); context.getServletHandler().addServletMapping(mapping); return mapping; }