使用Java配置使用SpringMVC 4.3.4进行第三方QueryCryptInitServlet配置

时间:2017-01-13 07:31:01

标签: java spring spring-mvc encryption

我正在为基于Spring的应用程序配置完全xml免费配置,我们正在使用 servlet 3.0 ,以便使用注释支持替换 web.xml

我们正在使用com.guhesan.querycrypt.servlet.QueryCryptInitServlet进行查询参数加密。最初我们使用web.xml进行了配置,截至目前还没有web.xml。所以,请建议我们如何使用带有 SpringMVC

的java配置来配置它

web.xml中的示例代码(旧)

<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配置。

1 个答案:

答案 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,这应该不重要。