在前面我们已经把HTML、CSS和javascript 的基础知识做了比较细致的讲解,通过前面的学习,相信大家已经可以做出非常漂亮。功能不错的HTML的静态界面了,但是HTML界面毕竟是静态界面,由Web服务器向客户端发送
如果用户要想知道服务器的时间,还是用HTML静态页面,那么开发人员就要在服务器端不停地修改HTML页面中的时间,这是不是很麻烦呢?但是这个让JSP来做就非常简单,因为JSP是由JSP容器执行该页面的java 代码部分,然后实时生成HTML页面,所以通过调用java函数实现时间的获取,就可以很轻易地实现该功能。既然那么厉害,就让我们来了解一下什么是JSP。
什么是jsp
jsp是java server page 的缩写,是基于java语言的一种Web应用开发技术,通俗一点说,它是一种实现普通静态HTML和动态HTML混合编码的技术。利用这一技术可以搭建一个安全的,跨平台的,动态网站。
jsp实在Servlet的基础上产生的,用来显示页面。我们刚开始学习JSP的时候,就可以吧JSP理解成它实现了吧Java语句写到HTML里面去。当然随着我们学习的深入,尤其在学习了MVC模式之后,就不是这样了,JSP充当的是View(视图层)的角色,也就是说JSP只是用来现实的,而不应该包含业务逻辑。业务逻辑是放在javabean中的。也是service对象。
JSP运行原理
jsp是服务器端技术,在服务器端,JSP引擎解释JSP代码,然后将结果以HTML或HTML页面形式发送到客户端,在客户端的用户是看不到JSP代码的。具体原理解释如下:第一次请求的JSP页面,JSP页面将先转换成为一个Java文件(servlet),编译后该java文件生成对应的class文件,将其加载在内存,然后执行class文件完成相应;再次请求就直接加载class文件完成响应,每次请求都会启动一个线程来负责。当第一次加载JSP页面时,因为要将JSP文件转换成为serservlet类,所以响应速度较慢;当再次请求时,JSP容器就会直接执行第一次请求时产生的Servlet,而不会重新转换成JSP文件,所以其执行速度较快。
JSP语法
jsp主要特点
把内容的生成和显示分离
生成可重用的组件
应用标记简化页面的开发
具有java的特点
JSP页面组成
jsp代码放在特定的标签中。然后嵌入到HTML代码中。开始标签、结束标签和元素内容三部分统称为JSP元素,这是JSP页面组成的主要部分。
JSP元素可分为如下三种不同的类型
脚本元素:规范JSP网页所使用的java代码,包括:html注释隐藏注释、声明、表达式和脚本段
指令元素:是针对JSP引擎的,并不会直接产生任何看得见的输出。包括:include指令、page指令和taglib指令
动作元素:利用XML语法格式的标记来控制servlet引擎的行为。
JSP注释
注释增加了程序的可读性和维护性,应该养成写注释的好习惯。JSP文件的注释有两种:HTML注释和隐藏注释
HTML注释:发送到客户端,但不在浏览器上显示,在客户端可通过查看源文件看到
<!--注释[]-->
JSP变量和方法的声明
<%!声明;%>
JSP指令
jsp指令是一些特殊的JSP语句,它视为JSP引擎而设计的,它们并不直接产生可见输出,只是告诉引擎如何处理其余的JSP页面,这些指令被括在<%@%>标记中,常见指令有以下三种
page指令
include指令
taglib指令
page指令:页面指令,几乎在所有的JSP页面顶部看到page指令
JSP动作
jsp动作元素用来控制JSP引擎的行为,可以动态插入文件、重用JavaBean组件和导向另一个页面等。常见的JSP动作元素有如下几种:
include :在页面得到请求时包含一个文件
forward:引导请求者进入新的页面
plugin:连接客户端的Applet或Bean插件
useBean:应用JavaBean组件
setProperty:设置javabean的属性
getProperty:获取javaBean的属性并输出
jsp:include 动作在即将生成的页面上动态地插入文件,它在页面运行时才将文件插入,对被插入的文件进行处理,也就是说它是在页面产生时插入文件。
jsp:forward 当用户进入登录界面login.jsp ,输入用户名和密码,提交表单后,由文件LoginReceive.jsp接收用户的输入,如果输入正确则转到文件loginCorrect.html,如果错误则转入另一个页面。
jsp:plugin 动作的功能是将服务器端的Java小应用程序(Applet)或JavaBean组件下载到浏览器端去执行,相当于在客户端浏览器插入java插件
jsp:useBead