JSP学习
JSP是一门和PHP类似的语言,只要是与后台服务器进行数据交互的,实现的功能类似,语法也有很多地方相通。然后因为JSP直接用JAVA来实现,所以学起来也觉得挺快的。
一般一个JSP页面会对应一个Servlet类(一个servlet类,就是一个java类的意思),JSP就是Servlet的简单的另一种语言描述。JSP页面也有生命周期,与servlet差不多,但比servlet多了一个编译的过程(jsp翻译为servlet,servlet类编译为.class可执行类),然后是新建实例,开启服务,销毁。
JSP页面主要由指令标签,注释,嵌入Java代码,JSP动作标签,HTML标记语言等五个元素组成。
JSP的三大指令 七大动作 九大对象
三大指令
page指令:设置该JSP页面的属性。包含12个属性。
include指令:用于文件包含,只支持静态包含。
tablib指令:加载用户自定义的标签库,让用户可以在这个页面使用该库的标签。
七大动作
jsp:forward 执行页面转向,将请求的处理交给下一个页面
jsp:param 用于传递参数,必须与其他支持参数的标签一起使用
jsp:include 用于动态引入一个jsp页面
jsp:plugin 用于下载javaBean 或Applet到客户端执行
jsp:useBean 创建一个javaBean实例
jsp:setProperty 设置javaBean实例的属性值
jsp:getProperty 取得JavaBean实例的属性值
九大对象
1.application javax.servlet.ServletContext 的实例,代表JSp所属的web应用本身,可用于页面之间交换信息
2.config javax.servlet.ServletConfig 的实例,代表JSP的配置信息,常用的方法有getInitParameter(String paramName) getInitParameternames()
3.exception java.lang.Throwable 的实例,代表其他页面中的异常和错误,只用当页面时错误处理页面,即page的isErrorPage=true时,该对象才可以使用,方法getMessage(),printStackTrace()
4.out javax.servlet.jsp.JspWriter 的实例,该实例代表jsp的页面输出流,用于输出内容
5.page:代表页面本身,也就是servlet中的this,一般不用
6.pageContext javax.servlet.jsp.PageContext的实例,该对象代表该jsp的上下文
,使用该对象可以访问页面中的共享数据 常用方法:getServletContext() getServletConfig()
7.request javax.servlet.http.HttpServletRequest 的实例,封装了一次请求
8.response javax.servlet.http.HttpServletResponse的实例,封装了一次响应
9.session javax.servlet.http.HttpSession 的实例,代表一次会话