Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
169 / 104 / 51
Регистрация: 27.11.2015
Сообщений: 1,249
1

Spring MVC указать правильный путь в контроллере

16.11.2020, 20:37. Показов 718. Ответов 0

Spring MVC, работаю с помощью аннотации(новичек), проблема в том, что страницу index.hml работает, перехожу на http://localhost:8080/auth/login пишет 404, по идее настроено секьюрити, предполагаю что неверный адрес в контроллере, могли бы подсказать правильный путь до папки view(известные стандартные способы мне не помогли)?
Spring MVC указать правильный путь в контроллере


SecurityConfig
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
 
    private final UserDetailsService userDetailsService;
 
    @Autowired
    public SecurityConfig(@Qualifier("userDetailsServiceImpl") UserDetailsService userDetailsService) {
        this.userDetailsService = userDetailsService;
    }
 
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .csrf().disable()
                .authorizeRequests()
                .antMatchers("/").permitAll()
                .anyRequest()
                .authenticated()
                .and()
                .formLogin()
                .loginPage("/auth/login").permitAll()
                .defaultSuccessUrl("/auth/success")
                .and()
                .logout()
                .logoutRequestMatcher(new AntPathRequestMatcher("/auth/logout", "POST"))
                .invalidateHttpSession(true)
                .clearAuthentication(true)
                .deleteCookies("JSESSIONID")
                .logoutSuccessUrl("/auth/login");
    }
 
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(daoAuthenticationProvider());
    }
 
    @Bean
    protected PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder(12);
    }
 
    @Bean
    protected DaoAuthenticationProvider daoAuthenticationProvider() {
        DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider();
        daoAuthenticationProvider.setPasswordEncoder(passwordEncoder());
        daoAuthenticationProvider.setUserDetailsService(userDetailsService);
        return daoAuthenticationProvider;
    }
}



SpringConfig
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = {"com.example.springcourse"})
//@EnableJpaRepositories(basePackages = "com.example.springcourse"/*, entityManagerFactoryRef = "dataSourse"*/)
@EnableWebMvc
//@PropertySource(
//        factory = YamlPropertySourceFactory.class,
//        value = {"classpath:test.yaml"})
public class SpringConfig implements WebMvcConfigurer {
 
    private final ApplicationContext applicationContext;
 
    @Resource
    private Environment env;
 
    @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);
    }
 
    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("org.postgresql.Driver");
        dataSource.setUrl(String.format("jdbc:postgresql://%s:%s/%s",
                env.getRequiredProperty("postgresql.dataSource.serverName"),
                env.getRequiredProperty("postgresql.dataSource.portNumber"),
                env.getRequiredProperty("postgresql.dataSource.databaseName")));
        dataSource.setUsername(env.getRequiredProperty("postgresql.dataSource.user"));
        dataSource.setPassword(env.getRequiredProperty("postgresql.dataSource.password"));
        return dataSource;
    }
}


SpringMvcDispatcherServletInitializer
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class SpringMvcDispatcherServletInitializer 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, "/*");
    }
}


AuthController
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@Controller
@RequestMapping("/auth")
public class AuthController {
    @Autowired
    public SuccessService successService;
    final ProductRepository repository;
 
    public AuthController(ProductRepository repository) {
        this.repository = repository;
    }
 
    @GetMapping("/login")
    public String getLoginPage() {
        return "login";
    }
 
    @GetMapping("/success")
    public String getSuccessPage(@ModelAttribute Product product, Model model) {
        model.addAttribute("success", product);
        model.addAttribute("index", successService.index());
        return "success";
    }
 
    @DeleteMapping("/{id}")
    public String delete(@PathVariable("id") Long id) {
        successService.delete(id);
        return "redirect:/success";
    }
 
    @GetMapping("/{id}")
    public String show(@PathVariable("id") Long id, Model model) {
        model.addAttribute("product", successService.show(id));
        return "show";
    }
 
    @PatchMapping("/{id}")
    public String update(@ModelAttribute("product") Product product, @PathVariable("id") Long id) {
        successService.update(id, product);
        return "redirect:/success";
    }
 
    @GetMapping("/new")
    public String newPerson(@ModelAttribute("product") Product product) {
        return "product/new";
    }
 
    @PostMapping()
    public String create(@ModelAttribute("product") Product product) {
        successService.save(product);
        return "redirect:/success";
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2020, 20:37
Ответы с готовыми решениями:

Как указать правильный путь?
Добрый день. Столкнулся со странной проблемой: метод file_get_contents() не находит существующий...

Как указать правильный путь MoveFile();
Никак не могу написать правильный путь. Вобщем у меня есть СГ: 1-ый стлб_|___ 2-ой стлб...

Путь для сохранения файла на сервере (Spring Hibernate MVC)
Добрый день. Фйал загружает, пользователь в форме и передает на сервер. А какой правильно путь...

Правильный указать путь к файлу стилей относительно корневого каталога
Приветствую. Если есть на хосте папка, то чтобы со странице перейти к странице, которая в папке...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2020, 20:37

Помощь в написании контрольных, курсовых и дипломных работ здесь.

[WPF] Нужно указать правильный путь к файлу, который находится в папке внутри решения
Звуковой файл находится в папке внутри решения (смотри на фотографии)...

Какой правильный путь указать для редиректа теге form action если форма создается в шаблоне
Здравствуйте. Подскажите пожалуйста такую вещь ,я сделал форму которая добавляет пользователя. Эту...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями...

задания по spring core и spring mvc для новичков
Какие задания можно предложить новичкам для выполнения после знакомства их с spring core и mvc ?

Перевод проекта из Spring Maven в обычный Spring MVC
Здравствуйте. Подскажите, реально ли взять готовый проект, например -...

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.