Servlet技术生成动态网页的时候很麻烦,需要通过response获得输出流,调用print方法进行打印的。这种编程方式很麻烦,而且美工也不容易处理。SUN公司为了简化动态网页开发,推出JSP。
什么是JSP?
JSP:Java Server Pages Java服务器端页面。
JSP 就是 HTML + Java代码 + JSP自身东西。
JSP的运行原理
JSP在执行时,会被服务器翻译为Servlet编译执行,JSP就是一个Servlet。
JSP文件会被翻译成Java文件,将这个Java文件编译生成class文件,运行class文件
打开得知这就是个Servlet!!
什么是JSP的内置对象
指的是可以直接在JSP页面中使用的对象。
JSP的内置对象有哪些
JSP当中有9大内置对象:
- request :从客户端向服务器发送的请求对象
- response :从服务器端向客户端作出响应对象
- session :服务器为客户端创建会话对象
- application :代表应用。获得的ServletContext对象。
- out :向输出流写入内容的对象。
- page :当前的JSP翻译成Servlet后的对象的引用。
- pageContext :本JSP的页面的上下文对象。 - config :本JSP的ServletConfig对象。
- exception :表示JSP页面运行时产生的异常对象。
request--------HttpServletRequest
response--------HttpServletResponse
session--------HttpSession
application--------ServletContext
config--------ServletConfig
page--------Object
pageContext--------PageContext
out--------JspWriter
exception--------Throwable
九大内置对象记不住无所谓,只需要记住pageContext(本JSP的页面的上下文对象。)即可
去javaee.api中查询该类就可以获取其他七个内置对象,还有有个out则在它的父类里!
JSP的四个作用范围
- PageScope :页面范围。(pageContext)
页面范围指的是在当前的页面内有效,出了这个页面,用pageContext保存的数据就无效了。 - RequestScope :请求范围。(Request)
从客户端向服务器发送一次请求,服务器对这次请求作出了响应之后,用request保存的数据就无效了。 - SessionScope :会话范围。(Session)
每个浏览器向服务器发送请求(多次请求)。将该会话结束。 - ApplicationScope :应用范围。(ServletContext)
在整个应用中任意的地方都可以获取