归子莫的博客

「笔杆揭不起,绘不出青烟别春泥 ————归子莫」

Java–JSP简介

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

JSP(全称JavaServer Pages)是由Su 公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码

原理

JSP本质上就是一个Servlet

JSP的脚本

JSP定义Java代码的方式

  1. <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
  2. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
  3. <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

JSP的内置对象

  • 在jsp页面中不需要获取和创建,可以直接使用的对象
    • out:JSPWriter,用来写入响应流的数据
    • page:servlet自身
    • pageContext:一个PageContext实例包括和整个页面相联系的数据,一个给定的HTML页面可以在多个JSP之间传递。
    • request:HTTP request(请求)对象
    • response:HTTP response(响应)对象
    • session:HTTP session(服务端会话)对象

JSP动作

JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签。JSP提供了以下动作:

jsp:include 和子过程类似,JAVA SERVLET暂时接管对其它指定的JSP页的请求和响应。当处理完该JSP页后就马上把控制权交还当前JSP页。这样JSP代码就可以在多个JSP页中共享而不用复制。
jsp:param 可以在jsp:include, jsp:forward或jsp:params块之间使用。指定一个将加入请求的当前参数组中的参数。
jsp:forward 用于处理对另一个JSP或SERVLET的请求和响应。控制权永远不会交还给当前JSP页。
jsp:plugin Netscape Navigator使用不同的标签以嵌入一个applet。这个动作产生为嵌入一个APPLET所需要的指定浏览器标签。
jsp:fallback 如果浏览器不支持APPLETS则会显示的内容。
jsp:getProperty 从指定的JavaBean中获取一个属性值。
jsp:setProperty 在指定的JavaBean中设置一个属性值。
jsp:useBean 创建或者复用一个JavaBean变量到JSP页。

为什么使用JSP

JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:

  • 性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。
  • 服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。
  • JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。
  • JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。

感谢

百度百科

菜鸟教程

以及勤劳的自己

评论