zoukankan      html  css  js  c++  java
  • JSP Web第四章整理复习 JSP技术基础

    P104  JSP简介

    (1)基本概念:jsp技术、jsp、jsp网页组成

      JSP技术基础java servlet和整个java体系的Web服务器端开发技术。

      JSP表示它是用java写的Web服务页面程序。

      JSP网页组成:

        静态部分:如HTML,CSS标记等

        动态部分:脚本程序,JSP标记等

    (2)第一次访问执行流程图

      

      当第二次执行时,若JSP页面不被修改,则只执行步骤2和3

    (3)例4-1  (略)

    P108  JSP注释、例4-2

      HTML注释:

    <!--这是HTML注释,在客户端源代码中可见-->

      JSP注释:

    <%--这是JSP注释,在客户端源代码中不可见--%>

    P109  JSP声明、变量声明及其含义与使用,例4-3

      JSP声明语法:(用;结束)

    <%!Java变量或方法;%>

      此时相当于全局变量或方法,作用于整个JSP页面!该变量在创建对应的Servlet(init)时被初始化,且一直有效,直到实例销毁(destory)。

    P110  JSP表达式的写法,例4-4

      JSP表达式的语法:(不能用;结束)

    <% = Java表达式 %>

    P111  例4-6,4-7

    P113  page指令使用及其常用属性的使用

    (1)作用与基本语法

      作用:设置整个JSP页面的相关属性和功能

      基本语法:

    <%@page 属性 1 = "属性值 1"  属性 2 = "属性值 2"%......>

    (2)使用方式

      第一种:

    <%@page contentType = "text/html;charset = gb231"  import = "java.util.Date"%>

      第二种:

    <%@page contentType = "text/html;charset = gb231"%> 
    <%@page import = "java.util.Date"%>

     (3)import

      导入Java包,多个包用,隔开

    <%@page import = "java.util.*,java.lang.*"%>

     (4)contentType

      用于设置文件格式和编码方式,默认类型是text/html,默认字符编码是ISO-8859-1

    <%@page contentType = "text/html;charset = gb231"%> 

     (5)pageEncoding

      指定本页面编码的字符集,默认为ISO-8859-1

    <%@page pageEncoding="gbk"%> 

     (6)iserrorPage

      指定本JSP页面是否用于显示错误信息

    <%@page iserrorPage = "true"%>

     (7)errorPage

      指定本JSP文件发生错误时要转向的页面

    <%@page errorPage = "error.jsp"%>

     (8)errorPage、iserrorPage如何设置,代码如何实现

      errorPage="relative URL"

      iserrorPage="true|false"

      代码见例4-8

     (9)pageEncoding与contentType的区别

      pageEncoding是JSP文件本身的编码

      contentType中的charset是指服务器发送给客户端时的内容编码

     (10)page指令使用注意点

      1、page指令作用于整个JSP页面,包括<%@include%>指令调用的静态包含文件,但不包括用<jsp:include>指令指定的动态包含文件。因为静态包含实际上把2个JSP文件合并成1个servlrt,动态包含仍是2个独立的servlet文件

      2、除了import属性外,其他的属性只能用一次

      3、无论把<%@page%>放在JSP文件夹的哪个地方,作用范围都是整个JSP页面。为了可读性,一般放在JSP文件的顶部

    P118  include指令

     (1)作用

      静态包含,将2个JSP文件合并成1个servlet

     (2)使用语法

    <%@include file = "relative URL"%>

     (3)include使用解释

      引入文件和被引入文件是在被JSP引擎翻译成servlet的过程中进行合并,而不是先合并源文件再对合并的结果进行翻译。

     (4)例4-9

    P120  forward动作指令

      作用:实现服务器端的页面跳转

      语法:

       语法1:  <jsp:forward page ="{relativeURL|<% = expression%>}"/>
       语法2(带参数跳转): <jsp:forward page ="{relativeURL|<% = expression%>}"/>
                 <jsp:param name = "name" value = "{value|<% = expression%>}"/>
                 </jsp:forward>

    P121  include动作指令

     (1)作用、语法格式、代码

       动态包含,将2个JSP文件转换成2个独立的servlet文件

       语法1:  <jsp:include page ="{relativeURL|<% = expression%>}" flush = "true"/>
    
       语法2(带参数包含): <jsp:include page ="{relativeURL|<% = expression%>}" flush = "true"/>
                  <jsp:param name = "name" value = "value"/>
                 </jsp:include>

     (2)<jsp:include>动作指令与<%@include%>编译指令的作用与区别

      作用是相同的,在当前页面嵌入某个页面

      区别:<%@include%>编译指令实际上把2个JSP文件合并成1个servlrt,引入文件和被引入文件在被JSP引擎翻译成servlet的过程中进行合并

              <jsp:include>动作指令是将2个JSP文件转换成2个独立的servlet文件

    P124  param动作指令

      例题4-12

    P128  JSP内置对象作用域

    (1)page、request、session、application的作用范围

      page:仅在当前1个JSP页面中有效

      request:仅对本次请求(客户每次向JSP页面提出请求,服务器即为此创建1个request对象,服务器完成此请求后,该request立即失效)

      session:1个会话(客户端同服务器相连接的期间,直到连接中断为止)

      application:整个应用程序(服务器启动是创建,服务器关闭时停止)

      作用范围:page < request < session < application      

      (2)JSP内置对象生命周期原理图

              

    P130  out对象

      主要以out.println和out.print两个方法输出数据

    P132  request对象(请求)

    (1)作用

      客户端的请求信息封装在request对象中,通过它才能做出响应

    (2)常用方法

      void setAttribute(String name,Object o)  将一个对象以指定的名字保存在request中

      Object getAttribute(String name)       返回name指定的属性值,如果不存在则返回null

      String getParameter(String name)     获取客户端传送给服务器的单个传参值

      setCharacterEncoding()          设置解析请求的字符编码类型

      Cookie[] getCookies()           以数组形式返回所有Cookie对象

      String getLocalName()          获取服务器端的主机名

      String getLocalAddr()            获取服务器端的IP地址

      String getLocalPort()             获取服务器端的端口

      String[] getParameterValues(String name)   获取指定参数的所有值,比如表单的多选框

    (3)例4-16,4-17

    (4)request中文参数的乱码问题

      POST方式:加入<%request.setCharacterEncoding("utf-8");%>

      GET方式:在Tomcat中config文件夹里的server.xml中增加斜体部分语句

    URIEncoding = "GBK":
    <Connector port = "8080"  
        protocol = "HTTP/1.1"
        connectionTimeout = "20000"
        redirectPort = "8443"
        URIEncoding = "GBK" />

    P136  response对象(响应)

    (1)作用

      是服务器对request对象请求的回应,负责向客户端发送数据

    (2)sendRedirect 重定位方法和 jsp:forward 跳转的区别

        jsp:forward  对客户而言是同一次请求,跳转后地址栏不会改变

        sendRedirect   对客户而言是不同请求,跳转后地址栏改变

    (3)void addCookie(Cookie cookie)

      添加一个Cookie对象,用来保存客户端的用户信息

    (4)PrintWriter getWriter()

      获取输出流对应的writer对象

    (5)setCharacterEncoding()

      指定响应的字符编码格式

    (6)例4-18

    P141  session

    (1)关于session对象的描述

      用户保持HTTP连接状态的技术。因为HTTP本身是无状态的,影响程序间的交互。

    (2)常用方法

      void setAttribute(String key,Object o)  设置session属性,将一个Object对象以key为关键字保存到session中

      Object getAttribute(String key)       返回以key为关键字的Object对象,如果不存在则返回null

      int getMaxInactiveInterval()       返回session的超时时间,单位是秒

      void setMaxInactiveInterval()       设置session的超时时间,单位是秒,负数表明永不失效

      void invalidate()            使该session立即失效

    (3)session默认超时的设置

      默认超时时间是30分钟,可以通过Tomcat目录下configweb.xml中的<session-config>配置项修改

    <session-config>
        <session-timeout>60</session-timeout>
    </session-config>
        <!--单位:分钟-->

    (4)例4-23

    P144  application

      功能:存放要在多个用户中共享的数据

      例4-24

    P147  pageContent对象

    (1)作用

      存取其他内置对象

    (2)常用方法

      ServletRequest getRequest()            回传当前页面的请求,如request

      ServletResponse getResponse()              回传当前页面的响应,如response

      ServletContext getServletContext()          回传当前页面的执行环境,如application

      HttpSession getSession()               回传和目前网页有联系的会话,如session

      Object getAttribute(String name,int scope/String name)  回传名称为name,范围为scope的属性对象

      getAttributeNameInScope(int scope)           回传所有属性范围为Scope的属性名称

    (3)page对象的作用范围

      仅在当前1个JSP页面中有效

    (4)例4-25

    P149  Cookie对象

    (1)什么是Cookie?其作用是什么?

      Cookie是一种会话跟踪机制。用来记录用户登录的用户名、密码、登录时间等信息

    (2)常用方法

    Cookie cookie = new Cookie("name","yg");//构造方法
    cookie.setMaxAge(60*60);//设定cookie存活时间为1小时,单位:秒
    response.addCookie(cookie);
    request.getCookies()

    (3)例4-26

  • 相关阅读:
    50 个加速包都抢不到车票,还不如这个 Python 抢票神器!
    前后端开源的一款简单的微信个人博客小程序
    可以提升3倍开发效率的 Intellij IDEA快捷键大全汇总(2019)
    一张图搞定OAuth2.0
    nginx+vue实现项目动静分离
    「今日 GitHub 趋势」让全世界程序员体会中国的 12306 抢票狂潮
    C# 获取当前月第一天和最后一天
    connect to tomcat with JMX
    Java Debugging
    内存模型
  • 原文地址:https://www.cnblogs.com/yg1024/p/8125323.html
Copyright © 2011-2022 走看看