1.什么是JSP
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序
2.JSP中九大内置对象
一、JSP中包含大量的内置对象和可扩展的组件对象,可以说,对象是JSP编程技术的精髓。内置对象是不需要声明的,就可以直接在JSP中使用的对象。
二、 在JSP代码段中,可以利用内置对象与JSP页面的执行环境产生互动。JSP中一共预先定义了9个这样的对象,分别是:request(request)、response(page)、out(page)、session(session)、application(application)、pageContext(page)、page(page)、config(page)、exception(page)。
注:()内的是该对象的有效范围。
三、内置对象的有限范围,就是指一个对象可以跨多少个JSP页面之后还可以继续使用。JSP中提供了4中属性有效保护范围,分别为page、request、session以及application.。
内置对象名 类型
request HttpServletRequest
response HttpServletResponse
config ServletConfig
application ServletContext
session HttpSession
exception Throwable
page Object(this)
out JspWriter
pageContext PageContext
(1)page范围:在一个JSP页面上设置的属性只能在一个页面取得,跳转到其他页面则此属性消失。实际上操作的时候是采用pageContext内置对象来完成的。
(2)request范围:request可以把属性保存在一次服务器跳转范围中,即转发请求(使用<jsp:forward>动作来实现),而不能是请求重定向(使用response.sendRedirect.()或者超链接来实现)。
(3)session范围:session范围属性无论页面怎么跳转,都可以保存下来。但是,只针对于同一个浏览器打开的相关页面。
(4)application范围:application范围是把属性设置在整个服务器上,所有的用户都可以进行访问。
四、在9个内置对象中,request、response和session是最为重要的3个对象,这三个对象体现了服务器端与客户端(即浏览器)进行交互通信的控制。
五、内置对象按其功能,主要可以划分为以下4类:
(1)输入输出对象:request对象、response对象、out对象。
(2)与属性相关的对象:session对象、application对象、pageContext对象
(3)与Servlet相关的对象:page对象、config对象
(4)错误处理对象:exception (注:如果一个JSP页面要使用该对象,就必须把isErrorPage设为true,否则无法编译。)
参考:https://blog.youkuaiyun.com/mao834099514/article/details/78697079
https://blog.youkuaiyun.com/java_xhg/article/details/73740885