有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

完全取代网络。带有java配置的xml(SpringMVC4Tomcat7/8)

在谷歌搜索了3个多小时后,我放弃了这个

我有这个网站。xml:

<context-param>
    <param-name>contextClass</param-name>
    <param-value>
        org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    </param-value>
</context-param>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>ar.com.dera.simor.config</param-value>
</context-param>

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>

<error-page>
    <error-code>404</error-code>
    <location>/not_found</location>
</error-page>

好的,我只使用servlet和Spring安全性就完成了。 但是,我还想(用Java)配置jsp配置和错误页面

我该怎么做? 这是我的WebInitializer类:

@Configuration
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
        rootContext.register(WebConfig.class);
        rootContext.scan("ar.com.dera.simor.config");
        ServletRegistration.Dynamic appServlet = servletContext.addServlet(
                "appServlet", new DispatcherServlet(rootContext));
        appServlet.setLoadOnStartup(1);
        appServlet.addMapping("/");
        servletContext.addListener(new ContextLoaderListener(rootContext));

        servletContext.addFilter("securityFilter", new DelegatingFilterProxy("springSecurityFilterChain"))
            .addMappingForUrlPatterns(null, false, "/*");
    }

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { SecurityConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] { WebConfig.class };
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter utf8Filter = new CharacterEncodingFilter();
        utf8Filter.setEncoding("UTF-8");
        utf8Filter.setForceEncoding(true);

        return new Filter[] { utf8Filter };
    }
}

共 (1) 个答案

  1. # 1 楼答案

    基本上,您不能。ServletContext没有提供任何从头开始配置错误页面和JSP的方法。但是,它确实提供了一个^{}方法来获取<jsp-config>配置(只读)