一、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内置对象)相关推荐

  1. 第4章 JSP语法、内置对象

    第4章 JSP语法.内置对象 关于Spring Boot+Vue全栈开发实战(三方面)前端 全栈 Spring Boot JSP概述 4.1.1 什么是JSP(Java Server Page) 4. ...

  2. 编写两个jsp页面inputString.jsp 和computer.jsp,用内置对象获取inputString.jsp页面提交的字符串。

    编写两个jsp页面inputString.jsp 和computer.jsp,用户可以并使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置 ...

  3. jsp输出金字塔_实验二 JSP语法及内置对象.doc

    实验二 JSP语法及内置对象 燕山大学经济管理学院 JSP编程技术 实验指导书 经济管理学院电子商务系 2011年5月 实 验 说 明 <JSP编程技术>JSP(Java Server P ...

  4. JSP的out内置对象及其常用方法

    JSP全名为Java Server Page,即Java服务器语言,是一种简化的Servlet语言,与ASP相似,用于动态网页的设计,下面我们就简单讲一下JSP的out内置对象以及一些常用的方法,ou ...

  5. jsp是在html中添加什么作用域,JSP九个内置对象 四大作用域 动作指令

    九个内置对象: 1.application:javax.servlet.ServletContext的实例,代表JSP所属的web应用本身,常用的方法有getAttribute(). 2.config ...

  6. jsp中的内置对象(9个)、作用

    jsp内置对象 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户 ...

  7. JSP动作和内置对象

    前言:          这节的内容很简单,简单总结下. 一.动作元素 动作元素:主要在请求处理阶段起作用,能够影响输出流和对象的创建.使用修改等,它按照XML语法进行书写. 动作元素分为两类: 一类 ...

  8. JSP中out内置对象的使用

    out内置对象的应用方法 方法名 含义 print() 输出显示信息 println() 换行输出显示信息 clear() 清除缓冲区里的内容 clearBuffer() 清除当前缓冲区的内容 flu ...

  9. JSP学习02-config内置对象

    1.config实质上是ServletConfig的一个实例 2.config常用来获取Servlet的初始化参数 web.xml <?xml version="1.0" e ...

  10. 十月二日读书笔记(JSP网页的内置对象)

    1 request request对象用于获取客户端发来的请求信息,包括HTTP报文和网页发来的信息.例如,要获取以下表单控件的信息: <form action = "acceptio ...

最新文章

  1. 百度计算生物研究登上Nature子刊!将3D结构引入分子表征,结果超越斯坦福MIT,已落地制药领域...
  2. OSChina 周六乱弹 —— 老用户与狗
  3. python 中文乱码问题解决方案
  4. python爬虫作用小工具_【python小课堂|史上最全的Python爬虫工具列表大全】- 环球网校...
  5. php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例
  6. 如何修改浏览器的默认滚动条样式
  7. 用ldd查看C++程序的依赖库
  8. Tilemill + tilestream + mapbox.js 自制地图
  9. 为何不能直接拷贝软件安装好的目录运行
  10. 计算机网络 - mbed TLS
  11. 可以使用GPU暴力破解密码的软件
  12. android rndis win10,win10系统安装驱动Rndis的教程介绍
  13. 计算机科学与实践,【计算机科学与技术学院|实践实况】(一)
  14. 【软件测试】离开“浪浪山“测试人迎来的春天......
  15. 【计算机基础】ff新推荐弹窗怎么彻底删除的解决方案
  16. git第一次提交代码至远程仓库
  17. Python迭代器、生成器、map以及reduce
  18. r语言把两个折线图图像放到一个图里_图像目标检测算法总结(从R-CNN到YOLO v3)...
  19. 汽车之家运维团队倾力打造的配置管理系统AutoCMS
  20. java习题4_6水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。

热门文章

  1. 如何让同局域网的同事访问我电脑上的PHP网站和数据库
  2. POJ 1300 Door Man 欧拉路的判断
  3. SQL常见错误及处理方法
  4. 【Android开发】之Android环境搭建及HelloWorld
  5. SQL查询语句-返回名称的分类
  6. SQL的3种连接查询
  7. 下载安装Redis+使用
  8. [SDOI 2011]黑白棋
  9. IEEE_Tec_Digtal Signal Analog Signal
  10. 1364:Field 'sex' doesn't have a default value [ SQL语句 ]