目录
一、JSP简介
JSP技术是一种用于开发动态Web页面的服务器端技术,JSP通过在Html中嵌入Java脚本语言实现动态响应页面请求。
二、JSP的本质
JSP技术的本质其实就是Servlet,当浏览器输入url,向服务器发送请求时,页面JSP将翻译成java代码,而翻译后的java文件就是继承于HttpJspBase,HttpJspBase本身是个抽象类,继承httpservlet,而httpServlet正是Servlet接口的实现类,所以证明了JSP的本质就是Servlet。
三、JSP页面元素
1.JSP指令
- JSP指令主要用于控制整个JSP的处理。
- JSP指令以“<%@”开始 以“%>”结束。
JSP头部的Page指令
作用:Page指令可以修改整个页面的属性和行为。
Page指令中的所有常用属性
1.language : 指定JSP使用的脚本语言,默认为java
2.import : 通过该属性引用脚本中使用到的类文件
3.contentType: 用于指定MIME消息类型和JSP响应时所采用的字符编码方式,一般为"text=html;
charset="utf8""
4.isErrorPage: 指定当前页面是否可以用作其他JSP错误页面。
5.errorPage : 指定当前页面出现错误后的实际响应页面。
2.JSP小脚本
- JSP小脚本就是JSP中的代码片段。
- 在代码脚本里面写的java代码其实封装在_jspService()方法中。
格式: <%java代码%>
特点: 1.通过在JSP中编写小脚本可以进行复杂的操作和业务处理。
2.多个脚本可以拼接成一个完整的逻辑代码
3.表达式可以和小脚本配合使用。
3.JSP表达式
- JSP表达式通常用于展示服务器的响应结果,表达式是对数据的表示。
格式: <%=Java变量或表达式%>
特点:1. 表达式脚本都会被编译后的Java类中的out.print()方法输出到浏览器页面上
2. 表达式脚本也被封装到了java类中的_jspService()方法中,所以表达式脚本可以直接使用_jspService()方法中的变量。
4.声明脚本
- 在需要在java中定义成员变量和方法时,就需要使用声明脚本。
格式 : <%! 声明变量或方法%>
5.注释
- JSP中分为三种注释。
1.Html注释
- 只能注释html内容,查看源代码可见,因为在JSP翻译为java时会被解析到jsp_Service方法中,最后输出到客户端。
格式: <!-- html注释 -->
2.java注释
- 分为单行注释和多行注释
单行注释 : //java注释
多行注释: /*java 注释*/
3.JSP注释
- JSP注释在源代码中是不可见的,因为JSP翻译为java类时,是不会解析JSP注释的。
四、JSP的执行过程
浏览器向服务器发送一个请求,服务器接收并判断发送的请求是否是动态资源也就是jsp动态网页,那么服务器将会把jsp转为Servlet格式,也就是一个java源文件,编译,执行,最后返回处理结果,显示页面。
四、JSP九大内置对象
JSP的九大内置对象指JSP被翻译成java类文件后提供的对象,JSP的内置对象都是源于java继承而来的,跟Servlet对象一一对应。
1.request 请求对象 : 用于处理客户端请求信息
2.out对象: 一般向浏览器输出数据等等。
3.response 响应对象: 在服务器中给浏览器做出响应。
4.session 会话对象: 打开浏览器,访问服务器,直到浏览器关闭,称为一次会话。
5.pageContext: 上下文对象
6.Exception 异常对象: 用于设置可能出现异常的页面,需要前置(isErrorPage)。
7.application 应用对象: ServletContext对象
8.Page 对象: 指向当前JSP的对象
9.config 对象: ServletConfig对象用于配置初始化参数等
五、JSP四大域对象
1.application : 整个Web应用内有效,除非该应用停止运作(对应ServletContext类)。
2.request : 只在当前请求中有效(对应HttpServletRequest类)。
3.session : 一个会话范围中有效(对应HttpSession类)。
4.PageContext : 在当前JSP页面中有效(对应PageContext类)。
六、JSP中的include标签
1.作用: 引入JSP页面文件(静态页面或文本文件),减少页面重复代码。
2.格式