本案例采用Servlet3.0无web.xml方式,在config包下定义WebConfig.java,它对应于DispatcherServlet配置。
在init包下定义Spring容器初始化类SpringApplicationInitializer,此类实现WebApplicationInitializer接口, Spring容器启动时加载WebApplicationInitializer接口的所有实现类。
SpringApplicationInitializer相当于web.xml,使用了servlet3.0开发则不需要再定义web.xml, ApplicationConfig.class对应以下配置的application-context.xml,WebConfig.class对应以下配置的spring- mvc.xml,web.xml的内容参考:
在webapp/WEB-INF/views下定义认证页面login.jsp,本案例只是测试认证流程,页面没有添加css样式,页面实 现可填入用户名,密码,触发登录将提交表单信息至/login,内容如下:
在WebConfig中新增如下配置,将/直接导向login.jsp页面:
启动项目,访问/路径地址,进行测试
认证接口用户进入认证页面,输入账号和密码,点击登录,请求/login进行身份认证。
(1)定义认证接口,此接口用于对传来的用户名、密码校验,若成功则返回该用户的详细信息,否则抛出错误异常:
(2)认证实现类,根据用户名查找用户信息,并校验密码,这里模拟了两个用户: