JSP原名Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术。
特征:
1).跨平台:由于JSP是基于Java的,它可以使用Java API。当从一个平台移植到另一个平台时,JSP和JavaBean的代码不需要重新编译,因为Java字节预平台无关,体现了Java语言“一次编译,到处运行”的效果。
2).业务代码相分离:在服务器端,Tomcat服务器负责解析JSP标签好脚本程序,生成所请求内容,并将执行结果以HTML页面形式返回浏览器。
3).组件重组:使用一个JavaBean类封装业务处理代码或者作为一个数据存储模型,在JSP页面,甚至整个项目都可以重复使用JavaBean。
4).预编译:在用户第一次通过浏览器访问JSP页面时,服务器对JSP页面代码进行编译,且仅仅执行一次编译。
2.编写第一个JSP文件2.1 在eclipse中创建一个名称为chapter06的项目,然后右键单击WebContent目录-->【new】-->【JSP File】-->为JSP文件取名为“HelloWorld.jsp”-->【Next】-->【Finish】,如若没有找到可以在【new】之后单击【Other】中找JSP文件,找到后取名完成后进行下一步。
2.2 在创建好的“HelloWorld.jsp”中编写代码并保存,如下图所示:
2.3 启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/HelloWorld.jsp”,查看运行结果,如图:
3.运行原理2.JSP基本语法 1.JSP脚本元素
指的是嵌套在<%和%>之间的一条或者多条Java程序代码。通过JSP脚本元素可以将Java代码嵌套在HTML页面中,所有可以执行的Java代码,都可通过JSP脚本来执行,JSP脚本元素包含:1.JSP scriptlets、2.JSP 声明语句、3.JSP 表达式。
1).JSP scriptlets
JSP scriptlets是一段代码,当需要Java实现一些复杂操作时,可以使用到它。
2).JSP 声明语句
用于声明变量和方法,以"<%!"开始,以"%>"结束。
在chapter06项目的WebContent目录下创建一个名称为example01.jsp文件,实现代码及启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/example01.jsp”的运行结果如下:
3).JSP 表达式
用于程序数据输出到客户端,可以将要输出的变量或表达式直接封装在以"<%="开始,以"%>"结束中。
注:"<%="和"%>"之间插入的是表达式,不能插入语句。"<%="是一个完整的符号,"<%="和"%>"之间不能有空格,切JSP表达式的变量或表达式后不能有分号(;)。
2.JSP注释在chapter06项目的WebContent目录下创建一个名称为example02.jsp文件,实现代码如下:
启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/example02.jsp”,查看运行结果,如图:
3.JSP指令 1. include指令
在chapter06项目的WebContent目录下创建两个JSP文件date.jsp和include.jsp,在include.jsp文件中使用include指令将date.jsp文件包含其中,具体代码如下所示:
启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/date.jsp”,查看运行结果,如图:
启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/include.jsp”,查看运行结果,如图:
4. JSP隐式对象 1.JSP默认创建的9种隐式对象如下:1.out: JspWrite,用于页面输出
2.request:HttpServletRequest,得到用户请求信息
3.response:HttpServletResponse,服务器向客户端的回应信息
4.config:ServletConfig,服务器配置,可以得到初始化参数
5.session:HttpSession,用于保存用户的信息
6.application:ServletContext,所有用户的共享信息
7.page:Object,指当前页面转化后的Servlet类的实例
8.pageContext:pageContext,JSP的页面容器
9.exception:Throwable表示JSP页面所发生的异常,在错误页面中才起作用
2.out对象在chapter06项目的WebContent目录下创建一个名称为out.jsp的JSP文件,如下:
启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/out.jsp”,查看运行结果,如图:
3.pageContext对象作用范围:
# pageContext.PAGE_SCOPE: 表示页面范围
# pageContext.REQUEST_SCOPE: 表示请求范围
# pageContext.SESSION_SCOPE: 表示会话范围
# pageContext.APPLICATION_SCOPE: 表示Web应用程序范围
在chapter06项目的WebContent目录下创建一个名称为pageContext.jsp的JSP文件,如下:
启动Tomcat服务器,在地址栏输入“http://localhost:2222/chapter06/pageContext.jsp”,查看运行结果,如图:



