Не получается реализовать метод HTTP GET в Spring MVC

Рейтинг: -2Ответов: 1Опубликовано: 03.05.2023

Сервер принимает запросы по получению главной страницы. Однако у меня не получается переходить по ссылкам.

<div id="user">
  <a href="/signUp">Sign up</a>
</div>

Метод контроллера:

 @RequestMapping(value = "/signUp",method = RequestMethod.GET)
 public String register(){
     return "signup";
 }

Настройки:

public class SpringMVCDispatcherInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return null;
    }

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

    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
@Configuration
@ComponentScan(basePackages = {"ru.sfedu"})
@EnableWebMvc
public class SpringConfig implements WebMvcConfigurer {
    private final ApplicationContext applicationContext;

    @Autowired
    public SpringConfig(ApplicationContext applicationContext) {
        this.applicationContext = applicationContext;
    }

    @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setApplicationContext(applicationContext);
        templateResolver.setPrefix("/WEB-INF/views/");
        templateResolver.setSuffix(".html");
        return templateResolver;
    }

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        templateEngine.setEnableSpringELCompiler(true);
        return templateEngine;
    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine());
        registry.viewResolver(resolver);
    }
}

введите сюда описание изображения

Ответы

▲ 0

У вас в контролеере указан путь - /signUp , переходить надо по этому пути, а не по названию метода, вот нужный адрес:

localhost:8080/signUp