我正在为基于Spring的应用程序配置完全xml免费配置,我们正在使用 servlet 3.0 ,以便使用注释支持替换 web.xml
我们正在使用com.guhesan.querycrypt.servlet.QueryCryptInitServlet
进行查询参数加密。最初我们使用web.xml
进行了配置,截至目前还没有web.xml
。所以,请建议我们如何使用带有 SpringMVC
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.guhesan.querycrypt.listener.QueryCryptSessionListener</listener-class>
</listener>
<servlet>
<servlet-name>QueryCryptServlet</servlet-name>
<servlet-class>com.guhesan.querycrypt.servlet.QueryCryptInitServlet</servlet-class>
<init-param>
<param-name>queryName</param-name>
<param-value>_qx</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
类似地如何使用java配置使用Spring配置。
答案 0 :(得分:0)
如果可以扩展Listener和Servlet,则可以使用Servlet 3.0规范注释@WebListener
和@WebServlet
注释扩展版本,这些是在运行时发现的。
如果您使用Spring Boot,则需要添加@ServletComponentScan
。
另一种选择是覆盖AbstractAnnotationConfigDispatcherServletInitializer.onStartup(ServletContext servletContext)
,因为这允许您添加其他Servlet和监听器。喜欢这个
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
ServletRegistration defaultServlet = servletContext.getServletRegistration("default");
defaultServlet.addMapping("/favicon.ico");
super.onStartup(this.servletContext);
}
如果你这样做,你应该知道在加载Spring应用程序上下文之前调用了startUp,但是因为你可能不需要你的Servlet和监听器成为spring bean,这应该不重要。