一、什么是JSP?
建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在。
- HTML代码用来实现网页中静态内容的显示。
- Java代码用来实现网页中动态内容的显示。
二、JSP的运行原理
由JSP引擎(JSP容器)将jsp转换为Servlet
当客户端向jsp页面发送请求时,此时jsp页面会经过转译变成JAVA源代码,在经过编译后转化为Servlet类,运行web服务器,最后发送响应给客户端
三、JSP的基本语法
1、JSP模板元素:
JSP页面中的静态HTML内容称之为JSP模版元素。JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。
2、Scriptlet元素:
在JSP页面中,使用<% Java代码 %>格式嵌入Java代码,这些Java代码必须严格遵守Java语法规范。
3-1、JSP声明:
使用<%!Java代码 %>格式,被声明的Java代码将被翻译到Servlet的_jspService()方法之外,即在JSP声明中定义的都是成员方法、成员变量、静态方法、静态变量、静态代码块等。
3-2、JSP声明(jsp表达式):
使用<%=expression%>格式,在Scriptlet中声明变量是在服务方法之内的局部变量。
4、JSP注释:
使用<%-- 注释信息 --%>格式,Tomcat在将JSP页面翻译成Servlet程序时,会忽略JSP页面中被注释的内容,不会将注释信息发送到客户端,而HTML注释<!-- 注释信息-->会被发往客户端。 在浏览器中查看网页源代码时,jsp注释看不见,html注释可以看见。
5、指令
(1)page指令:
在JSP页面中,经常需要对页面的某些特性进行描述,例如,页面的编码方式,JSP页面采用的语言等,可以通过page指令来实现,语法格式如下: <%@ page 属性名= "属性值"%>
(2)include指令:
有时候需要在JSP页面静态包含一个文件,例如HTML文件,文本文件等,可以通过include指令来实现,语法格式如下: <%@ include file="relativeURL"%> file属性用于指定被引入文件的相对路径。
- 被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素和JSP指令等普通JSP页面所具有的一切内容。
- 除了指令元素之外,被引入的文件中的其它元素都被转换成相应的Java源代码,然后插入进当前JSP页面所翻译成的Servlet源文件中,插入位置与include指令在当前JSP页面中的位置保持一致。
- file属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录。
四、JSP的隐式对象(9个)
1、out对象:
在JSP页面中,向客户端发送文本内容时,可以使用out对象来实现。out对象是javax.servlet.jsp.JspWriter类的实例对象,它的作用与ServletResponse.getWriter()方法返回的PrintWriter对象非常相似,