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目录下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技术基础的更多相关文章
- JSP Web第六章整理复习 JavaBean技术
P183 什么是JavaBean,JavaBean有哪些特点? javabean是一种特殊的java类 特点:属性private,方法public P184 JavaBean封装数据,例6-1,6-2 ...
- JSP Web第五章整理复习 JSP访问数据库
P164 例5-1 常用SQL语句 P178 数据库连接池 (1)连接池的作用 存储多个数据库连接对象,当程序需要时,从池中获取1个连接,程序执行完成后再还给连接池.避免数据库连接建立.关闭的开 ...
- JSP Web第七章整理复习 Servlet基础知识
P206-208 Servlet项目的创建,web.xml的配置及标签含义,相关程序 创建:new 一个Servlet类,继承自javax.servlet.http.HttpServlet; 写doG ...
- JSP Web第三章整理复习 开发环境搭建
P86 WEB工作原理 用户使用浏览器通过HTTP协议请求服务器上的Web资源,服务器接收到该请求后,读取请求的URI所标识的资源,加上其他资源发送给客户端的浏览器,浏览器解析响应中的HTML数据, ...
- web—第四章css&第五章
web—第四章css&第五章 终于迎接等待已久的CSS,在没学这个之前,我们只会用一点img,查一点小图片,或者是用style改一下颜色,而且比较麻烦.现在多了个css在文件夹在创建一个cs ...
- 第1章:C++泛型技术基础:模板——《C++泛型:STL原理和应用》读书笔记整理
第1章:C++泛型技术基础:模板 1.2 关于模板参数 1.2.1 模板参数类型 类型参数 typename声明的参数都属于类型参数,它的实参必须为系统内置或者用户自定义的数据类型,包括类模板实体 ...
- 第四章:大数据 の HBase 基础
本课主题 NoSQL 数据库介绍 HBase 基本操作 HBase 集群架构与设计介紹 HBase 与HDFS的关系 HBase 数据拆分和紧缩 引言 介绍什么是 NoSQL,NoSQL 和 RDBM ...
- 第四章 子查询 T-SQL语言基础
子查询 SQL支持在查询语句中编写查询,或者嵌套其他查询. 最外层查询的结果集会返回给调用者,称为外部查询. 内部查询的结果是供外部查询使用的,也称为子查询. 子查询可以分为独立子查询和相关子查询.独 ...
- 2017.11.12 web中JDBC 方式访问数据库的技术
JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...
随机推荐
- 为互联网业务而生:阿里云全球首发云Cassandra服务!
引言:十年沉淀.全球宽表排名第一.阿里云首发云Cassandra服务 ApsaraDB for Cassandra是基于开源Apache Cassandra,融合阿里云数据库DBaaS能力的分布式No ...
- HZOI20190722 B visit 组合数+CRT合并
题目:https://www.cnblogs.com/Juve/articles/11226266.html solution: 30%:dp 设dp[k][i][j]表示经过k时间,在(i,j)的方 ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---单例模式之ChocolateBoiler[转]
1 2{<HeadFirst设计模式>之单例模式 } 3{ 编译工具: Delphi2007 for win32 } 4{ E-Mail : guzh-0417@163.com ...
- MyBatis-Spring(三)--Mapped Statements collection does not contain value for...问题解决
前一篇文章我总结了一下MyBatis-Spring项目使用SqlSessionTemplate配置的用法,其实在测试过程中并不是一帆风顺,遇到了很多的问题,最主要的就是Mapped Statement ...
- html css javascript mysql php学习总结
一. html:超文本标记语言,运行在浏览器上,由浏览器解析 1.格式 <!doctype html> 声明文档类型,说明html版本号 <html> 说明代码格式 <h ...
- PAT甲级——A1046 Shortest Distance
The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed t ...
- Mybatis编写初始化Dao代码
第一步:创建User实体类(POJO) package com.xu.pojo; import java.util.Date; /** * * @author 徐亮亮 * Title: User * ...
- android 数据绑定(2)绑定表达式
1.官方文档 https://developer.android.com/topic/libraries/data-binding/expressions.html 2.绑定表达式的约束 2.1 允许 ...
- 配置android studio环境2
安装android studio 2.1运行 exe 程序 安装截图 备注 :O(∩_∩)O~等了 ,但是还是失败, 完全安装啊,不影响,可以手动运行安装目录下的 如:D:\Program Files ...
- vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目
使用vue-cli3.x正确打包项目,配合nginx运行打包后的内容 vue.config.js module.exports = { publicPath: './',//打包后的位置(如果不设置这 ...