JSP

JSP内置对象–

  1. 定义
    1. JSP 是简化 Servlet 编写的一种技术,他讲 Java 代码和 HTML 语句混合在一个文件中编写,只针对网页中要动态产生的内容用 Java 代码来编写,而对固定不变的静态的内容采用普通静态 HTML 页面的编写方式。
  2. 在 HTML 中书写 Java 代码:

    1. 方式:

      ```
      <body>
          <% Date date = new Date();
              System.out.print(date);
          %>
      </body>
      
      ```
      
  3. JSP 页面放的位置:
    1. JSP 可以放在 WEB 应用程序除了 WEB-INF 及其子目录外的任何目录中。
    2. JSP 的访问路径与普通的 HTML 页面的访问路径形式也完全一样。
  4. JSP 运作原理:
    1. 本质上就是一个 Servlet。
    2. 每一个 JSP 页面第一次访问的时候,JSP 引擎将它翻译成一个 Servlet 源程序,接着再把这个Servlet 源程序编译成 Servlet 的 class 类文件,然后在由 WEB 容器(Servlet引擎)像调用Servlet 程序一样的方式来装载执行这个一面翻译成的Servlet 程序。
  5. JSP 隐含对象:

    1. request:

      • 对象封装了由客户端生成的 HTTP 请求的所有细节,主要包括 HTTP 头信息,系统信息,请求的方式和请求的参数等。通过 request 对象提供的方法,可以处理客户端浏览器提交的 HTTP 请求参数。
      • 使用其中的getParameter()方法可以获取传递的参数

        – 传参数

        ``` 
        http://localhost:8080/Javawebstudy/NewFile.jsp?username=1
        
        ```
        

        – 得到参数

        ```
        <%
            String username = request.getParameter("username");
            out.print(username);
        %>
        
        ```
        
      • 通过request对象进行数据传输:

        – setAttribute()保存参数:

        ```
        request.setAttribute("username", username);
        
        ```
        

        – getAttribute()得到参数:

        ```
        String ansuser = request.getAttribute("username").toString();
        
        ```
        
    2. response:

      • 用于响应客户的请求,向客户输出信息。它封装了 JSP 产生的响应,并发送到客户端响应客户端的请求。请求的数据可以是各种类型的,甚至是文件。在 JSP 页面内有效。
      • 实现重定向页面:

        – sendRedirect(String Path);

        ```
        response.sendRedirect("Login.jsp");
        response.sendRedirect("www.baidu.com");
        
        ```
        
      • 处理 HTTP 文件头:

        – response.sendContentType(String Path):type可以为text/html、text/plain….

        ```
        response.sendContentType("text/html");
        
        ```
        
      • 禁用缓存:

        ```
        <%
        response.setHeader("Cache-Control", "no-store");
            response.setDateHeader("Exprires", 0);
        %>
        
        ```
        
      • 禁用缓存:

        ```
        <%
            response.setHeader("Cache-Control", "no-store");
            response.setDateHeader("Exprires", 0);
        %>
        
        ```
        
      • 定时跳转:

        ```
        <%
            response.setHeader("refresh", "时间;URL=目标地址");
        %>
        
        ```
        
      • 设置缓冲区:

        ```
        response.setBufferSize(大小);
        
        ```
        
    3. out:

      • Jspwriter 对象。 调用out.println() 可以直接把字符串打印到浏览器中

        ```
        out.print(String string);
        
        ```
        
      • 管理相应的缓冲区:
        – out.clear():清除缓冲区的内容
        – out.clearBuffer():清除当前缓冲区的内容
        – out.flush():刷新流
        – out.isAutoFlush():检测当前缓冲区已满时是自动清空还是抛出异常
        – out.getBufferSize():获取当前缓冲区的大小
    4. session:

      • Session 代表浏览器和服务器的一次会话,是 HttpSession 的一个对象。
      • 创建客户的会话:

        ```
        session.setAttribute(String name, Object obi)
        
        ```
        -- name: 用于指定作用域在session 范围内的变量名
        -- obj: 保存在session 范围内的对象
        
      • 获取客户的会话:

        ```
        session.getAttribute(String name)
        
        ```
        -- name 指定保存在session 范围内的关键字
        
      • 设置 session 的有效时间:

        ```
        session.setMaxInactiveInterval(int time);
        
        ```
        -- 在指定的time 时间有效
        
      • 销毁session:

        `Javaweb
        session.invalidate();
        
        `
        
    5. applicassion:
      • 代表当前的 web 应用,保存了所有的共有信息,是 ServletContext 对象
      • 其中有的方法:
        – getInitParameter(String string)
        – getAttributeName()
        – getAtrribute(String name):用于获取指定的属性的值
        – removeAttribute(String name):用于从application中移除指定名称的属性
    6. pageContext:

      • 页面的上下文,是 PageContext 的一个对象,可以从该对象中获取8个隐含对象,也可以从中获取到当前页面的其他信息。
    7. exception:
      • 当jsp引擎在执行过程中发生了错误,那么jsp引擎会自动产生一个异常对象,如果这个Jsp页面指定了另外一个Jsp页面为错误处理程序,那么Jsp引擎将将这个异常对象放到request对象中,传到错误处理程序中去,因为page的编译指令isErrorPage设置为了True,那么Jsp引擎会自动生成一个exception对象,这个exception对象从request对象所包含的HTTP参数中获得.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值