gpt4 book ai didi

java - 用 java 配置完全替换 web.xml (Spring MVC 4 - Tomcat 7/8)

转载 作者:行者123 更新时间:2023-11-29 05:23:28 24 4
gpt4 key购买 nike

在 Google 上搜索了 3 个多小时后,我放弃了。

我有这个 web.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 Security 就成功了。而且,我想配置(在 Java 中)jsp-config 和错误页面。

我该怎么做?这是我的 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 };
}
}

最佳答案

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

关于java - 用 java 配置完全替换 web.xml (Spring MVC 4 - Tomcat 7/8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com