前言
JSP基础
一、JSP是什么?
Java Server Page,是建立在Servlet规范之上的动态网页开发技术,是Servlet的一种应用,方便了网页页面的组织。
- jsp的概念:一种JavaEE的组件技术
一种静态网页和动态网页的混编技术,看起来像页面,本质上为一个Servlet
(1)编写的是jsp页面
(2)编译后是class类文件,即本质上是Servlet,即是一个Java类,
一次编写,处处运行,它存在的意义∶简化表示层,即界面需要。 - jsp的特点:
(1)跨平台
(2)业务代码相分离=设计师与工程师分离
-HTML做业务界面
-JAVA做处理
(3)组件重用
(4)在JSP中可以用JavaBean编写业务组件预编译
(5)只需要编译一次
二、JSP的组成
1.jsp页面的组成
(1)页面中HTML部分
(2)页面中JSP部分
脚本元素
ISP Sciptlets
JSP声明语句
JSP表达式
指令:page指令,include指令
动作
(3)页面的具体组成元素
2.JSP对象
- JSP隐式对象
(1)out/request/response/config/session/application/page/pageContext/exception
(2)用pageContext操作其它对象
(3)pageContext对象的作用范围
-pageContext.PAGE_SCOPE页面内
-pageContext.REQUEST_SCOPE请求内
-pageContext.SESSION_SCOPE会话内
-pageContext.APPLICATION_SCOPE在Web应用程序内 - 作用域对象
(1)pageContext(page域)
-page域指当前页面,作用范围是整个JSP页面,是四大作用域中最小的一个。
-在pageContext中可以存数据,可利用
setAttribute(String name,Object value,int scope)
-pageContex的生命周期是这个页面的运行时间,即页周期,并闭页面pageContext就会消亡,数据也会失效。
-使用情况:只适合在一个页面中使用,在一个页面中定义变量,和保存在此页面中有用的数据。
(2)request(request域)
-request是指一次请求,即当用户访问web服务器的时候,web服务器会生成request和response对象,然后在service方法调用,完成用户的请求和对用户的4应。作用范围整个请求链。【参变量)
-request域中可以存数据,可利用
setAttribute(String name,Object value,int scope).
-request的生命周期是请求周期,若请求一直转发下去,其生命并不会结当括个请求结束,request生命结束。在request保存的数据也会失效。
-使用情况:用于一次请求在不同页面间的操作及参数传递,如表单的参数传递。
(3)session(session域)
-session是指一次会话。当用户首次访间服务器时,服务器会根据每一个浏览器的请求创建一个session对象,每个用户有且仅有一个session对象。相当于身份证,保存在服务器中。借助cookie技术来传递id属性,就可以在每次访间中找到自己的session。作用范围是—次会话.
-session域中可以存数据,可利用
setAttributetString name,object value,int scope)
-session的生命周期是在服务器正常的情况下,在第一次调用request.getSession[方法时到销毁该session时结束。默认情况是3o分钟。当然也可以设置session的maxag e来改变生命周期。生命结束,数据会丢失。
-使用情况:主要是网站用户的信息,购物车。
(4)application(ServletContext域)
-application即是servlet中的ServeltContext。application作用范围:整个Web应用。
-ServletContext可以存数据,只要设置一次,整个web应用都可以访问到数据。
-ServletContext生命周期在服务器启动时创建,在服务器关闭时销毁。
-使用情况:每个用户都可以访问的数据,或者多个客户端共享数据。例如购物网站的首页,商品页等。
- 内置对象
- 由JSP规范提供不用编写者实例化,即拿即看代码即可知
- 通过Web容器实现和管理,用户不管
- 所有JSP页面都可使用
- 但只有在脚本元素的表达式或代码段中才可用
3.JSP工作原理
首次请求
- 请求
- 转换成servlet类
- 编译成class
- 创建对象实例
- 执行jspService方法,响应请求【线程方式】
- 回传响应
再次请求
-直接响应
jsp动作元素:在请求处理阶段起作用 - <jsp:include pagec>资源插入,引用
- <jsp;param name value>
- <jsp:forward page>请求转发
- jsp:useBean id>
- jsp:setProperty name property>
- jsp:getProperty name property >