用户登录时,将用户信息放到会话中
包cn.woniubushiniu.controller; 进口cn.woniubushiniu.po.User; 进口org.springframework.stereotype.Controller; 进口org.springframework.ui.Model; 进口org.springframework.web.bind.annotation.RequestMapping; 进口org.springframework.web.bind.annotation.RequestMethod; 进口javax.servlet.http.HttpSession; @ controller 公开课用户控件{/* * *向用户登录页面跳转 */@RequestMapping (value=" https://www.yisu.com/login ",方法=RequestMethod.GET) 公共字符串toLogin () { 返回“登录”; }/* * *用户登录 * @param用户 * @param模型 * @param会话 * @return */@RequestMapping (value=" https://www.yisu.com/login ",方法=RequestMethod.POST) 公共字符串登录(用户用户模型模型,HttpSession会话){//获取用户名和密码 字符串的用户名=user.getUsername (); 字符串密码=user.getPassword ();//些处横板从数据库中获取对用户名和密码后进行判断 如果用户名!=null&, username.equals (“admin”),和密码!=null&, password.equals (“admin”)) {//将用户对象添加到会话中 session.setAttribute (“USER_SESSION”、用户);//重定向到主页面的跳转方法 返回“重定向:主要”; } model.addAttribute(“味精”、“用户名或密码错误,请重新登录!”); 返回“登录”; } @RequestMapping (value=" https://www.yisu.com/main ") 公共字符串toMain () { 返回“主”; } @RequestMapping (value=" https://www.yisu.com/logout ") 公共字符串注销(HttpSession会话){//清除会话 session.invalidate ();//重定向到登录页面的跳转方法 返回“重定向:登录”; } } >之前拦截未登录的用户
公共类LoginInterceptor实现HandlerInterceptor { @Override 公共布尔preHandle (HttpServletRequest请求,HttpServletResponse响应对象o){抛出异常//获取请求的瑞:去除http: localhost: 8080这部分剩下的 字符串uri=request.getRequestURI ();//你的:除login . jsp了是可以公开访问的,其他的URL都进行拦截控制 如果(uri.indexOf(“/登录”)在=0){ 返回true; }//获取会话 HttpSession会话=request.getSession (); 用户用户=(用户)session.getAttribute (“USER_SESSION”);//判断会话中是否有用户数据,如果有,则返回真,继续向下执行 如果(用户!=null) { 返回true; }//不符合条件的给出提示信息,并转发到登录页面 请求。setAttribute(“味精”,“您还没有登录,请先登录!”); request.getRequestDispatcher (“/web - inf/login . jsp的jsp/?。提出(请求、响应); 返回错误; } @Override 公共空postHandle (HttpServletRequest HttpServletRequest HttpServletResponse HttpServletResponse,对象o, ModelAndView ModelAndView){抛出异常 } @Override 公共空afterCompletion (HttpServletRequest HttpServletRequest HttpServletResponse HttpServletResponse,对象o,异常e){抛出异常 } }配置文件
配置到春天的配置文件中
& lt; !——登录拦截器——比; & lt; mvc: interceptor> & lt; mvc:=映射路径“/* *”/比; & lt; bean类=" cn.woniubushiniu.interceptor.LoginInterceptor "/比; & lt;/mvc: interceptor> & lt;/mvc: interceptors> >之前配置网络。xml拦截所有的url,并设置需要扫描的春天文件
& lt; !——配置前端控制器——比; & lt; servlet> & lt; servlet-name> springmvc & lt; servlet-class> org.springframework.web.servlet.DispatcherServlet & lt; init-param> & lt; param-name> contextConfigLocation & lt; param-value>类路径:springmvc-config.xml & lt;/init-param> & lt; load-on-startup> 1 & lt;/load-on-startup> & lt;/servlet> & lt; servlet-mapping> & lt; servlet-name> springmvc & lt; url-pattern>/& lt;/url-pattern> & lt;/servlet-mapping> >之前以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Spring mvc实现用户登录的方法(拦截器)