国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JSP 內置對象(一)

lordharrd / 441人閱讀

摘要:提供了個內置對象該對象會自動進行實例化操作種屬性范圍只在一個保存屬性跳轉無效一次請求保存屬性跳轉依舊有效同一會話有效整個服務器上保存所有用戶都可使用屬性一個屬性設置在本頁上跳轉后無法獲得下午設置屬性重中取出屬性姓名生日屬性服務

jsp提供了9個內置對象,該對象會自動進行實例化操作

4種屬性范圍

page 只在一個保存屬性,跳轉無效
request 一次請求保存屬性,跳轉依舊有效
session 同一會話有效
application 整個服務器上保存,所有用戶都可使用

page屬性

一個屬性設置在本頁上,跳轉后無法獲得

<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午1:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // 設置page屬性
    pageContext.setAttribute("name", "ming");
    pageContext.setAttribute("birtday", new Date());
%>
<%
    // 重page中取出屬性
    String username = (String)pageContext.getAttribute("name");
    Date userbirthday = (Date)pageContext.getAttribute("birtday");
%>
姓名 <%=username%>
生日 <%=userbirthday%>


request 屬性

服務器跳轉后,屬性會被繼續保存
瀏覽器的URL地址會發生改變

<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午1:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    request.setAttribute("name", "ming");
    request.setAttribute("birthday", new Date());
%>



<%@ page import="java.util.*" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午1:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



<%=(String)request.getAttribute("name")%>
<%=(Date)request.getAttribute("birthday")%>


session屬性

當一個屬性設置以后,任何一個與設置頁面相關的頁面都可以取得
即,session,session屬于服務器端保存.

cokice 屬于客戶端保存
<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午3:07
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.*" %>


    Title


<%
    // 設置session屬性范圍
    session.setAttribute("name", "ming");
    session.setAttribute("birthday", new Date());
%>

超級鏈接跳轉


<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午3:07
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.*" %>


    Title


<%
    // 取出session屬性
    String username = (String)session.getAttribute("name");
    Date userbirthday = (Date)session.getAttribute("birthday");
%>
<%=username%>
<%=userbirthday%>


application

此為公共參數
此屬性保存在服務器上

<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午10:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    application.setAttribute("name", "ming");
    application.setAttribute("birthday", new Date());
%>

超級鏈接獲得屬性


<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午10:20
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // application中獲得屬性
    String username = (String)application.getAttribute("name");
    Date userbirthday = (Date)application.getAttribute("birthday");
%>
<%=username%>
<%=userbirthday%>


request對象

接收客戶端發送的請求,請求的參數,頭部信息.




    
    Title


    
<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-10
  Time: 下午11:54
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // 接收參數
    String content = request.getParameter("info");
%>
<%=content%>


接收全部請求參數

用getParameterNames

顯示全部頭信息

使用getHeaderNames()

角色驗證

額...依舊沒啥東東
學過

response 定時跳轉

定時跳轉屬于客戶端跳轉

操作cookie

額..依舊沒啥
在response中調用addCookie
需要注意的是會返回一個jsessionid

session

當服務器端使用session的時候,可以保存在redis中
會有一個不重復的編號,即session id

cookie中保存的jsessionid為同樣道理
登錄 注銷

實現思路,設置session范圍的屬性,需要驗證的頁面進行判斷session
即,保存用戶的信息,使用session進行保存

<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-11
  Time: 下午9:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    
用戶名 密碼
<% // 用戶名 密碼 // 獲得name String name = request.getParameter("uname"); // 獲得password String password = request.getParameter("upass"); // 進行用戶名密碼比對 if(!(name==null||"".equals(name) || password == null || "".equals(password)) ){ if("admin".equals(name) && "admin".equals(password)){ // 跳轉 response.setHeader("refresh", "2;URL=welcome.jsp"); // 設置session session.setAttribute("userid", name); %>

用戶登錄成功,兩秒后將會跳轉到歡迎頁!

如果沒有跳轉,點擊這里

<% }else{ %>

用戶名密碼錯誤

<% } } %>
<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-11
  Time: 下午10:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // 設置兩秒跳轉
    response.setHeader("refresh", "2;URL=login.jsp");
    // 清除session
    session.invalidate();
%>

成功退出本系統,兩秒跳轉回首頁

如果沒有跳轉,訪問點我

<%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-11
  Time: 下午9:59
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // 判斷此用戶的session是否設置過
    if(session.getAttribute("userid")!=null){
        %>
            

歡迎<%=session.getAttribute("userid")%>

注銷登錄點我

<% }else{ %>

非法訪問

<% } %>
判斷新用戶

使用isnew的方式,
原理,在第一次訪問的時候,給客戶端設置cokkie,然后再次訪問的時候,會帶上cokkie中的jsessionid,用來判斷是否為新用戶

用戶操作時間

使用getCreationTime獲取第一個session創建的session時間,和最后一次操作的時間,用來判斷秒數

application對象

用來獲取serlet對象上下文 ServletContext表示整個容器的操作
使用表單輸入要保存的文件名稱和內容,直接在web項目的根目錄的note文件夾中保存文件




    
    Title


    
輸入文件名稱
輸入文件內容
<%@ page import="java.io.File" %>
<%@ page import="java.io.PrintStream" %>
<%@ page import="java.io.FileOutputStream" %>
<%@ page import="java.util.Scanner" %>
<%@ page import="java.io.FileInputStream" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-11
  Time: 下午10:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


<%
    // 接收保存的文件名稱
    String name = request.getParameter("filename");
    // 接收文件內容
    String content = request.getParameter("filecontent");
    // 獲得文件名稱
    String fileName = this.getServletContext().getRealPath("/") + "note" + File.separator + name;
    // 獲得文件對象
    File file = new File(fileName);
    // 用于判斷父文件夾是否存在
    if(!file.getParentFile().exists()){
        // 創建文件夾
        file.getParentFile().mkdir();
    }
    // 定義打印流對象
    PrintStream printStream = null;
    // 創建一個到文件的輸入流
    printStream = new PrintStream(new FileOutputStream(file));
    // 往流中輸入內容
    printStream.println(content);
    // 關閉流
    printStream.close();
%>
<%
    // 通過Scanner獲取流的輸入
    Scanner scanner = new Scanner(new FileInputStream(file));
    // 設置讀取分隔符
    scanner.useDelimiter("
");
    // 新建緩沖區
    StringBuffer stringBuffer = new StringBuffer();
    // 讀取內容,保存進入緩沖區
    while(scanner.hasNext()){
        stringBuffer.append(scanner.next()).append("
"); } // 關閉 scanner.close(); %> <%=stringBuffer%>

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73698.html

相關文章

  • JSP第二篇【內置對象的介紹、4種屬性范圍、應用場景】

    摘要:什么是內置對象引擎在調用對應的時,會傳遞或創建個與開發相關的對象供使用。九個內置對象對象對象的得到緩存大小得到未使用緩存的大小對象用于向瀏覽器輸出數據,與之對應的是的對象。種屬性范圍到目前為止,我們已經學了種屬性范圍了。 什么是JSP內置對象 JSP引擎在調用JSP對應的jspServlet時,會傳遞或創建9個與web開發相關的對象供jspServlet使用。JSP技術的設計者為便于開...

    lookSomeone 評論0 收藏0
  • JSP面試題都在這里

    摘要:下面是我整理下來的知識點圖上的知識點都可以在我其他的文章內找到相應內容。在中,尤其重要的是對象。 下面是我整理下來的JSP知識點: showImg(https://segmentfault.com/img/remote/1460000013229216?w=4962&h=2653); 圖上的知識點都可以在我其他的文章內找到相應內容。 JSP常見面試題 jsp靜態包含和動態包含的區別 j...

    gaosboy 評論0 收藏0
  • JSP第四篇【EL表達式介紹、獲取各類數據、11個內置對象、執行運算、回顯數據、自定義函數、fn方法

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

    flyer_dev 評論0 收藏0
  • JSP 學習記錄

    摘要:對象具有請求域,即完成客戶端的請求之前,該對象一直有效。提交的數據量最多不超過。安全性較低但效率比方式高。適合提交數據量大,安全性高的用戶信息。除非本次會話的所有頁面都關閉后再重新訪問某個或者,將會創建新的會話。 JSP 簡介 全名為Java Server Pages,其根本是一個簡化的Servlet設計,實現了在Java當中使用HTML標簽。JSP是一種動態網頁技術標準,也是Java...

    BearyChat 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<