最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaWeb會話技術(shù)詳解與案例

 更新時間:2021年11月16日 17:10:07   作者:yyy言者  
會話技術(shù):在Web開發(fā)中,服務器跟蹤用戶信息的奇數(shù)稱為會話技術(shù)。會話:指的是一個客戶端與服務器發(fā)生的一系列請求和響應的過程。由于請求包含的信息,在請求被銷毀后也就不存在,多次讓用戶輸入賬號密碼,會影響用戶的使用體驗感,基于此,產(chǎn)生了cookie和session技術(shù)

1.什么是會話:

在這里插入圖片描述

2.會話技術(shù)有哪些:

在這里插入圖片描述

什么是Cookie?

Cookie,有時也用其復數(shù)形式 Cookies。類型為“小型文本文件”,是某些網(wǎng)站為了辨別用戶身份,進行Session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密),由用戶客戶端計算機暫時或永久保存的信息。

3.cookie學習案例:

cookie:是數(shù)組,中每個元素有:名稱和值,
可以通過名稱找到名稱對應的元素。

重要:

  Cookie[] cookies = req.getCookies(); //創(chuàng)建cookie對象,獲得瀏覽器所有的cookie數(shù)組

        Cookie cookie = CookieUtils.findCookie(cookies,"lasttime");//通過:cookies:一個名稱“l(fā)asttime”,找到數(shù)組里面對應的cookies,返回這個cookie:值
        

String value = cookie.getValue();
resp.getWriter().println(value); //value:獲取cookie(這個)的值,
打印在瀏覽器上面

  Cookie  c = new Cookie("lasttime", wer); //創(chuàng)建一個cookie,
  名稱為:lasttime,值為:wer變量對應的值

          resp.addCookie(c); //在瀏覽器添加:增加這個名稱的cookie值,
          可以

創(chuàng)建:HelloServlet4 extends HttpServlet 這個類

package com.example.demo16;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class HelloServlet4 extends HttpServlet {

    @Override
    public void init() throws ServletException {
        super.init();

        this.getServletContext().setAttribute("name","張三");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //super.doGet(req, resp);

        Cookie[] cookies = req.getCookies();

        Cookie cookie = CookieUtils.findCookie(cookies,"lasttime");

        System.out.println(cookie);
        if (cookie==null) {
            resp.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charset=UTF-8");
            resp.getWriter().println("<h1>您好,歡迎來到本網(wǎng)站!</h1>");


        } else {

resp.setCharacterEncoding("utf-8");
            resp.setContentType("text/htm/UTF-8");
            resp.getWriter().println("你上一次訪問時間是:");  //出現(xiàn)了中文錯誤
            cookie = CookieUtils.findCookie(cookies, "lasttime");
            String value = cookie.getValue();

            resp.getWriter().println(value);

            Date d = new Date();  //變化的
           SimpleDateFormat sc=new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");

          String wer=sc.format(d);  //字符串

          System.out.println(wer);

 //其實就是要設置:時間,時間值為java, 變化的時間
          //  Cookie c = new Cookie("lasttime","11111"); 這個可以顯示
           // Cookie c = new Cookie("lasttime","1-1-1-1-1");
          //  Cookie c = new Cookie("lasttime","2021-11-14");//2021-11-14 20:14不能反映,中文也不能
          //  Cookie c = new Cookie("lasttime","2021:11:14");// 空格不行

          Cookie  c = new Cookie("lasttime", wer);

          resp.addCookie(c);

        }

/*resp.getWriter().println("helloworld");

resp.setStatus(302);
//resp.setHeader("Location","/demo16_war/helloo");


resp.setHeader("Refresh","5,url=/demo16_war/helloo");

*/
        //    String name= (String) this.getServletContext().getAttribute("name");
        // System.out.println(name);
//text();

text();
    }

    protected void text() throws IOException {

        //Properties properties=new Properties();//創(chuàng)建文件對象
        //InputStream is=this.getServletContext().getResourceAsStream("WEB-INF/dp.properties");//這里的路徑,

        //  properties.load(is);
//String driverClassName=properties.getProperty("driverClassName");
        // String url=properties.getProperty("url");
        //String  password=properties.getProperty("password");
        //  String usernane=properties.getProperty("username");

        //  System.out.println(driverClassName);
//System.out.println(url);
//System.out.println(password);
//System.out.println(usernane);

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date d = sdf.parse(toString());
            System.out.println(d);
        } catch (ParseException e) {
            e.printStackTrace();

        }

    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

創(chuàng)建CookieUtils類:

package com.example.demo16;

import javax.servlet.http.Cookie;

public class CookieUtils {

    public static Cookie findCookie(Cookie[] cookies, String name){

        if(cookies==null){
            return null;

        }else {
            for(Cookie cookie:cookies){

if(name.equals(cookie.getName())) {  //找到相等的name名稱

    return cookie;
}

            }

            return null;

        }}}

效果圖:

在這里插入圖片描述

點擊刷新頁面:

在這里插入圖片描述

4. 使用cookie注意出現(xiàn)的問題:

Cookie c = new Cookie(“l(fā)asttime”,“2021 11 14”);// 空格不行,
返回:亂碼

如果:cookievalue值為:中文,就要設置:

resp.setCharacterEncoding(“utf-8”); 響應設置為:utf-8,解決中文亂碼

下面:

  String werr="我是誰";


          Cookie  c = new Cookie("lasttime", werr);

          resp.addCookie(c);

在這里插入圖片描述

還有:
可以在 resp.getWriter().println:放html標簽
需要
resp.setContentType(“text/html;charset=UTF-8”);//來解析

  resp.setContentType("text/html;charset=UTF-8");
   resp.getWriter().println("<h1>你上一次訪問時間是:</h1>"); 

到此這篇關(guān)于JavaWeb會話技術(shù)詳解與案例的文章就介紹到這了,更多相關(guān)JavaWeb 會話技術(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA:Git stash 暫存分支修改的實現(xiàn)代碼

    IDEA:Git stash 暫存分支修改的實現(xiàn)代碼

    這篇文章主要介紹了IDEA:Git stash 暫存分支修改的實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • SpringCloud整合Nacos實現(xiàn)流程詳解

    SpringCloud整合Nacos實現(xiàn)流程詳解

    這篇文章主要介紹了SpringCloud整合Nacos實現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java MD5消息摘要算法原理及實現(xiàn)代碼

    Java MD5消息摘要算法原理及實現(xiàn)代碼

    這篇文章主要介紹了Java MD5消息摘要算法原理及實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java中生成微信小程序太陽碼的實現(xiàn)方案

    Java中生成微信小程序太陽碼的實現(xiàn)方案

    這篇文章主要介紹了Java中生成微信小程序太陽碼的實現(xiàn)方案,本文講解了如何生成微信小程序太陽碼,通過微信提供的兩種方案都可以實現(xiàn),在實際的項目中建議采用第二種方案,需要的朋友可以參考下
    2022-05-05
  • Java 獲取本機IP地址的方法的兩種方法

    Java 獲取本機IP地址的方法的兩種方法

    本文主要介紹了Java 獲取本機IP地址的方法的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • MyBatis的五種批量插入詳解

    MyBatis的五種批量插入詳解

    這篇文章主要介紹了MyBatis的五種批量插入詳解,MyBatis是一款半自動的ORM持久層框架,具有較高的SQL靈活性,支持高級映射(一對一,一對多),動態(tài)SQL,延遲加載和緩存等特性,但它的數(shù)據(jù)庫無關(guān)性較低,需要的朋友可以參考下
    2023-08-08
  • Springboot整合微信支付(訂單過期取消及商戶主動查單)

    Springboot整合微信支付(訂單過期取消及商戶主動查單)

    本文主要介紹了Springboot整合微信支付(訂單過期取消及商戶主動查單),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 如何解決websocket開啟多個頁面訪問同一個連接會失效的問題

    如何解決websocket開啟多個頁面訪問同一個連接會失效的問題

    使用WebSocket時,若多個頁面訪問同一個WebSocket連接可能會導致連接失效,遇到這個問題時,可以通過在SpringBoot中使用@ServerEndpoint注解并添加@Component來解決,出現(xiàn)連接錯誤通常是因為WebSocket連接接收到的是一個GET請求
    2024-09-09
  • SpringCache的基本使用方法

    SpringCache的基本使用方法

    Spring?Cache利用了AOP,實現(xiàn)了基于注解的緩存功能,并且進行了合理的抽象,業(yè)務代碼不用關(guān)心底層是使用了什么緩存框架,只需要簡單地加一個注解,就能實現(xiàn)緩存功能了,本文介紹SpringCache的基本使用方法,感興趣的朋友一起看看吧
    2024-01-01
  • 一篇文章帶你了解JAVA結(jié)構(gòu)化編程詳情

    一篇文章帶你了解JAVA結(jié)構(gòu)化編程詳情

    下面小編就為大家?guī)硪黄v解JAVA結(jié)構(gòu)化編程的文章。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09

最新評論

靖远县| 天水市| 上饶市| 科技| 合肥市| 佛学| 苍溪县| 延安市| 磴口县| 秦皇岛市| 河源市| 修水县| 习水县| 河曲县| 永清县| 鹿邑县| 银川市| 勃利县| 内丘县| 江口县| 固原市| 东莞市| 梁平县| 原平市| 铜川市| 五莲县| 内黄县| 海晏县| 桂林市| 彭州市| 溧阳市| 宁国市| 岢岚县| 白朗县| 乐清市| 濉溪县| 澄迈县| 辽阳县| 莒南县| 永州市| 彩票|