精华内容
下载资源
问答
  • 2.掌握使用内置对象session,application实现会话跟踪。 3.掌握JSP的的指令元素,脚本元素,动作元素的使用 二、内容和主要步骤: 1.创建6个jsp页面,使用session实现一个简单的注册登录的示例。 2.页面命名如下:reg...


    前言

    一、实验目的:
    1.加深内置对象request,response进行请求响应的处理的理解。
    2.掌握使用内置对象session,application实现会话跟踪。
    3.掌握JSP的的指令元素,脚本元素,动作元素的使用
    二、内容和主要步骤:
    1.创建6个jsp页面,使用session实现一个简单的注册登录的示例。
    2.页面命名如下:reg.jsp, reg-check.jsp, login.jsp, login-check.jsp, success.jsp, failure.jsp。
    3.reg.jsp为注册页面,让用户输入用户名和密码,提交到reg-check.jsp
    4.reg-check.jsp为注册信息存储页面,将用户的注册信息存储到session对象中。并添加到login.jsp页面的链接。
    5.login.jsp为登录页面,让用户输入用户名和密码,提交到login-check.jsp
    6.login-check.jsp为登录检查页面,使用request对象获取login.jsp中的用户名和密码,取出注册时session中存储的用户名和密码进行比较,当全部相同时,使用response的sendRedirect()方法转到success.jsp, 否则转到failure.jsp。
    7.success.jsp显示登录成功文字。
    failure.jsp显示登录失败文字。
    
    三、要求:
    1. 完成上述任务,编写完整代码调试并使之运行正确;
    2. 写出实验报告(在实验系统完成)
    

    具体操作

    reg.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>reg</title>
    </head>
    <body>
    <%--注册页面--%>
    <form action="reg-check.jsp" method="post">
        用户名:<input type="text" name="username">
        <br>
        密码:<input type="password" name="password">
        <br>
        <input type="submit" value="注册">
    </form>
    </body>
    </html>
    

    reg-check.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>reg-check</title>
    </head>
    <body>
    <%--存储信息--%>
    <%
        //存储数据
        session.setAttribute("username", request.getParameter("username"));
        session.setAttribute("password", request.getParameter("password"));
        //重定向到login.jsp
        response.sendRedirect("login.jsp");
    %>
    </body>
    </html>
    

    login.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>login</title>
    </head>
    <body>
    <%--登录页面--%>
    <form action="login-check.jsp" method="post">
        用户名:<input type="text" name="username">
        <br>
        密码:<input type="password" name="password">
        <br>
        <input type="submit" value="登录">
    </form>
    </body>
    </html>
    

    login-check.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>login-check</title>
    </head>
    <body>
    <%
        if ( request.getParameter("username").equals(session.getAttribute("username"))&&
                request.getParameter("password").equals(session.getAttribute("password"))) {
            //重定向到success.jsp
            response.sendRedirect("success.jsp");
        }else {
            //重定向到failure.jsp
            response.sendRedirect("failure.jsp");
        }
    %>
    </body>
    </html>
    

    success.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>success</title>
    </head>
    <body>
    <h1>登录成功!</h1>
    </body>
    </html>
    

    failure.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>failure</title>
    </head>
    <body>
    <h1>登录失败!</h1>
    </body>
    </html>
    

    运行截图
    请添加图片描述
    请添加图片描述
    请添加图片描述
    用户名和密码其中一个与注册时不相等,则跳转到失败页面
    请添加图片描述
    请添加图片描述


    总结

    1.加深内置对象request,response进行请求响应的处理的理解。
    2.掌握使用内置对象session,application实现会话跟踪。
    3.掌握JSP的的指令元素,脚本元素,动作元素的使用。
    

    展开全文
  • JSP内置对象概述 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。 JSP所支持的九大内置对象,也叫隐式对象,从本质上讲,JSP的这些内置对象...

    上文提到JSP的基本技术,包括:JSP的基本概念、JSP的执行流程、JSP的文件元素、JSP的生命周期以及JSP的语法标识,重点了解了JSP的语法标识里的:脚本标识、注释标识、指令标识以及动作标识。接下来这篇Blog来重点了解下JSP的内置对象。

    JSP内置对象概述

    JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。在这里插入图片描述
    JSP所支持的九大内置对象,也叫隐式对象,从本质上讲,JSP的这些内置对象其实都是由特定的Java类所产生的,在服务器运行时根据情况自动生成。基于它们的主要作用可以分为四类:输入输出对象、作用域对象、Servlet对象以及异常错误对象

    输入输出对象

    输入输出对象共有两个,一个是我们最常用的用作向客户端输出各种数据的out对象,一个是主要用作页面重定向的response对象。

    out对象

    out 对象主要用于向客户端输出各种数据类型的内容,默认缓冲区8K,可以通过page指令设置,out 对象被封装为 javax.servlet.jsp.JspWriter 类,在实际应用中 out 对象会通过 JSP 容器变换为 java.io.PrintWriter 类,常用方法如下:
    在这里插入图片描述
    out对象有点类似我们之前的表达式脚本<%="我是一个跳转后的表达式语句"%>,用于像客户端输出信息,和System.out.println()语句服务端本地打印不同,out是向客户端浏览器打印数据,利用out对象还可以输出html代码,比如<br /> 让浏览器解析

    response对象

    response 对象用于响应客户请求,封装了 JSP 产生的响应,并发送到客户端以响应客户端的请求,response对象常用功能如下:处理 HTTP 文件头和页面重定向,但我们一般不会设置返回的文件头,我们一般使用respnse做页面重定向:

    • response 对象提供的 sendRedirect() 方法将网页重定向到另一个页面

    这里简单解释下请求转发和重定向:

    • 请求转发:客户端发起的请求被转发到了另一个地址进行处理,但这依然发生在一个request作用域里,地址栏显示的也是原来的地址。
    • 重定向:重定向操作支持将地址重定向到另一个地址进行处理,这是由目标服务器返回的客户端再次发起的一个请求,不在一个request作用域里,在客户端浏览器上将会得到跳转的地址,并重新发送请求链接,且地址栏显示新地址

    好简单了解后我们来看一个重定向的写法:

       // 如果用户没有输入用户名,则重定向到 redirect.jsp
        if (username == null || "".equals(username.trim())) {
            response.sendRedirect("redirect.jsp");//如果用户名不存在,则转向第一个界面
        }
    

    四大作用域对象

    共有四种级别的通信域,每一种通信域作用的范围不同,也都有些各自的作用对象,列举如下:

    通信域对象作用范围失效情况
    PagepageContext当前jsp页面请求转发即失效
    Requestrequest一次请求请求转发公用request,重定向即失效
    Sessionsession一次会话浏览器关闭即失效
    Applicationapplication项目启动期间项目关闭即失效

    在正式聊四大作用域对象前我们先了解下表单提交,通过表单提交来看作用域的作用范围

    表单提交

    网页中表单是用户填写信息并提交的组件,JSP 引擎会将客户端的请求信息封装在request 对象中,调用request 对象相应的方法就可以获取对应的封装信息,first.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/15
      Time: 8:02 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="second.jsp" method="get">
        <table>
            <tr>
                <td> 用户名:</td>
                <td><input type="text" name="username"></td>
                <td> 密码:</td>
                <td><input type="text" name="password"></td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" value=" 注册 ">
                </td>
            </tr>
        </table>
    </form>
    
    </body>
    </html>
    
    

    这样当我们提交时,表单就会传递到second.jsp页面:
    在这里插入图片描述
    提交后就可以在second.jsp页面获取到填写的信息:
    在这里插入图片描述
    second.jsp的代码清单如下,我会在代码清单里加一些判断逻辑,来完成一些作用域的探索second.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/15
      Time: 8:02 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        String username = request.getParameter("username");
        String password = request.getParameter("password");
    
    
        pageContext.setAttribute("password",password);
        session.setAttribute("password",password);
        application.setAttribute("password",password);
    
        pageContext.setAttribute("username",username);
        session.setAttribute("username",username);
        application.setAttribute("username",username);
    
        // 如果用户没有输入用户名,则重定向到 redirect.jsp
        if (username == null || "".equals(username.trim())) {
            response.sendRedirect("redirect.jsp");//如果用户名不存在,则转向第一个界面
        }
        // 如果用户没有输入密码,则请求转发到forward.jsp
        if (password == null || "".equals(password.trim())) {
            request.getRequestDispatcher("forward.jsp").forward(request,response);
        }
    
    %>
    <%
        out.println("输出注册信息");
    %>
    
    <%="您的用户名为:" + username + " 密码为: " + password%>
    </body>
    </html>
    
    

    pageContext对象

    pageContext页面上下文对象可以获取其他作用域对象,并提供方法用于访问内建对象在页面上定义的所有属性,从而保持同一页面组件之间的数据共享,pageContext常用方法如下:
    在这里插入图片描述

    请求转发【pageContext失效】

    在上文的代码清单里我预置了一些条件,当用户没有输入密码的时候我们执行请求转发,请求转发的代码清单如下forward.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/15
      Time: 8:38 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    [pageContext]未填写密码信息,只填写了用户名:<%=pageContext.getAttribute("username")%></br>
    [request]未填写密码信息,只填写了用户名:<%=request.getParameter("username")%></br>
    [session]未填写密码信息,只填写了用户名:<%=session.getAttribute("username")%></br>
    [application]未填写密码信息,只填写了用户名:<%=application.getAttribute("username")%>
    </body>
    </html>
    
    

    此时我们在页面只输入用户名观察浏览器:
    在这里插入图片描述

    request对象

    request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等,最重要的作用就是:封装用户提交的表单信息,通过如下方法可以获取对应数据
    在这里插入图片描述
    request也可以帮助我们执行请求转发:

    request.getRequestDispatcher("forward.jsp").forward(request,response);
    

    重定向【request失效】

    同样在上文的代码清单里我预置了一些条件,当用户没有输入用户名的时候我们执行重定向,重定向的代码清单如下redirect.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/15
      Time: 8:20 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java"  %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    [pageContext]未填写用户名信息,只填写了密码:<%=pageContext.getAttribute("password")%></br>
    [request]未填写用户名信息,只填写了密码:<%=request.getParameter("password")%></br>
    [session]未填写用户名信息,只填写了密码:<%=session.getAttribute("password")%></br>
    [application]未填写用户名信息,只填写了密码:<%=application.getAttribute("password")%>
    </body>
    </html>
    
    
    

    那么我们打开页面可以观察到:
    在这里插入图片描述

    session对象

    session在JSP中被称为会话,目的是保存不同用户在web程序多个页面之间跳转时的数据信息,直到浏览器关闭,每个客户端会对应同一个session对象:

    • session对象存储数据方法:session.setAttribute(“字符串名称”,要存入的数据); 向session中存入数据,并且起名,要存入的数据可以是任意类型,名称必须是字符串类型,例如:在这里插入代码片
    • session对象取出数据方法: session.getAttribute(“存入时的名称”);,取出数据时是Object类型,如需要可以转为需要类型
    • session对象移除数据方法如下:session.removeAttribute(“存入时的名称”);

    示例如下:

    session.setAttribute("password",password);
    

    需要注意的是:服务器不知道客户端何时关闭浏览器,为了节省内存开销,默认超时时间为30分钟,即30分钟用户没有再次发出请求,则session自动销毁,超时时间可以在Tomcat配置文件中修改

    浏览器关闭【session失效】

    我们把请求地址粘贴到另一个新用户浏览器上来观察session的存活状态,发现session在切换了会话后失效了。
    在这里插入图片描述

    application对象

    application 对象用于保存应用中的公有数据,服务器启动自动创建 application 对象,只要没有关闭服务器,application 对象将一直存在,所有用户可以共享,application 对象常用于记录缓存项目中的全局数据,常用方法如下:
    在这里插入图片描述
    示例如下:

     application.setAttribute("password",password);
    

    关闭服务器【application失效】

    我们关闭tomcat服务,可以观察到application的作用域也失效了,当然不光是失效了,服务器都没了。
    在这里插入图片描述
    我们这里要说的就是再重启服务器后application里也是不会有值的。在这里插入图片描述

    异常错误对象

    exception 对象包装了从先前页面中抛出的异常信息。它通常被用来产生对出错条件的适当响应,通常和page指令里的errorPage和isErrorPage一起使用。一般常用方法如下:
    在这里插入图片描述

    我们来看下我们的异常页面为test.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/14
      Time: 12:30 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8"  errorPage="error.jsp" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%! int day = 3; %>
    
    if语句输出练习:
    <br/>
    <% if (day == 1 || day == 7) { %>
    <p>今天是周末</p>
    <% } else { %>
    <p>今天不是周末</p>
    <% }
        ;
    %>
    
    <br/>
    for语句输出练习;
    <br/>
    <%for (int fontSize = 1; fontSize <= 3; fontSize++) { %>
    <span style="color: green; ">
        循环第 <%=fontSize%><br/>
    </span><br/>
    <%}%>
    
    <%
        int b=0;
        if(b==0){
            int a=5/b;
            throw new Exception("不能做除0运算");
        }
    %>
    </body>
    </html>
    
    

    在这个页面我们通过指令指定如果出现异常要处理异常的页面是哪个:errorPage="error.jsp",然后我们来编写下错误的处理页面error.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: tianmaolin
      Date: 2021/7/15
      Time: 8:44 下午
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true"%>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
    <%
            out.print(" 异常信息: "+ exception.getMessage()); //从exception对象中获取异常信息
    %>
    </body>
    </html>
    
    

    这样当我们访问问题页面时就会自动展示错误信息:
    在这里插入图片描述

    Servlet对象

    还有几个我们不常用到的对象这里也一并了解下,包括config对象和page对象

    config对象

    config对象是 javax.servlet.ServletConfig 类的实例,直接包装了servlet的ServletConfig类的对象。这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等。以下是config对象的使用方法,不是很重要,所以不常用:

    config.getServletName();
    

    它返回包含在<servlet-name>元素中的servlet名字,注意,<servlet-name>元素在 WEB-INF\web.xml 文件中定义。

    page对象

    这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。page 对象就是this对象的同义词

    总结一下

    好了以上就是JSP的内置对象相关内容,我觉得其中最重要的包含以下三个内容:

    • pageContext、request、Session以及application这四个作用域作用的范围,这对以后学习框架也有帮助
    • 理解表单提交的基本方式
    • 理解请求转发和重定向的含义

    好了这期学习和练习就到这里,下一期我们详细学习下JavaBean以及深入理解下动作标识。

    展开全文
  • Java--Jsp内置对象列表

    2021-03-13 14:51:52
    Java EE JSP内置对象及表达式语言一.JSP内置对象 JSP根据Servlet API规范提供了一些内置对象,开发者不用事先声明就可使用标准变量来访问这些对象. JSP提供了9种内置对象: (一).request 简述: JSP编程中 ...JSP&...

    Java EE JSP内置对象及表达式语言

    一.JSP内置对象 JSP根据Servlet API规范提供了一些内置对象,开发者不用事先声明就可使用标准变量来访问这些对象. JSP提供了9种内置对象: (一).request 简述: JSP编程中 ...

    JSP&lpar;3&rpar; - 9个JSP内置对象 - 小易Java笔记

    1.9个JSP内置对象 内置对象引用名称     对应的类型 request HttpServletRequest response HttpServletResponse config Servle ...

    Java遇见HTML——JSP篇之JSP内置对象&lpar;上&rpar;

    一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...

    JAVA遇见HTML——JSP篇:JSP内置对象(下)

    什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述 ...

    JSP内置对象详解及示例

    目录 JSP 内置对象 out request response config application session pageContext page exception JSP 内置对象 jsp一 ...

    jsp内置对象浅谈

    jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...

    JSP内置对象-request

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

    JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

    Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

    JavaWeb之 JSP&colon;内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

    展开全文
  • JSP内置对象百度百科详解 JSP内置对象是Web容器创建的一组对象 JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。 在JSP页面中,可以通过存取JSP内置对象实现...

    九大内置对象

    一.什么是JSP内置对象

    JSP内置对象百度百科详解

    • JSP内置对象是Web容器创建的一组对象

    JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。
    在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。

    二、JSP内置对象组成

    JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端和服务器端交互的过程中分别完成不同的功能。

    三、JSP内置对象的特点

    JSP的内置对象主要有以下特点:

    • 1、由JSP规范提供,不用编写者实例化;
    • 2、通过Web容器实现和管理;
    • 3、所有JSP页面均可使用;
    • 4、只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%><%使用内置对象%>

    四、JSP内置对象的分类

    按照内置对象的功能来划分,可以分为以下四类:

    • 1、输出输入对象:request对象、response对象、out对象;
    • 2、通信控制对象:pageContext对象、session对象、application对象;
    • 3、Servlet对象:page对象、config对象;
    • 4、错误处理对象:exception对象。 [3]

    详解out内置对象

    Out对象

    Out对象是javax.servlet.jsp.JspWriter类的实例。主要用于向客户端浏览器输出数据。

    out对象的作用

    如何在JSP页面中输出信息?

    • <%=信息内容%>
    • out.println(信息内容);或out.print(信息内容);

    示例:
    在这里插入图片描述
    效果:
    在这里插入图片描述

    out对象的常用方法

    out对象是向客户端输出内容常用的对象
    在这里插入图片描述

    注意:
    但是,浏览器目前不识别println()写入的换行符,如果希望浏览器显示换行,应当向浏览器写入 < br>来实现换行

    out对象的实例

    out对象各种方法的使用
    在这里插入图片描述
    out对象缓冲区自动刷新设置
    在这里插入图片描述


    详解request内置对象

    request对象的作用

    如何将页面上的动态信息提交给服务器?

    • 动态信息包括:用户名、密码
    • 页面提交后,显示输出的数据
      在这里插入图片描述

    在这里插入图片描述


    request对象的常用方法

    request对象主要用于封装客户端的请求信息

    常用方法:

    方法名描述
    object getAttribute()返回指定属性的属性值
    Enumeration getAttributeNames()返回所有可用属性名的枚举
    String getParameter()返回指定参数的参数值
    Enumeration getParameterNames()返回所有可用参数名的枚举
    String [] getParameterValues()返回包含参数的所有值的数组
    void setAttribute()设置属性的属性值
    String getMethod()返回提交方式

    request对象的实例

    在这里插入图片描述


    页面显示:
    在这里插入图片描述


    取得请求信息:

    在这里插入图片描述


    页面显示:

    在这里插入图片描述


    请求转发
    地址栏地址不改变,是服务器内部的一次改变
    实例:
    在这里插入图片描述

    在这里插入图片描述

    页面显示:
    在这里插入图片描述

    中文乱码处理:

    get方式:
    在这里插入图片描述
    post方式:

    在这里插入图片描述

    tomcat设置
    在这里插入图片描述

    详解response内置对象

    response对象的作用

    在这里插入图片描述

    • response对象用于响应客户请求并向客户端返回信息

    response对象的常用方法

    在这里插入图片描述

    response对象的示例

    重定向
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    获取不到上一个request域定义的值


    详解session内置对象

    • 什么是会话?

      • 一个会话就是浏览器与服务器之间的一次通话
        在这里插入图片描述
    • 为什么使用会话?

      • HTTP协议
        • 无状态,无连接
          在这里插入图片描述

    session对象的作用及原理

    session原理:

    session对象的原理在于,服务器可以为客户端创建并维护一个session对象,用于存放数据。在创建session对象的同时,服务器将会为该session对象产生一个唯一编号sessionID

    。服务器以cookie的方式将sessionID存放在客户端。当浏览器再次访问该服务器时,会将sessionID作为Cookie信息带到服务器,服务器可以通过该sessionID检索到以前的session对象,并对其进行访问。

    注意:cookie中仅仅保存了一个sessionID
    ,而相对较多的会话数据保存在服务器端对应的session对象中,由服务器来统一维护,这样一定程度保证了会话数据安全性,但增加了服务器端的内存开销。

    如下图所示:
    在这里插入图片描述
    URL重写技术跟踪session

    如果用户关闭了cookie的使用,还想保存session状态的话,必须使用url重写的技术。也就是在url地址中加入sessionid,以方便保存信息

    在这里插入图片描述

    session对象的有效期

    • 发现下面四种情况之一,session将失效
      在这里插入图片描述

    session对象主要用于在一次会话中保存信息


    session对象的常用方法

    session的常用方法

    方法名描述
    String getId()返回session创建时的唯一ID号
    long getCreationTime()返回session创建的时间
    long getLastAccessedTime()返回此session的最近一次的请求时间
    void invalidate()取消session,使session失效
    object getAttribute()从session对象中提取指定的对象
    void setAttribute()将对象添加到session对象中
    void removeAttribute()从session中删除指定的对象
    void setMaxInactiveInterval()设置session对象的生存时间
    boolean isNew()判断是否是一个新的用户

    session对象的示例

    在这里插入图片描述

    代码示例:

    <body>
    <%session.setMaxInactiveInterval(10);%>
    id:<%=session.getId()%><br>
    session的创建时间:<%=session.getCreationTime()%><br>
    最近一次访问时间:<%=session.getLastAccessedTime()%><br>
    对网页无操作,session最大有效期:<%=session.getMaxInactiveInterval()%><br>
    <%=session.getAttribute("USERS")%>
    </body>
    

    效果:

    id:AAF1BD078D1DCF56CC853837C577287E
    session的创建时间:1622538233954
    最近一次访问时间:1622538298449
    对网页无操作,session最大有效期:10
    null
    

    session修改session超时时间
    在tomcat下的web.xml文件下的

    <session-config>
            <session-timeout>30</session-timeout>
        </session-config>
    

    默认三十分钟


    详解application内置对象

    application对象的作用及原理

    application的作用:

    application对象实现了用户间数据的共享,可存放全局变量

    application对象的常用方法

    application的常用方法

    方法名描述
    Object getAttribute()从application中取得指定的对象
    void setAttritute()往application中保存指定的对象
    String getRealPath()返回指定虚拟路径的真实路径
    void removeAttribute()从application中删除指定的对象
    String getServerInfo()返回JSP(SERVLET)引擎名及版本号

    application对象的示例

    • 统计网站访问次数的实现

    在这里插入图片描述


    详解exception内置对象

    exception对象的作用

    exception 对象是专门负责处理JSP在执行过程中出现的异常问题的。
    但要注意 exception 对象一般要和page 指令一起配合使用,只有在异常处理页面(在页面指令里有isErrorPage=true的页面)中才可以使用,把 JSP 文件执行时所有发生的错误和异常都集中到异常处理页面去进行处理。
    这不仅提高了系统的统一性,程序流程也变得更加简单清晰。

    exception对象的方法

    方法名描述
    String getMessage()返回描述异常的信息
    String toString()返回关于异常的简短描述信息
    void printStackTrace()显示异常及其栈轨迹
    Throwable FilllnStackTrace()重写异常单的执行栈轨迹

    exception对象的示例

    <%--
      Created by IntelliJ IDEA.
      User: 吕兴利
      Date: 2021/6/1
      Time: 13:28
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form method="post" action="ex2.jsp">
    
        <input name="number" type="text">
        <input type="submit" value="提交">
    </form>
    </body>
    </html>
    
    
    <%--
      Created by IntelliJ IDEA.
      User: 吕兴利
      Date: 2021/6/1
      Time: 13:28
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        int number=0;
        try {
            String strNumber=(String) request.getParameter("number");
            number=Integer.parseInt(strNumber);
        }catch (NumberFormatException n){
            throw new NumberFormatException("你输入的文本不是数字!");
        }
    %>
    
    <%
        out.print("你输入的数字是"+number);
    %>
    </body>
    </html>
    
    

    详解page内置对象

    page对象的作用

    page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身
    相当于JSP编译生成servlet后是servlet类的this对象。实际当中很少用到。

    page对象的示例

    <body>
    相当于this对象<%
        out.print(page.toString());
    %>
    </body>
    

    效果:

    相当于this对象org.apache.jsp.page1_jsp@6f8551d3
    

    详解config内置对象

    config对象的作用

    config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。
    该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。
    因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。


    详解pageContext内置对象

    pageContext对象的作用

    pageContext对象提供了对JSP页面所有的对象的访问,pageContext对象的方法可以访问除本身以外的8个JSP内部对象。
    pageContext对象相当于JSP程序中所有对象功能的集成者。但其他的8个内置对象也都可以直接访问,所以pageContext对象应用较少。

    一个图解释:

    在这里插入图片描述

    至此九大内置对象就结束了


    对象的作用域

    范围的分类

    在这里插入图片描述

    page作用域

    page作用域指本JSP页面的范围
    - pageContext.setAttribute(键,值)
    - pageContext.getAttribute(键)

    在这里插入图片描述

    request作用域

    • request作用域内的对象则是与客户端的请求绑定在一起

    在这里插入图片描述

    session作用域

    • session对象作用域:一次对话

    在这里插入图片描述

    application作用域

    • application的作用域:面对整个Web应用程序

    在这里插入图片描述

    JSP内置对象及作用域

    在这里插入图片描述


    cookie

    cookid的简介

    • cookie是Web服务器保存在客户端的一系列文本信息
    • cookie的作用
      • 对特定对象的追踪
      • 统计网页浏览次数
      • 简化登录
    • 安全性能
      • 容易信息泄露

    cookie语法

    • 创建cookie对象
    Cookie newCookie = new Cookie(String key,Object value);
    
    
    • 写入cookie
    response.addCookie(newCookie);
    
    • 读取cookie
    Cookie[] cookies = request.getCookies();
    

    cookie对象的常用方法

    • cookie对象的常用方法
    方法名称说明
    void setMaxAge(int expiry)设置cookie的有效期,以秒为单位
    void setValue(String value)在cookie创建后,对cookie进行赋值
    String getName()获取cookie的名称
    String getValue()获取cookie的值
    String getMaxAge()获取cookie的有效时间,以秒为单位
    展开全文
  • 1.内置对象的概述 1.1 jsp对象是指无须程序员创建的,可直接在jsp页面中使用对象名调用,是由web容器实现创建的。 1.2 在jsp中,共有request客户端请求对象、out服务器输出对象、response服务器端响应对象、session...
  • jsp九个内置对象详解

    2021-04-17 04:06:00
    JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用1.总结介绍#对象名称对象介绍1out用于向客户端,浏览器输出数据。2request封装了来自客户端、浏览器的各种信息。3response封装...
  • 可以使用 如: // 为排序号赋值 $("#orderId").val("${requestScope.gc.orderid}"); // 或者 $("#orderId").val(${requestScope.gc.orderid});
  • 下列不属于JSP内置对象的是()。

    千次阅读 2020-12-24 23:47:43
    【单选题】include指令用于在JSP页面中静态插入一个文件,所插入文件可以是JSP页面HTML网页,文本文件或一段Java代码,但必须保证插入后形成的文件是()【单选题】下面方式中正确使用JavaBean的是()。【单选题】在Web...
  • JSP实现简单注册、登录程序 运行环境:Eclipse ...register.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head
  • jsp的9个内置对象

    2021-03-14 13:44:10
    request对象request代表一个用户请求,一个用户请求一般都带有一些从客户端传递来的参数。...当服务器某个jsp页面接收到这个request,这个jsp页面可以对这个request进行加工,再传递给别的页面。respon...
  • 方法 返回值 方法说明addCookie(Cookie cookie) void 添加cookieaddDateHeader(String name,long date) void ...
  • 什么是jsp内置对象 二.jsp内置对象有什么 JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1.reques对象 request对象 客户端请求...
  • jsp九大内置对象

    2021-03-15 23:53:09
    今天创建了博客园账号,想记录一下自己的成长历程,并巩固...然后jsp引擎将jsp翻译成一个_jspServlet(实质上也是一个servlet),然后按照servlet的调用方式进行调用,这个时候就需要用到九大内置对象了。分类:内置对...
  • JSP内置对象是Web容器创建的一组对象,不需要new就可以直接使用的对象。 1.1、out对象 语法<%="文本内容1<br/>"%> #表达式输出 <% out.print("文本内容2<br/>"); %> #out对象 <%
  • JSP内置对象有哪些

    2021-03-14 11:12:52
    JSP中的内置对象有:out应用程序、request应用程序、访问客户数据、response的应用、session的应用、application的应用、在web.xml中获取配置对象、获取异常信息等JSP内置对对象是基于JSP函数的抽象,任何的JSP页面...
  • 使用JSP内置对象实现猜数字的小游戏。 当客户访问服务器上的getNumber.jsp 时,随机分配给客户一个1~100 之间的整数, 然后将这个整数存在客户的session对象中。客户在表单里输入一个整数, 来猜测分配给自己的那个...
  • JSP内置对象的实验报告一、实验目的:本实验的目的是让学生掌握怎样在JSP中使用内置对象request、page、response等。二、实验要求:编写四个JSP 页面login.jsp、Receive.jsp、和Correct.jsp,实现一个网页的正常登陆...
  • jsp内置对象销毁session

    2021-04-23 23:25:48
  • JSP 使用 Java 定义的内置对象来访问网页的动态内容 内置对象只对表达式和Scriptlet有用,在声明中不能使用 JSP的常用内置对象:request、response、session、application和out。 request对象 是实现
  • JSP内置对象

    2021-04-27 23:57:05
    JSP内置对象 JSP中⼀共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1、request对象 request 对象是 javax.servlet....
  • 文章目录前言一、JSP内置对象1.1 HttpServletRequest类和Request对象1.2 HttpServletResponse类和Response对象1.3 JspWriter类的out对象1.4 HttpSession类的session对象1.5 ServletContext类的application对象1.6 ...
  • 一、jsp 九大内置对象 jsp 中的内置对象,是指 Tomcat 在翻译 jsp 页面成为 Servlet 源代码后,内部提供的九大对象,叫内置对象。 二、jsp 四大域对象 域对象是可以像 Map 一样存取数据的对象。四个域对象功能...
  • JSP内置对象

    2021-01-12 18:46:30
    resquest对象 reuqest对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过html表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的方法来获取这些数据。request...
  • Cookie对象、及JSP内置对象2 Cookie cookie不是内置对象。使用时,需要先new。 定义 Cookie是由服务端生成,发送到客户端保存。当客户端第一次请求时,服务端会生成一个Cookie,里面包含客户端想要的信息,发送到...
  • 文章目录JSP内置对象内置对象-out内置对象-requestrequest实现请求转发request请求传递对象内置对象-responseresponse实现重定向内置对象-sessionsession会话机制session对象的常用方法session对象的生命周期内置...
  • jsp的四个内置对象

    2021-10-18 14:35:42
    当我们写页面的时候 form表单提交的信息我们需要用jsp的reques来获得,rrequest对象是从客户端向服务器端发送请求,从这个对象中可以取出客户端用户提交的数据或参数(一般对应name属性)。 response对象和request对象...
  • jsp的九大内置对象

    2021-10-21 22:20:59
    JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,704
精华内容 27,081
关键字:

jsp内置对象的使用