JSP笔记、语法


一、什么是JSP?

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

二、什么是HTML?

HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言。最通俗的说法就是一种超链接,比如收藏一个网页就是保存它的链接。

简单说:

  • HTML 是用来描述网页的一种语言。
  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

三、JSP和HTML的区别

HTML页面是静态页面,也就是事先由用户写好放在服务器上,固定内容,不会变,由web服务器向客户端发送,平时上网看的网页都是大部分都是基于html语言的。

JSP页面是有JSP容器执行该页面的Java代码部分然后实时生成动态页面,可动态更新页面上的内容。

动态网页,是指跟静态网页相对的一种网页编程技术。动态页面的内容一般都是依靠服务器端的程序来生成的,不同人、不同时候访问页面,显示的内容都可能不同。网页设计者在写好服务器端的页面程序后,不需要手工控制,页面内容会按照页面程序的安排自动更改变换。

静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了,不管是谁在任何时候看到的页面内容都是一样的,一成不变,除非你修改页面代码。静态html页面文件,可以直接用本地的浏览器打开。

总而言之:

定义上HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转换成servlet

  • HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开
    html是w3c规范的一种网页书写格式,是一种统一协议语言,静态网页。我们上网看的网页都是大部分都是基于html语言的。jsp是一种基于动态语言,jsp可以实现html的所有任务。
    HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,只要你有一个浏览器那么它就可以正常显示出来,而不需要指定的编译工具,只需在TXT文档中写上HTML标记就可以正常显示。

  • JSP(Java Server Page)是Java服务端的页面,所以它是动态的,它是需要经过JDK编译后把内容发给客户端去显示,我们都知道,Java文件编译后会产生一个class文件,最终执行的就是这个class文件。

  • html和jsp的表头不一样,这个是JSP的头“ <%@ page language=”java” import=”java.util.*” pageEncoding=”gbk”%>”在表头中有编码格式和倒入包等。也是很好区分的,在jsp中用<%%>就可以写Java代码了,而html没有<%%>。

  • 简单说,jsp在后台通过服务器解析为相应的html,然后在供浏览器识别显示。

JSP指令

JSP指令

JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令:

  • 包含指令include –包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。效果就好像被包含文件的内容直接被粘贴到当前文件中一样。这个功能和C预处理器所提供的很类似。被包含文件的扩展名一般都是”jspf”(即JSPFragment,JSP片段):
    <%@ include file=”somefile.jsp” %>
  • 页面指令page –页面指令有以下几个选项:
|  import   | 使一个JAVA导入声明被插入到最终页面文件。  |
| contentType  | 规定了生成内容的类型。当生成非HTML内容或者当前字符集并非默认字符集时使用。 |
| errorPage  | 处理HTTP请求时,如果出现异常则显示该错误提示信息页面。 |
| isErrorPage  | 如果设置为TRUE,则表示当前文件是一个错误提示页面。 |
| isThreadSafe  | 表示最终生成的servlet是否具有线程安全性。 |

<%@ page import=”java.util.*” %> //example import导入样例
<%@ page contentType=”text/html” %> //example contentType页面类型样例
<%@ page isErrorPage=false %> //example for non error page无错页面样例
<%@ page isThreadSafe=true %> //example for a thread safe JSP执行绪安全JSP样例
注意:

  • 在同一个JSP文件中只有“import”导入页面指令可以被多次使用。
    标签库指令taglib –标签库指令描述了要使用的JSP标签库。该指令需要指定一个前缀prefix(和C++的名字空间很类似)和标签库的描述URI:
    <%@ taglib prefix=”myprefix” uri=”taglib/mytag.tld” %>

JSP脚本元素和变量

标准脚本变量
以下是永远可用的脚本变量:

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

脚本元素

有三个基本的脚本元素,作用是使JAVA代码可以直接插入servlet.

  • 一种是声明标签,在JAVA SERVLET的类体中放入一个变量的定义。静态的数据成员也可以如此定义。
    <%! int serverInstanceVariable = 1; %>
  • 一种是脚本标签,在JAVA SERVLET的类的_jspService()方法中放入所包含的语句。
    <% int localStackBasedVariable = 1; out.println(localStackBasedVariable); %>
  • 一种是表达式标签,在JAVA SERVLET的类中放入待赋值的表达式,表达式注意不能以分号结尾。
    <%= “expanded inline data “ + 1 %>

文章作者: kaiboshi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kaiboshi !
评论
  目录