Day10(--JSP与JSP内置对象)
一、JSP
1. java Server Pages,sun提供的一种动态的web资源底层原理是Servlet
2. HTML、Servlet、JSP的区别
l HTML:显示数据
l Servlet:Java代码,可以向浏览器输出HTM,JSP的运行时会编译成Servlet去输出到浏览器
l JSP:Java+HTML
3. JSP的执行流程:
l 浏览器发送数据到tomcat,tomcat中有JSP引擎
l 第一次访问jsp时,将jsp翻译成一个servlet
l 修改后第一次访问,重新翻译成一个servlet
l servlet 响应:Response 响应到浏览器
4. 注释
l HTML注释:<!---->查看源中可以看到 servlet可以看到
l Java注释: /* */ // 查看源中不可以看到 servlet可以看到
l jsp注释: <%--%> jsp注释在servlet不可以看到
5. 注意:
l HTML模板:JSP中包含HTML模板,所有的HTML标签随便写,最后通过Writer输出
l Java代码: 写在<%%>中,所有的代码都会移植到编译成的servlet的service方法中
l Server中不能直接定义方法可以通过声明 <%! %>可以声明方法和成员变量
l 表达式:<%=%> 表达式,用于输出,相当于out.print();
l 指令:<%@指令名称 属性=’值’ 属性=’值’> 多个属性可以使用空格分隔
6. page:页面的配置信息
l ContendType:告诉浏览器响应的编码和类型
l import:导包
l ErrorPage:jsp出现异常后跳转的页面
l isErrorPage:(true)如果是错误页面,可以得到错误信息
l 404不能去isErrorPage页面,404不是异常,是找不到的,false可以
l Session:如果为true,则可以获取session的内置对象,默认值为true
l pageEncoding:翻译成Servlet时,解析JSP时的编码,响应的类型和编码
7. Taglib:导标签库
l <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:if test="<%=2 > 1 %>">
//执行
</c:if>
8. include:包含
l 静态包含:(指令)包含的jsp和被包含的jsp合并成一个servlet 包含时,上边的变量,下面可以使用
<%@ include file=”/”%> /代表当前应用
l 动态包含:(标签)包含的jsp和被包含的jsp都会生成不同的servlet,最终合并了输出流
<jsp:include page=”/”></jsp :include> 可以没有子标签,不在同一行,必须存在子标签
9. 异常的处理:就近原则
l 方式一:在page指令中添加errorPage属性,说明出项异常后的跳转页面(只能是异常)不是404错误
配置页面:<%@ page pageEncoding="UTF-8" errorPage="/error.jsp"%>
错误页面:<%@ page pageEncoding="UTF-8" isErrorPage="true"%>
显示错误信息:<%=exception.getMessage() %>
l 方式二:在web.xml配置错误的类型和错误编码,可以配置出现404时跳转的页面
错误跳转:不能跳转到isErrorPage为true的页面,它只接受异常 <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> 异常跳转: <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/error.jsp</location> </error-page> |
二、jsp中的九大内置对象:
对象名称 |
类型 |
备注 |
request |
javax.servlet.http.HttpServletRequest |
请求 |
response |
javax.servlet.http.HttpServletResponse |
响应 |
session |
javax.servlet.http.HttpSession |
|
application |
javax.servlet.ServletContext |
上下文 |
config |
java.servlet.ServletConfig |
|
out |
java.servlet.jsp.JapWriter |
èresponse.getWriter() |
page |
javax.servlet.Servlet |
Servlet当前引用 |
exception |
java.lang.Exception |
异常 |
pageContext |
java.servlet.jsp.PageContext |
获取上8个内置对象 |
l pageContext 可以获取其他8个内置对象
l //有简化的转发和包含功能(请求的调度)dispatcher
l pageContext.forward("/index.jsp"); 转发
l request.getRequestDispatcher("/index.jsp").forward(request, response);
l pageContext.include("/myHead.jsp"); 包含
l request.getRequestDispatcher("/myHead.jsp").include(request, response);
l //查找域中的属性,pageContext,request,session,application 范围为域对象的有效范围才可以查找到
l out.println(pageContext.findAttribute("username"));
l ps:响应可以实现重定向 response.sendRedirect("/index.jsp"); /代表tomcat根目录
三、四大域对象(作用范围)
1. application:整个应用
l application.setAttribute("username", "lisi");设置
l <%=application.getAttribute("username")%> 获取
l pageContext.removeAttribute("username"); 设置后需要删除,不然一直存在
2. session:同一会话,jsessionID一样
l session.setAttribute("username", "zhangsan");设置
l <%=session.getAttribute("username") %> 获取
3. request:当前页面,共享请求时,比如转发和包含
l request.setAttribute("username", "zhangsan");设置
l <%=request.getAttribute("username") %> 获取
l 设置转发和包含时,可以作用到转发到的页面和包含当前页面的页面!
l <%@ include file="10pageContext.jsp" %> 包含
l request.getRequestDispatcher("/testpageContext.jsp").forward(request, response);转发
4. pageContext:当前页面
l pageContext.setAttribute("username", "zhangsan");设置
l <%=pageContext.getAttribute("username") %> 获取
转载于:https://www.cnblogs.com/Probably/p/4839744.html
Day10(--JSP与JSP内置对象)相关推荐
- 第4章 JSP语法、内置对象
第4章 JSP语法.内置对象 关于Spring Boot+Vue全栈开发实战(三方面)前端 全栈 Spring Boot JSP概述 4.1.1 什么是JSP(Java Server Page) 4. ...
- 编写两个jsp页面inputString.jsp 和computer.jsp,用内置对象获取inputString.jsp页面提交的字符串。
编写两个jsp页面inputString.jsp 和computer.jsp,用户可以并使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置 ...
- jsp输出金字塔_实验二 JSP语法及内置对象.doc
实验二 JSP语法及内置对象 燕山大学经济管理学院 JSP编程技术 实验指导书 经济管理学院电子商务系 2011年5月 实 验 说 明 <JSP编程技术>JSP(Java Server P ...
- JSP的out内置对象及其常用方法
JSP全名为Java Server Page,即Java服务器语言,是一种简化的Servlet语言,与ASP相似,用于动态网页的设计,下面我们就简单讲一下JSP的out内置对象以及一些常用的方法,ou ...
- jsp是在html中添加什么作用域,JSP九个内置对象 四大作用域 动作指令
九个内置对象: 1.application:javax.servlet.ServletContext的实例,代表JSP所属的web应用本身,常用的方法有getAttribute(). 2.config ...
- jsp中的内置对象(9个)、作用
jsp内置对象 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户 ...
- JSP动作和内置对象
前言: 这节的内容很简单,简单总结下. 一.动作元素 动作元素:主要在请求处理阶段起作用,能够影响输出流和对象的创建.使用修改等,它按照XML语法进行书写. 动作元素分为两类: 一类 ...
- JSP中out内置对象的使用
out内置对象的应用方法 方法名 含义 print() 输出显示信息 println() 换行输出显示信息 clear() 清除缓冲区里的内容 clearBuffer() 清除当前缓冲区的内容 flu ...
- JSP学习02-config内置对象
1.config实质上是ServletConfig的一个实例 2.config常用来获取Servlet的初始化参数 web.xml <?xml version="1.0" e ...
- 十月二日读书笔记(JSP网页的内置对象)
1 request request对象用于获取客户端发来的请求信息,包括HTTP报文和网页发来的信息.例如,要获取以下表单控件的信息: <form action = "acceptio ...
最新文章
- 百度计算生物研究登上Nature子刊!将3D结构引入分子表征,结果超越斯坦福MIT,已落地制药领域...
- OSChina 周六乱弹 —— 老用户与狗
- python 中文乱码问题解决方案
- python爬虫作用小工具_【python小课堂|史上最全的Python爬虫工具列表大全】- 环球网校...
- php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例
- 如何修改浏览器的默认滚动条样式
- 用ldd查看C++程序的依赖库
- Tilemill + tilestream + mapbox.js 自制地图
- 为何不能直接拷贝软件安装好的目录运行
- 计算机网络 - mbed TLS
- 可以使用GPU暴力破解密码的软件
- android rndis win10,win10系统安装驱动Rndis的教程介绍
- 计算机科学与实践,【计算机科学与技术学院|实践实况】(一)
- 【软件测试】离开“浪浪山“测试人迎来的春天......
- 【计算机基础】ff新推荐弹窗怎么彻底删除的解决方案
- git第一次提交代码至远程仓库
- Python迭代器、生成器、map以及reduce
- r语言把两个折线图图像放到一个图里_图像目标检测算法总结(从R-CNN到YOLO v3)...
- 汽车之家运维团队倾力打造的配置管理系统AutoCMS
- java习题4_6水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。