日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】

發布時間:2024/9/30 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • Java后端 學習路線 筆記匯總表【黑馬程序員】
  • JavaWeb黑馬旅游網-學習筆記01【準備工作】
  • JavaWeb黑馬旅游網-學習筆記02【注冊功能】
  • JavaWeb黑馬旅游網-學習筆記03【登陸和退出功能】
  • JavaWeb黑馬旅游網-學習筆記04【BaseServlet抽取】
  • JavaWeb黑馬旅游網-學習筆記05【分類數據展示功能】
  • JavaWeb黑馬旅游網-學習筆記06【旅游線路分頁展示分頁展示】
  • JavaWeb黑馬旅游網-學習筆記07【旅游線路查詢】
  • JavaWeb黑馬旅游網-學習筆記08【旅游線路詳情】
  • JavaWeb黑馬旅游網-學習筆記09【旅游線路收藏】
  • JavaWeb黑馬旅游網-學習筆記10【項目代碼】
  • 目錄

    18-登錄功能_分析

    19-登錄功能_實現_Servlet

    LoginServlet.java

    20-登錄功能_實現_Service&Dao

    UserServiceImpl.java

    UserDaoImpl.java

    21-登錄功能_實現_前臺頁面

    login.html

    22-登錄功能_姓名提示

    header.html代碼

    FindUserServlet代碼

    23-退出功能

    header.html

    ExitServlet.java


    18-登錄功能_分析

    登錄功能

    19-登錄功能_實現_Servlet

    LoginServlet.java

    package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.ResultInfo; import cn.itcast.travel.domain.User; import cn.itcast.travel.service.UserService; import cn.itcast.travel.service.impl.UserServiceImpl; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.beanutils.BeanUtils;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map;@WebServlet("/loginServlet") public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.獲取用戶名和密碼數據Map<String, String[]> map = request.getParameterMap();//2.封裝User對象User user = new User();try {BeanUtils.populate(user, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}//3.調用Service查詢UserService service = new UserServiceImpl();User u = service.login(user);ResultInfo info = new ResultInfo();//4.判斷用戶對象是否為nullif (u == null) {//用戶名密碼或錯誤info.setFlag(false);info.setErrorMsg("用戶名密碼或錯誤!");}//5.判斷用戶是否激活if (u != null && !"Y".equals(u.getStatus())) {//用戶尚未激活info.setFlag(false);info.setErrorMsg("您尚未激活,請激活!");}//6.判斷是否登錄成功if (u != null && "Y".equals(u.getStatus())) {request.getSession().setAttribute("user", u);//登錄成功標記//登錄成功info.setFlag(true);}//響應數據ObjectMapper mapper = new ObjectMapper();response.setContentType("application/json;charset=utf-8");mapper.writeValue(response.getOutputStream(), info);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);} }

    20-登錄功能_實現_Service&Dao

    UserServiceImpl.java

    UserDaoImpl.java

    21-登錄功能_實現_前臺頁面

    login.html

    <!DOCTYPE html> <html> <head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>黑馬旅游網-登錄</title><link rel="stylesheet" type="text/css" href="css/common.css"><link rel="stylesheet" type="text/css" href="css/login.css"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --><!-- WARNING: Respond.js doesn't work if you view the page via file:// --><!--[if lt IE 9]><script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script><script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script><![endif]--><!--導入angularJS文件--><!--<script src="js/angular.min.js"></script>--><!--導入jquery--><script src="js/jquery-3.3.1.js"></script><script>$(function () {//1.給登錄按鈕綁定單擊事件$("#btn_sub").click(function () {//2.發送ajax請求,提交表單數據$.post("user/login", $("#loginForm").serialize(), function (data) {//data : {flag:false,errorMsg:''}if (data.flag) {//登錄成功location.href = "index.html";} else {//登錄失敗$("#errorMsg").html(data.errorMsg);}});});});//3.處理響應結果</script> </head> <body><!--引入頭部--><div id="header"></div><!-- 頭部 end --><section id="login_wrap"><div class="fullscreen-bg" style="background: url(images/login_bg.png);height: 532px;"></div><div class="login-box"><div class="title"><img src="images/login_logo.png" alt=""><span>歡迎登錄黑馬旅游賬戶</span></div><div class="login_inner"><!--登錄錯誤提示消息--><div id="errorMsg" class="alert alert-danger"></div><form id="loginForm" action="" method="post" accept-charset="utf-8"><input type="hidden" name="action" value="login"/><input name="username" type="text" placeholder="請輸入賬號" autocomplete="off"><input name="password" type="text" placeholder="請輸入密碼" autocomplete="off"><div class="verify"><input name="check" type="text" placeholder="請輸入驗證碼" autocomplete="off"><span><img src="checkCode" alt="" onclick="changeCheckCode(this)"></span><script type="text/javascript">//圖片點擊事件function changeCheckCode(img) {img.src = "checkCode?" + new Date().getTime();}</script></div><div class="submit_btn"><button type="button" id="btn_sub">登錄</button><div class="auto_login"><input type="checkbox" name="" class="checkbox"><span>自動登錄</span></div></div></form><div class="reg">沒有賬戶?<a href="javascript:;">立即注冊</a></div></div></div></section><!--引入尾部--><div id="footer"></div><!-- jQuery (necessary for Bootstrap's JavaScript plugins) --><script src="js/jquery-1.11.0.min.js"></script><!-- Include all compiled plugins (below), or include individual files as needed --><script src="js/bootstrap.min.js"></script><!--導入布局js,共享header和footer--><script type="text/javascript" src="js/include.js"></script> </body> </html>

    22-登錄功能_姓名提示

    index頁面中 用戶姓名的提示信息功能

    header.html代碼

    FindUserServlet代碼

    package cn.itcast.travel.web.servlet;import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;@WebServlet("/findUserServlet") public class FindUserServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//從session中獲取登錄用戶Object user = request.getSession().getAttribute("user");//將user寫回客戶端ObjectMapper mapper = new ObjectMapper();response.setContentType("application/json;charset=utf-8");mapper.writeValue(response.getOutputStream(), user);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);} }

    23-退出功能

    什么叫做登錄了?session中有user對象。

    實現步驟:

  • 訪問servlet,將session銷毀
  • 跳轉到登錄頁面
  • header.html

    <!-- 頭部 start --> <script>$(function () {//查詢用戶信息$.get("user/findOne", {}, function (data) {//{uid:1,name:'李四'}var msg = "歡迎回來," + data.name;$("#span_username").html(msg);});//查詢分類數據$.get("category/findAll", {}, function (data) {//[{cid:1,cname:國內游},{},{}]var lis = '<li class="nav-active"><a href="index.html">首頁</a></li>';//遍歷數組,拼接字符串(<li>)for (var i = 0; i < data.length; i++) {var li = '<li><a href="route_list.html?cid=' + data[i].cid + '">' + data[i].cname + '</a></li>';lis += li;}//拼接收藏排行榜的li,<li><a href="favoriterank.html">收藏排行榜</a></li>lis += '<li><a href="favoriterank.html">收藏排行榜</a></li>';//將lis字符串,設置到ul的html內容中$("#category").html(lis);});}); </script> <header id="header"><div class="top_banner"><img src="images/top_banner.jpg" alt=""></div><div class="shortcut"><!-- 未登錄狀態 --><div class="login_out"><a href="login.html">登錄</a><a href="register.html">注冊</a></div><!-- 登錄狀態 --><div class="login"><span id="span_username"></span><a href="myfavorite.html" class="collection">我的收藏</a><a href="javascript:location.href='exitServlet';">退出</a></div></div><div class="header_wrap"><div class="topbar"><div class="logo"><a href="/"><img src="images/logo.jpg" alt=""></a></div><div class="search"><input name="" type="text" placeholder="請輸入路線名稱" class="search_input" autocomplete="off"><a href="javascript:;" class="search-button">搜索</a></div><div class="hottel"><div class="hot_pic"><img src="images/hot_tel.jpg" alt=""></div><div class="hot_tel"><p class="hot_time">客服熱線(9:00-6:00)</p><p class="hot_num">400-618-9090</p></div></div></div></div> </header> <!-- 頭部 end --> <!-- 首頁導航 --> <div class="navitem"><ul id="category" class="nav"><!-- <li class="nav-active"><a href="index.html">首頁</a></li><li><a href="route_list.html">門票</a></li><li><a href="route_list.html">酒店</a></li><li><a href="route_list.html">香港車票</a></li><li><a href="route_list.html">出境游</a></li><li><a href="route_list.html">國內游</a></li><li><a href="route_list.html">港澳游</a></li><li><a href="route_list.html">抱團定制</a></li><li><a href="route_list.html">全球自由行</a></li><li><a href="favoriterank.html">收藏排行榜</a></li>--></ul> </div>

    ExitServlet.java

    package cn.itcast.travel.web.servlet;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;@WebServlet("/exitServlet") public class ExitServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.銷毀sessionrequest.getSession().invalidate();//2.跳轉登錄頁面response.sendRedirect(request.getContextPath() + "/login.html");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);} }

    什么是真正的快樂?就是從你內心深處散發出來的你本來就有的東西。就像顏回穿著破爛的衣服,一簞食,一瓢飲,住在簡陋的房子里,別人不能忍受這種貧困,顏回卻自得其樂。

    總結

    以上是生活随笔為你收集整理的JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。