Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save NeilAlishev/2f7a876867a0a8516908f96ea14521e9 to your computer and use it in GitHub Desktop.

Select an option

Save NeilAlishev/2f7a876867a0a8516908f96ea14521e9 to your computer and use it in GitHub Desktop.
HiddenHttpMethodFilter Java-based configuration
import org.springframework.web.filter.HiddenHttpMethodFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
public class MySpringMvcDispatcherSerlvetIntitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
public void onStartup(ServletContext aServletContext) throws ServletException {
super.onStartup(aServletContext);
registerHiddenFieldFilter(aServletContext);
}
private void registerHiddenFieldFilter(ServletContext aContext) {
aContext.addFilter("hiddenHttpMethodFilter",
new HiddenHttpMethodFilter()).addMappingForUrlPatterns(null ,true, "/*");
}
}
@voinloriena
Copy link

Я поменял зависимости на jakarta servlet и у меня заработал фильтр.

@Naragas
Copy link

Naragas commented Jul 14, 2025

использовал
springframework 6.2.7
thymeleaf 3.1.2.RELEASE
jakarta.servlet 6.0.0

Как и многи столкнулся с тем, что методы patch и delete не работали.
Прописывал настройки фильтра, но ничего не работало - не отрабатывал метод onStartup.
В моем случае это происходило, потому что у меня в настройках проекта осталась инфа об использовании web.xml, хотя файл был удален.
И как следствие все настройки фильтра в файле унаследованном от AbstractAnnotationConfigDispatcherServletInitializer не работали.
Через интерфейс idea исправил эту ситуацию
File → Project Structure → Modules. Выбрал модуль. Перешел на вкладку Web. Удалил web.xml.
после чего перезапустил проект. и вуаля отработал метод onStartup и фильтр включился.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment