@Override public RegistrationBean createRegistrationBean( String name, Servlet source, int totalNumberOfSourceBeans) { String url = (totalNumberOfSourceBeans == 1 ? "/" : "/" + name + "/"); if (name.equals(DISPATCHER_SERVLET_NAME)) { url = "/"; // always map the main dispatcherServlet to "/" } ServletRegistrationBean bean = new ServletRegistrationBean(source, url); bean.setMultipartConfig(this.multipartConfig); return bean; }
@SuppressWarnings("serial") private ServletContextInitializer errorServletRegistration() { ServletRegistrationBean bean = new ServletRegistrationBean( new ExampleServlet() { @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { throw new RuntimeException("Planned"); } }, "/bang"); bean.setName("error"); return bean; }
protected final ServletContextInitializer sessionServletRegistration() { ServletRegistrationBean bean = new ServletRegistrationBean( new ExampleServlet() { @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { HttpSession session = ((HttpServletRequest) request).getSession(true); long value = System.currentTimeMillis(); Object existing = session.getAttribute("boot"); session.setAttribute("boot", value); PrintWriter writer = response.getWriter(); writer.append(String.valueOf(existing) + ":" + value); } }, "/session"); bean.setName("session"); return bean; }