Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 自定义登录在Spring中不起作用_Jsp_Spring Mvc_Spring Security - Fatal编程技术网

Jsp 自定义登录在Spring中不起作用

Jsp 自定义登录在Spring中不起作用,jsp,spring-mvc,spring-security,Jsp,Spring Mvc,Spring Security,我们正在尝试创建自定义登录页面。我们的配置方法如下所示 @Override protected void configure(HttpSecurity http) throws Exception { //http.csrf().disable().formLogin();UserDetailsService http.csrf().disable().formLogin().loginPage("/login"); } 我们使用UserDet

我们正在尝试创建自定义登录页面。我们的配置方法如下所示

@Override
    protected void configure(HttpSecurity http) throws Exception {
        //http.csrf().disable().formLogin();UserDetailsService

        http.csrf().disable().formLogin().loginPage("/login");
    }
我们使用UserDetailsService类来存储用户数据

@Autowired
    private UserDetailsService userDetailsService;
我们已经在Web Inf/views文件夹结构下创建了login.jsp。现在,若尝试点击登录页面,我们将在控制台中得到如下错误

“web.servlet.PageNotFound:1120-在名为'spring'的DispatcherServlet中找不到URI为[/login]的HTTP请求的映射。”

我是Spring框架的新手,谁能帮我找到哪里出了问题

下面我粘贴了完整的SecurityConfig类代码

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService);
    }

    @Bean(name = "authMgr")
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //http.csrf().disable().formLogin();

        http.csrf().disable().formLogin().loginPage("/login");
    }

}

可能对某些人有帮助。问题是我不能说spring应该在哪里搜索jsp文件。在WebMVCConfigureAdapter类中提供了以下方法之后,自定义登录工作正常

@Bean
    public InternalResourceViewResolver jspViewResolver() {
        InternalResourceViewResolver jspViewResolver = new InternalResourceViewResolver();

        jspViewResolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
        jspViewResolver.setRedirectHttp10Compatible(false);
        jspViewResolver.setPrefix("/WEB-INF/views/");

        jspViewResolver.setSuffix(".jsp");
        jspViewResolver.setOrder(2);

        return jspViewResolver;
    }

你有控制器吗?没有用于登录的控制器。我在WebMVCConfigureAdapter扩展类中提供了jspViewResolver,现在我的自定义登录工作了