[英]How to register multiple servlets in WebApplicationInitializer programatically?
我寫了下面的類以編程方式注冊多個servlet,但是它不能正常工作,任何人都可以幫我這個忙。
public class appIntializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext context) throws ServletException {
XmlWebApplicationContext appCtxt = new XmlWebApplicationContext();
appContext.setConfigLocation("/WEB-INF/MVCLogin-servlet.xml");
context.addListener(new ContextLoaderListener(appCtxt));
ServletRegistration.Dynamic dispatcher = context.addServlet("MVC",
new DispatcherServlet(appCtxt));
ServletRegistration.Dynamic testServlet= context.addServlet(
"Test", TestServlet.class);
testServlet.addMapping("/test");
Dynamic securityFilter = context.addFilter(
AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME,
DelegatingFilterProxy.class);
securityFilter.addMappingForUrlPatterns(
EnumSet.allOf(DispatcherType.class), false, "/*");
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
}
}
我應該在Web應用程序初始化時加載兩個servlet。
我錯過了setLoadonstartup的問題。
public class appIntializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext context) throws ServletException {
XmlWebApplicationContext appCtxt = new XmlWebApplicationContext();
appContext.setConfigLocation("/WEB-INF/MVCLogin-servlet.xml");
context.addListener(new ContextLoaderListener(appCtxt));
ServletRegistration.Dynamic dispatcher = context.addServlet("MVC",
new DispatcherServlet(appCtxt));
ServletRegistration.Dynamic testServlet= context.addServlet(
"Test", TestServlet.class);
testServlet.setLoadOnStartup(2);
testServlet.addMapping("/test");
Dynamic securityFilter = context.addFilter(
AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME,
DelegatingFilterProxy.class);
securityFilter.addMappingForUrlPatterns(
EnumSet.allOf(DispatcherType.class), false, "/*");
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.