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目录下config\web.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

JSP Web第四章整理复习 JSP技术基础的更多相关文章

  1. JSP Web第六章整理复习 JavaBean技术

    P183 什么是JavaBean,JavaBean有哪些特点? javabean是一种特殊的java类 特点:属性private,方法public P184 JavaBean封装数据,例6-1,6-2 ...

  2. JSP Web第五章整理复习 JSP访问数据库

    P164  例5-1  常用SQL语句 P178  数据库连接池 (1)连接池的作用 存储多个数据库连接对象,当程序需要时,从池中获取1个连接,程序执行完成后再还给连接池.避免数据库连接建立.关闭的开 ...

  3. JSP Web第七章整理复习 Servlet基础知识

    P206-208 Servlet项目的创建,web.xml的配置及标签含义,相关程序 创建:new 一个Servlet类,继承自javax.servlet.http.HttpServlet; 写doG ...

  4. JSP Web第三章整理复习 开发环境搭建

    P86  WEB工作原理 用户使用浏览器通过HTTP协议请求服务器上的Web资源,服务器接收到该请求后,读取请求的URI所标识的资源,加上其他资源发送给客户端的浏览器,浏览器解析响应中的HTML数据, ...

  5. web—第四章css&第五章

     web—第四章css&第五章 终于迎接等待已久的CSS,在没学这个之前,我们只会用一点img,查一点小图片,或者是用style改一下颜色,而且比较麻烦.现在多了个css在文件夹在创建一个cs ...

  6. 第1章:C++泛型技术基础:模板——《C++泛型:STL原理和应用》读书笔记整理

    第1章:C++泛型技术基础:模板 1.2 关于模板参数 1.2.1 模板参数类型 类型参数   typename声明的参数都属于类型参数,它的实参必须为系统内置或者用户自定义的数据类型,包括类模板实体 ...

  7. 第四章:大数据 の HBase 基础

    本课主题 NoSQL 数据库介绍 HBase 基本操作 HBase 集群架构与设计介紹 HBase 与HDFS的关系 HBase 数据拆分和紧缩 引言 介绍什么是 NoSQL,NoSQL 和 RDBM ...

  8. 第四章 子查询 T-SQL语言基础

    子查询 SQL支持在查询语句中编写查询,或者嵌套其他查询. 最外层查询的结果集会返回给调用者,称为外部查询. 内部查询的结果是供外部查询使用的,也称为子查询. 子查询可以分为独立子查询和相关子查询.独 ...

  9. 2017.11.12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

随机推荐

  1. 为互联网业务而生:阿里云全球首发云Cassandra服务!

    引言:十年沉淀.全球宽表排名第一.阿里云首发云Cassandra服务 ApsaraDB for Cassandra是基于开源Apache Cassandra,融合阿里云数据库DBaaS能力的分布式No ...

  2. HZOI20190722 B visit 组合数+CRT合并

    题目:https://www.cnblogs.com/Juve/articles/11226266.html solution: 30%:dp 设dp[k][i][j]表示经过k时间,在(i,j)的方 ...

  3. Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---单例模式之ChocolateBoiler[转]

     1  2{<HeadFirst设计模式>之单例模式 }  3{ 编译工具: Delphi2007 for win32 }  4{ E-Mail : guzh-0417@163.com   ...

  4. MyBatis-Spring(三)--Mapped Statements collection does not contain value for...问题解决

    前一篇文章我总结了一下MyBatis-Spring项目使用SqlSessionTemplate配置的用法,其实在测试过程中并不是一帆风顺,遇到了很多的问题,最主要的就是Mapped Statement ...

  5. html css javascript mysql php学习总结

    一. html:超文本标记语言,运行在浏览器上,由浏览器解析 1.格式 <!doctype html> 声明文档类型,说明html版本号 <html> 说明代码格式 <h ...

  6. PAT甲级——A1046 Shortest Distance

    The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed t ...

  7. Mybatis编写初始化Dao代码

    第一步:创建User实体类(POJO) package com.xu.pojo; import java.util.Date; /** * * @author 徐亮亮 * Title: User * ...

  8. android 数据绑定(2)绑定表达式

    1.官方文档 https://developer.android.com/topic/libraries/data-binding/expressions.html 2.绑定表达式的约束 2.1 允许 ...

  9. 配置android studio环境2

    安装android studio 2.1运行 exe 程序 安装截图 备注 :O(∩_∩)O~等了 ,但是还是失败, 完全安装啊,不影响,可以手动运行安装目录下的 如:D:\Program Files ...

  10. vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目

    使用vue-cli3.x正确打包项目,配合nginx运行打包后的内容 vue.config.js module.exports = { publicPath: './',//打包后的位置(如果不设置这 ...