zoukankan      html  css  js  c++  java
  • Java遇见HTML——JSP篇之JSP基础语法

    一、JSP简介

    JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签。Jsp是一种动态网页技术标准,是在服务器端执行的

    它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

    JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

    JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

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

    # 为什么使用JSP?

    首先先了解CGI(Common Gateway Interface,通用网关接口),是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。

    CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

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

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

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

    # JSP的优势

    以下列出了使用JSP带来的其他好处:

    • 与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
    • 与纯 Servlets相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
    • 与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
    • 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
    • 与静态HTML相比:静态HTML不包含动态信息。

    # JSP总览图

    二、常用动态网站开发技术

    常见动态网站开发技术对比:

    JavaEE比较适用于以下开发:

    三、JSP页面元素构成

     3.1、JSP指令

    JSP的三大指令元素:

    • page指令语法:

    如:

    注意:pageEncoding是jsp文件本身的编码,contType的charset是指服务器发给客户端的内容编码。contType更常用。 

     3.2、JSP注释

    在JSP页面的注释。

    可以在JSP页面使用三种注释:

    如:

     3.3、JSP脚本

    在JSP页面中执行的Java代码。

    写在这一对标签的所有语句都可以认为是JSP脚本。

     3.4、JSP声明

    在JSP页面中定义变量或者方法。

    如:

     3.5、JSP表达式

    在JSP页面中执行的表达式。

    如:通过表达式调用上面声明的函数或变量。

    运行结果:

    四、JSP页面的生命周期

    JSP页面的生命周期是用户发出对jsp页面的访问,如果是第一次访问,jsp引擎就会将jsp文件生成为一个servlet,生成字节码文件执行jspInit(),注意这个方法只在生成字节码文件时会被使用,即在一个生命周期中只执行一次,然后对于不是第一次访问jsp页面时,直接返回字节码文件。

    具体说明:

    注意:

    1、生成字节码文件,执行jspInit()只在第一次请求时执行,重复请求仅只执行一次。生成的文件在work里,【每次修改会重新编译,生成新的字节码文件】
    2、jspService()用于处理用户请求,对于每一个请求,JSP引擎会创建一个新的线程来处理该请求【JSP多线程:降低资源需求,提高系统并发量及响应时间,但注意同步问题】。
    3、由于该Servlet常驻于内存里,所以响应速度非常快。

    Ps:当用户第一次请求一个jsp页面时,首先被执行的方法是构造方法。

    五、阶段项目

    表达式方式实现:

    脚本方式实现:

    注:out对象是JspWriter类的实例,用于向客户端输出内容

  • 相关阅读:
    grunt in webstorm
    10+ Best Responsive HTML5 AngularJS Templates
    响应式布局
    responsive grid
    responsive layout
    js event bubble and capturing
    Understanding Service Types
    To add private variable to this Javascript literal object
    Centering HTML elements larger than their parents
    java5 新特性
  • 原文地址:https://www.cnblogs.com/Qian123/p/5271372.html
Copyright © 2011-2022 走看看