国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > Java > 正文

Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器)

2024-07-14 08:41:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

用戶登錄時(shí),將用戶信息放到session中

package cn.woniubushiniu.controller;import cn.woniubushiniu.po.User;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import javax.servlet.http.HttpSession;@Controllerpublic class UserController {  /**   * 向用戶登錄頁(yè)面跳轉(zhuǎn)   */  @RequestMapping(value = "/login",method = RequestMethod.GET)  public String toLogin(){    return "login";  }  /**   * 用戶登錄   * @param user   * @param model   * @param session   * @return   */  @RequestMapping(value = "/login",method = RequestMethod.POST)  public String login(User user, Model model, HttpSession session){    //獲取用戶名和密碼    String username=user.getUsername();    String password=user.getPassword();    //些處橫板從數(shù)據(jù)庫(kù)中獲取對(duì)用戶名和密碼后進(jìn)行判斷    if(username!=null&&username.equals("admin")&&password!=null&&password.equals("admin")){      //將用戶對(duì)象添加到Session中      session.setAttribute("USER_SESSION",user);      //重定向到主頁(yè)面的跳轉(zhuǎn)方法      return "redirect:main";    }    model.addAttribute("msg","用戶名或密碼錯(cuò)誤,請(qǐng)重新登錄!");    return "login";  }  @RequestMapping(value = "/main")  public String toMain(){    return "main";  }    @RequestMapping(value = "/logout")  public String logout(HttpSession session){    //清除session    session.invalidate();    //重定向到登錄頁(yè)面的跳轉(zhuǎn)方法    return "redirect:login";  }  }

攔截未登錄的用戶

public class LoginInterceptor implements HandlerInterceptor {  @Override  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {    //獲取請(qǐng)求的RUi:去除http:localhost:8080這部分剩下的    String uri = request.getRequestURI();    //UTL:除了login.jsp是可以公開(kāi)訪問(wèn)的,其他的URL都進(jìn)行攔截控制    if (uri.indexOf("/login") >= 0) {      return true;    }    //獲取session    HttpSession session = request.getSession();    User user = (User) session.getAttribute("USER_SESSION");    //判斷session中是否有用戶數(shù)據(jù),如果有,則返回true,繼續(xù)向下執(zhí)行    if (user != null) {      return true;    }    //不符合條件的給出提示信息,并轉(zhuǎn)發(fā)到登錄頁(yè)面    request.setAttribute("msg", "您還沒(méi)有登錄,請(qǐng)先登錄!");    request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);    return false;  }  @Override  public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {  }  @Override  public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {  }}

配置文件

配置到spring 的配置文件中

<!--登錄攔截器-->    <mvc:interceptor>      <mvc:mapping path="/**"/>      <bean class="cn.woniubushiniu.interceptor.LoginInterceptor"/>    </mvc:interceptor>  </mvc:interceptors>

配置web.xml 攔截所有url,并設(shè)置需要掃描的spring文件

<!--配置前端控制器-->  <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:springmvc-config.xml</param-value>    </init-param>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>springmvc</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀什市| 双牌县| 龙南县| 廉江市| 江津市| 三门县| 仪陇县| 依安县| 岑溪市| 泾阳县| 大兴区| 大安市| 通榆县| 波密县| 宝鸡市| 县级市| 沂源县| 松原市| 吉木萨尔县| 沙洋县| 余干县| 辽中县| 云龙县| 云和县| 保靖县| 泊头市| 太仆寺旗| 嘉定区| 临西县| 永泰县| 二连浩特市| 高邑县| 贵定县| 文昌市| 唐河县| 隆尧县| 宁津县| 兴隆县| 洞头县| 津市市| 天津市|