有一种方法可以代替web.xml
public class Dispatcher implements WebApplicationInitializer{
@Override
public void onStartup(ServletContext servletContext) throws ServletException{
AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
appContext.register(ApplicationContext.class);
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
}
}
但是如果使用JNDI连接,则必须将此文件粘贴到web.xml中:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/cms</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
我们如何在public void onStartup(ServletContext servletContext) throws ServletException{ ... }
方法?????
答案 0 :(得分:1)
AFAIK在Servlet 3 Java API中没有替换<resource-ref/>
,因此您必须使用“web.xml”。对于大多数此类API缺陷,您可以在容器本机API(Tomcat等)中找到嵌入式容器的内容,但在这种情况下,这样做没有任何意义,因为重点是消耗由一个非嵌入式容器。