JSP基本语法

JSP基本语法

一、jsp的简介

  • JSP全名为Java server pages ,根本是一个简化的Servlet设计,他实现在java中使用HTML标签。Jsp是一个动态网页技术标准也是Javaee 的标准。Jsp 和servlet一,是在服务器断执行的。

  • JSP是一种Servlet,但是与HttpServlet的工作方式不太一样。HttpServlet是先由源代码编译为class文件后部署到服务器下,为先编译后部署。而JSP则是先部署后编译。JSP会在客户端第一次请求JSP文件时被编译为HttpJspPage类(接口Servlet的一个子类)。该类会被服务器临时存放在服务器工作目录里面。下面通过实例给大家介绍。 工程JspLoginDemo下有一个名为login.jsp的Jsp文件,把工程第一次部署到服务器上后访问这个Jsp文件,我们发现这个目录下多了下图这两个东东。 .class文件便是JSP对应的Servlet。编译完毕后再运行class文件来响应客户端请求。以后客户端访问login.jsp的时候,Tomcat将不再重新编译JSP文件,而是直接调用class文件来响应客户端请求。

二、常用的动态网页开发技术

三、jsp页面的元素构成

1、jsp指令
  • page指令通常位于jsp页面的顶端,同一个页面可以有多个page指令。

    • 语法格式
      <%@page 属性1="属性值" 属性2="属性值1,属性值2"...属性N="属性值n"%>
      
      属性描述默认值
      language指定jsp页面使用的脚本语言java
      import通过该属性来引用脚本语言中使用到的类文件
      contentType用来指定jsp页面所采用的编码方式text/html
  • include指令 将一个外部的文件嵌入到当前的jsp文件中,同时解析这个页面的jsp语句。

  • taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为

2.jsp注释
  • HTML注释

    <!--html注释--> //客户端可见
    
  • jsp注释

    <%--html注释--%> //客户端不可见
    
  • jsp脚本注释

    //单行注释
    /**/多行注释
    
3、jsp脚本
  • 在jsp页面中执行的java代码

    <%java 代码
          out.println("大家好");  
    %>
    
4、jsp声明
  • 在jsp页面中定义变量或者说方法

    语法
    <%!
    java代码
     String name = "lgz";//声明了一个字符串变量
     int add(int a,int b){//声明了一个返回整形的函数方法,实现求和
     return a+b;
     }
    %>
    
5、jsp表达式
  • 在jsp页面中执行的表达式

    语法
    你好<%=name%>//注意:表达式不以分号结束
    a+b=<%=add(10,12)%>
    

四、jsp的生命周期

JSP生命周期包括以下阶段
解析阶段
Servlet容器解析JSP文件代码,如果有语法错误,就会向客户端返回错误信息

翻译阶段
Servelet容器把JSP文件翻译成Servelet源文件

编译阶段
Servelet容器编译Servelet源文件,生成servelet

初始化阶段
加载与JSP对应的Servelet类,创建其实例,并调用它的初始化方法

运行时阶段
调用与JSP对应的Servelet实例的服务方法

销毁阶段
调用与JSP对应的Servelet实例的销毁方法,然后销毁Servelet实例

JSP和Servlet是什么关系

其实这个问题在上面已经阐述过了,Servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容。JSP本质上是Servlet的一种简易形式,JSP会被服务器处理成一个类似于Servlet的Java程序,可以简化页面内容的生成。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。有人说,Servlet就是在Java中写HTML,而JSP就是在HTML中写Java代码,当然这个说法是很片面且不够准确的。JSP侧重于视图,Servlet更侧重于控制逻辑,在MVC架构模式中,JSP适合充当视图(view)而Servlet适合充当控制器(controller)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值