jsp的知识

jsp是什么?

底层是servlet的程序,响应数据的封装页面
访问jsp页面,tomcat会翻译成一个java源文件和字节码文件。
这个java文件继承HttpJspBase 间接继承 HttpServlet
https://www.runoob.com/jsp/jsp-directives.html
<%@ page contexType="",>
language 编译语言java
contentType 连接类型text/html; charset=utf-8
pageEncoding 页面本身的字符集
import 导包
autoFlush 设置是否开启缓存默认true
buffer 缓冲大小默认8Kb
errorPage 错误页面路径
isErrorPage 标记该页面是错误页面默认是true
session 访问当前jsp页面,是否会创建HttpSession对象,默认true
extends 设置jsp翻译出来的java默认继承谁

jsp常用脚本

表达式脚本
<%=表达式脚本%>
_jspService()
out.print()

代码脚本
<%
java语句
%>

jsp九大内置对象

  • request是请求 一次请求时才有效
  • pageContext是PageContextlmpl类 只有当前页面有效
  • session是HttpSession类 一次会话有效
  • application 是ServletContext 整个web工程都有效
    上面四个是四大域对象,优先从小到大使用
  • config 是ServletConfig
  • out
  • page
  • exception
  • response是响应

jsp的out和response.getWrite().write("…")区别

out.flush()执行后out的缓冲会追加到response缓冲末尾
out.print可以输出任何数据
out.write只适合输出字符串

jsp 常用标签之静态包含

一般网页有:
头部信息,
主体信息,
尾部信息

静态包含(常用)
<%@ include file=" jsp页面"%>
特点:1.不会翻译被包含的jsp页面
2.是直接把被包含的jsp页面的代码拷贝到包含的位置执行输出

动态包含
JspRuntimeLibrary.include可以传递参数
<jsp:include page=" jsp页面">
<jsp:param name=“username” value=“root”/>
</jsp:include>

jsp常用标签请求转发

<jsp:forward page=“转发地址页面”></jdp:forward>

Listener监听器

javaweb三大组件分别是:Servlet程序,Filter过滤器,Listener监听器
监听某个事物的变化,然后回调函数,反馈给程序去做一些相应的处理

ServletContextListener监听器

监听ServletContext对象的创建和销毁
创建时调用contextInitialized
销毁时调用contextDestroyed
在web.xml中配置