jsp:java server pages(服务器端页面),浏览器不能识别jsp页面,服务器将jsp页面转化为html静态页面后发送给客户端浏览器。
jsp就是servlet。
1,jsp和Servlet的分工:
2.jsp的组成:
jsp=html+java脚本+jsp标签(指令)
jsp中9大内置对象(无需创建,即可使用):ORRCS APPE(简记)
out/request/response/config/session/application/page/pageContext/exception
3种java脚本:
(1)<%...%>:java代码片段(常用),用于定义0~N条Java语句。方法内能写什么,它就可以放什么。
(2)<%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。
相当于 response.getWriter().print(...)
(3)<%!...%>:声明,用来创建类的成员变量和成员方法。
class MyClass{
。。。。。。//这里能放什么,(3)的java脚本中就能放什么。
成员、方法、构造器、构造代码块、静态块、内部类
}
3.jsp原理
jsp其实就是一种特殊的servlet。
(1)当jsp页面第一次访问时,服务器会把jsp编译成java文件(这个java其实就是一个Servlet类)
(2)然后再把java编译成.class
(3)然后创建该类对象
(4)最后调用它的service()方法
(5)第二次请求同一jsp文件时,直接调用service()方法。
服务器将jsp编译成java文件时:
(1)html数据会在out.write()中出现,而且是在双引号内,即当前字符串输出给客户端;
(2)<%...%>中的数据会原封不动的入到“真身”java代码中。
(3)<%=...%>中的数据会放到out.println()中,但没有双引号,那么就不会输出字符串了,而是输出变量。
注意,out.ptintln()和out.write()是相同的功能。