JSP的作用
Servlet
缺点:不适合设置html响应体,需要大量的response.getWriter().print(“html”)
优点:动态资源,可以编程
html
缺点:静态页面,不能包含动态信息
优点:不用为输出html而发愁
jsp(java server pages)
优点:在原有htnl的基础上添加java脚本,构成jsp页面
JSP和Servlet的分工
JSP:
作为请求发起页面,例如显示表单,超链接
作为请求结束页面,例如显示数据
Servlet
作为请求中处理数据的环节
JSP组成
JSP = html + java脚本 + JSP标签(指令)
JSP中无需创建即可使用的对象一共有9个,被称之为9大内置对象
response对象、request对象、session对象、application对象、pageContext对象、config对象、out对象、page对象、exception对象
3种java脚本:
><%...%>:java代码片段(常用),用于定义0~N条java语句。(相当于方法)
><%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。(相当于response.getWriter().print())
><%!...%>:声明,用来创建类的成员变量和成员方法(基本不用)
jsp注释
<%–…–%>:当服务器把jsp变异成java文件时已经忽略了注释部分(客户端看不到)
JSP原理
jsp其实是一种特殊的Servlet
当jsp页面第一次被访问时,服务器会把jsp编译成java文件(这个java其实是一个servlet类)
然后再把java编译成.class文件
然后创建该类对象
最后调用他的service(方法
第二次请求同一jsp时,直接调用service()方法
在Tomcat的work目录下可以找到jsp对应的.java源代码