一.jsp概述
1.jsp是Java server page(java服务器页面). JSP本质就是Servlet,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术
2.JSP=html+java+jsp特有的内容
3.jsp执行原理 JSP会翻译(通过默认的JspServlet,JSP引擎)成Servlet(.java),Servlet编译成class文件
4.jsp执行流程
1)第一次访问的xxx.jsp时候,服务器收到请求,JspServlet会去查找对应的jsp文件,找到之后,服务器会将这个jsp文件转换成java文件(Servlet)
2)服务器编译java文件,生成class文件
3)服务器运行class文件,生成动态的内容
4)服务器收到内容之后,返回给浏览器
5.jsp脚本
1)<%...%>:Java程序片段里面的内容
2)<%=...%>:输出表达式
3)<%!...%>:声明成员变量
6.jsp注释
1)HTML注释<!--HTML注释-->
2)JAVA注释 //; /* */
3)JSP注释; <%--注释内容--%>
二.jsp三大指令
1.page指令:定义jsp文件中的全局属性 基本使用默认值
2.include指令:用于引入其他的页面(静态包含) 语法:<%@ inlucde file="">
3.taglib指令:用于引入标签库 语法:<%@ taglib 属性 =属性值 %>
三.jsp九大内置对象
1.request 类型是:HttpServletRequest
2.reponse 类型是:HttpServletResponse
3.session 类型是:HttpSession
4.out 类型是:jspWriter
5.exception 类型是:Throwable
6.application 类型是:ServletContext
7.config 类型是:ServetConfig
8.page 类型是:Object(this)指当前页面
9.pageContext 类型的:PageContext
四.jsp四大域对象
1.pageContext 作用范围是当前界面
2.request 作用范围;一次请求/转发有效Servlet和jsp直接数据的传递
3.session 作用范围:会话(多次请求)
4.application 作用范围:整个应用
五.其他
1.pageContext的作用:作为域对象存取值(当前页面)
1)setAttribute(String name,Object obj);
2)getAttribute(String name);
3)removeAttribue(String name);
2.代替其他3个域对象存值
setAttribute(String name,Object obj, int scope);
3.获取其他8个内置对象
getRequest(), getSession()....
4.便捷获取域对象的值
pageContext.findAttribute(String name);依次从pageContext,request,session,application获取值
5.动作标签 语法<jsp:标签名 属性="属性值"/>
6.在jsp页面完成请求转发:<jsp:forword >
7.动态包含:<jsp:incude>
总结:静态包含和动态包含区别
1.静态包含使用的是include指令, 动态包含使用的是jsp动作标签
2.静态包含相当于代码拷贝,只生产一个Servlet; 动态包含有几个jsp就生成几个Servlet,最终再整合在一起展示