che*_*tts 63 java spring spring-boot
我需要在我的应用程序中注册一个额外的servlet.但是使用Spring Boot及其Java Config,我不能只在web.xml文件中添加servlet映射.
如何添加其他servlet?
che*_*tts 130
也有 ServletRegistrationBean
@Bean
public ServletRegistrationBean servletRegistrationBean(){
return new ServletRegistrationBean(new FooServlet(),"/someOtherUrl/*");
}
Run Code Online (Sandbox Code Playgroud)
最终成为我走的路.
chr*_*ke- 53
只需为servlet添加一个bean.它将被映射到/{beanName}/.
@Bean
public Servlet foo() {
return new FooServlet();
}
Run Code Online (Sandbox Code Playgroud)
小智 20
您可以在Application类中使用不同的ServletRegistrationBean注册多个不同的servlet,如@Bean,并且可以注册一个具有多个servlet映射的servlet;
@Bean
public ServletRegistrationBean axisServletRegistrationBean() {
ServletRegistrationBean registration = new ServletRegistrationBean(new AxisServlet(), "/services/*");
registration.addUrlMappings("*.jws");
return registration;
}
@Bean
public ServletRegistrationBean adminServletRegistrationBean() {
return new ServletRegistrationBean(new AdminServlet(), "/servlet/AdminServlet");
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我们还可以通过以下方式注册 Servlet:
@Configuration
public class ConfigureWeb implements ServletContextInitializer, EmbeddedServletContainerCustomizer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
registerServlet(servletContext);
}
private void registerServlet(ServletContext servletContext) {
log.debug("register Servlet");
ServletRegistration.Dynamic serviceServlet = servletContext.addServlet("ServiceConnect", new ServiceServlet());
serviceServlet.addMapping("/api/ServiceConnect/*");
serviceServlet.setAsyncSupported(true);
serviceServlet.setLoadOnStartup(2);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53585 次 |
| 最近记录: |