成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

jsp 內(nèi)置對(duì)象 登錄 cookie + session

Jochen / 1516人閱讀

摘要:概述一共兩個(gè)頁面當(dāng)直接訪問產(chǎn)品列表的時(shí)候會(huì)判斷用戶是否登錄如果用戶沒有登錄則直接秒跳轉(zhuǎn)如果用戶登錄則不進(jìn)行跳轉(zhuǎn)登錄頁面對(duì)于登錄頁面來說直接輸入用戶名密碼和數(shù)據(jù)庫進(jìn)行對(duì)比進(jìn)行登錄并進(jìn)行密碼的本地保存一般是需要對(duì)密碼加密進(jìn)行本地保存的代碼如下配

概述

一共兩個(gè)頁面
當(dāng)直接訪問產(chǎn)品列表的時(shí)候,會(huì)判斷用戶是否登錄,如果用戶沒有登錄,則直接3秒跳轉(zhuǎn).
如果用戶登錄,則不進(jìn)行跳轉(zhuǎn)
登錄頁面:對(duì)于登錄頁面來說,直接輸入用戶名,密碼.和數(shù)據(jù)庫進(jìn)行對(duì)比,進(jìn)行登錄.
并進(jìn)行密碼的本地保存

ps 一般是需要對(duì)密碼加密進(jìn)行本地保存的
代碼如下 配置文件



  Archetype Created Web Application
  
    login
    /Login.jsp
    
      driver
      com.mysql.cj.jdbc.Driver
    
    
      url
      jdbc:mysql://47.94.95.84:32786/test
    
    
      user
      test
    
    
      password
      **
    
  
  
    login
    /login.html
  

登錄界面
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.DriverManager" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-13
  Time: 下午10:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    登錄頁面

<% String dbdriver = config.getInitParameter("driver"); String dburl = config.getInitParameter("url"); String dbuser = config.getInitParameter("user"); String dbpassword = config.getInitParameter("password"); // 連接對(duì)象 Connection connection = null; // 操作 PreparedStatement preparedStatement = null; // 結(jié)果 ResultSet resultSet = null; // 用戶id String mid = null; // 標(biāo)志位 boolean falge = false; try{ Class.forName(dbdriver); // 獲得連接 connection = DriverManager.getConnection(dburl, dbuser, dbpassword); // 編寫sql驗(yàn)證ID 密碼 String sql = "SELECT mid FROM member WHERE name = ? AND password = ?"; // 實(shí)例化操作對(duì)象 preparedStatement = connection.prepareStatement(sql); // 設(shè)置查詢內(nèi)容 preparedStatement.setString(1, request.getParameter("username")); preparedStatement.setString(2, request.getParameter("password")); // 執(zhí)行查詢 resultSet = preparedStatement.executeQuery(); // 如果可以查詢到,表示合法用戶 if(resultSet.next()){ mid = resultSet.getString(1); // 修改標(biāo)志位 falge = true; } }catch (Exception e){ e.printStackTrace(); }finally { try{ resultSet.close(); preparedStatement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } } // 判斷是否登錄成功 if(falge){ // 登錄成功 // 保存session 保存cookie session.setAttribute("mid", mid); // 保存cookie Cookie cookieMid = new Cookie("mid", mid); Cookie cookieUser = new Cookie("user", request.getParameter("username")); Cookie cookiePassword = new Cookie("password", request.getParameter("password")); // 增加登錄態(tài)cookie Cookie cookieFlage = new Cookie("flage", "true"); // 客戶端增加Cookie response.addCookie(cookieMid); response.addCookie(cookieUser); response.addCookie(cookiePassword); response.addCookie(cookieFlage); // 設(shè)置定時(shí)跳轉(zhuǎn) response.setHeader("refresh", "3;URL=product.jsp"); %> 登錄成功即將跳轉(zhuǎn)到首頁產(chǎn)品界面 未跳轉(zhuǎn)點(diǎn)擊點(diǎn)擊此處 <% }else{ // 查詢用戶是否已經(jīng)登錄 if(session.getAttribute("mid") == null) { Cookie cookieFlage = new Cookie("flage", "false"); response.addCookie(cookieFlage); } } %>
產(chǎn)品界面
<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-14
  Time: 下午2:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


此為商品列表

<%
    // 服務(wù)器端驗(yàn)證
    if(session.getAttribute("mid") == null) {
        // 執(zhí)行頁面跳轉(zhuǎn)
        response.setHeader("refresh", "2;URL=/login.html");
    }
%>


注意

產(chǎn)品界面通過本地cookie和服務(wù)器的session進(jìn)行雙向驗(yàn)證.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73725.html

相關(guān)文章

  • JSP 學(xué)習(xí)記錄

    摘要:對(duì)象具有請(qǐng)求域,即完成客戶端的請(qǐng)求之前,該對(duì)象一直有效。提交的數(shù)據(jù)量最多不超過。安全性較低但效率比方式高。適合提交數(shù)據(jù)量大,安全性高的用戶信息。除非本次會(huì)話的所有頁面都關(guān)閉后再重新訪問某個(gè)或者,將會(huì)創(chuàng)建新的會(huì)話。 JSP 簡介 全名為Java Server Pages,其根本是一個(gè)簡化的Servlet設(shè)計(jì),實(shí)現(xiàn)了在Java當(dāng)中使用HTML標(biāo)簽。JSP是一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),也是Java...

    BearyChat 評(píng)論0 收藏0
  • JSP 內(nèi)置對(duì)象(一)

    摘要:提供了個(gè)內(nèi)置對(duì)象該對(duì)象會(huì)自動(dòng)進(jìn)行實(shí)例化操作種屬性范圍只在一個(gè)保存屬性跳轉(zhuǎn)無效一次請(qǐng)求保存屬性跳轉(zhuǎn)依舊有效同一會(huì)話有效整個(gè)服務(wù)器上保存所有用戶都可使用屬性一個(gè)屬性設(shè)置在本頁上跳轉(zhuǎn)后無法獲得下午設(shè)置屬性重中取出屬性姓名生日屬性服務(wù) jsp提供了9個(gè)內(nèi)置對(duì)象,該對(duì)象會(huì)自動(dòng)進(jìn)行實(shí)例化操作 4種屬性范圍 page 只在一個(gè)保存屬性,跳轉(zhuǎn)無效request 一次請(qǐng)求保存屬性,跳轉(zhuǎn)依舊有效sessi...

    lordharrd 評(píng)論0 收藏0
  • [Java Web]JSP/Servlet的學(xué)習(xí)(resopnse對(duì)象session對(duì)象

    摘要:的學(xué)習(xí)與內(nèi)置對(duì)象對(duì)象代表服務(wù)器對(duì)客戶端的響應(yīng)。在增加之前必須先創(chuàng)建對(duì)象。一次會(huì)話的含義是從客戶端瀏覽器連接服務(wù)器開始,到客戶端服務(wù)與斷開為止。范圍內(nèi)的屬性可以在多個(gè)頁面的跳轉(zhuǎn)之間共享。 Java Server Page的學(xué)習(xí)(resopnse與session) 內(nèi)置對(duì)象 response對(duì)象 respone代表服務(wù)器對(duì)客戶端的響應(yīng)。如果要在JSP頁面中動(dòng)態(tài)生成一副位圖或者輸出一個(gè)...

    Flink_China 評(píng)論0 收藏0
  • jsp中的 sessioncookie 區(qū)別與聯(lián)系

    摘要:簡而言之,由服務(wù)端生成再發(fā)給客戶端,在客戶端運(yùn)行,相當(dāng)于本地緩存的作用。在出現(xiàn)之前,基本上所有的網(wǎng)站都采用來跟蹤會(huì)話。對(duì)象存儲(chǔ)特定用戶會(huì)話所需的屬性及配置信息。若匹配成功和,說明不是第一次訪問,無需再登錄 什么是cookie?作用是什么?  cookie是小量信息,由網(wǎng)絡(luò)服務(wù)器發(fā)送出來以存儲(chǔ)在網(wǎng)絡(luò)瀏覽器上,從而下次這位獨(dú)一無二的訪客又回到該網(wǎng)絡(luò)服務(wù)器時(shí),可從該瀏覽器讀回...

    Jonathan Shieber 評(píng)論0 收藏0
  • JSP第四篇【EL表達(dá)式介紹、獲取各類數(shù)據(jù)、11個(gè)內(nèi)置對(duì)象、執(zhí)行運(yùn)算、回顯數(shù)據(jù)、自定義函數(shù)、fn方法

    什么是EL表達(dá)式? 表達(dá)式語言(Expression Language,EL),EL表達(dá)式是用${}括起來的腳本,用來更方便的讀取對(duì)象! EL表達(dá)式主要用來讀取數(shù)據(jù),進(jìn)行內(nèi)容的顯示! 為什么要使用EL表達(dá)式? 為什么要使用EL表達(dá)式,我們先來看一下沒有EL表達(dá)式是怎么樣讀取對(duì)象數(shù)據(jù)的吧! 在1.jsp中設(shè)置了Session屬性 向session設(shè)置一個(gè)屬性 在2...

    flyer_dev 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<