jsp实际上是另一种servlet,大多数情况下与servlet等效。但jsp可以看作是将servlet编写返回html展示的功能分离出来,它常常用于表示层,而servlet现在一般用于业务处理层,两者有分工合作。
jsp通过一些自己定义的语法元素及相关操作指令操作相关页面传入传出参数,接受客户端参数或者取得并返回参数给客户端:
jsp的代码传入servlet类中的_jspServlet方法,该方法有servlet类的doGet及doPost方法,通过调用这两个方法实现servlet的相关功能。
1、jsp脚本元素:
通过<%= %>写入java表达式并输出。相当于在servlet类中调用_jspServlet方法的输出语句。
通过scriplet<% %>编写java代码,这个代码将会传入servlet类中的_jspServlet方法中。
2、jsp预定义的变量:
request:与servlet的HttpServletRequest等效。
response:与servlet的HttpServletResponse等效。
session:与servlet的HttpSession等效。
application:与servlet的HttpContext等效。
page 指令允许通过类的导入、servlet 超类的定制、内容类型的设置、以及诸如此类的事物来控制 servlet 的结构。page 指令可以放在文档中的任何地方。第二个指令,include 允许在 JSP 文件转换到 servlet 时,将一个文件插入到 JSP 页面中。include 指令应该放
置在文档中希望插入文件的地方。第三个指令,taglib,定义自 定义的标记标签。
jsp的page指令:
引入java包,指定该jsp后面的操作类所在的包为指定的包。使用 page 指令的 import 属性指定 JSP 页面转换成的 servlet 应该输入的包,即JSP里面所使用的类所在的包,相当于在sevlet类中的import指令。在 JSP 中,包是绝对必需的。原因是,如果没有使用包,系统则认为所引用的类与当前类在同一个包中。
<%@page import=""%>