Java Web之JSP基本语法

之前我们已经成功的创建了一个Java Web项目并部署到Tomcat上运行。
从创建的项目结构来看,我们发现有个index.jsp文件。
那什么是JSP呢?


JSP(Java Server Pages) 简介

JSP: Java服务器页面
由Html、css、js代码、Java程序段以及jsp标签等组成,其后缀名为.jsp
jsp实际上就是一个简化的Servlet(Servlet是http请求与响应的中间节点,主要用于处理Http请求与响应)

我们打开之前创建项目自动生成的index.jsp

这里写图片描述

可以看到index.jsp中包含有常见的html标签和下面这行代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>  jsp指令,主要用来提供jsp页面的相关信息,以及编码配置

JSP的执行过程

下图是简单的画了一个jsp的执行过程

这里写图片描述

大概的执行流程如下

  1. 用户向服务器发一个HTTP请求,例如请求index.jsp
  2. 服务器查找到index.jsp
  3. 将jsp文件转换成Servlet源文件,实际上就是java代码
  4. 编译转换后的java代码生成.class文件并执行
  5. 将执行结果返回给用户

导入相关jar包

我们想要使用某些API时需要先导入jar包,常用的比如jsp-api.jar、servlet-api.jar包等

在IDEA中如果不导入jar包可能无法使用相关的api。如果你发现某些api报错或者没有提示,很可能就是你没有导jar,注意检查一下。

我们先导入jsp-api.jar
jsp-api.jar和servlet-api.jar在我们Tomcat 安装或解压目录中的lib目录中就有,也可以去网上下载

这里写图片描述

可以看到lib目录中有很多jar包,其中就有jsp-api.jar

这里写图片描述

我们先在WEB-INF目录下创建一个lib文件夹,将jsp-api.jar文件粘贴到该目录,然后右键Add as Library 点击ok完成导入即可
这里写图片描述

以后导入别的jar包也是这么导。
右键Add as Library即可


JSP基本语法

1.JSP声明语法

语法 <%! %>

代码示例:

<%!

    /*声明成员变量*/
    String name = "yzq";

    /*声明成员方法*/
    String getName() {
        return name;
    }

%>

注意:声明语法用来定义成员变量成员方法

2.JSP程序脚本

语法

<% 
  %>

代码写在<% %>之间,包括局部变量的声明,表达式,逻辑语句等
可以看做是java中的方法
程序脚本可以跟页面代码进行组合使用

代码示例


<%

    /*JSP程序脚本
     *可以声明局部变量,表达式,编写逻辑语句等
     *
     * */

    String name = "yuZhiQiang";//注意这里是局部变量
    int age = 25;//局部变量
    if (age > 25)
%>
你的名字是:
<%
    out.print(name);
    if (age > 30) {
%>
<h1>中年油腻大叔</h1>

<% 
    } else { 
%>
<h1>青年</h1>
<%
    }
%>

可以看到上面我们的html标签和程序脚本组合在一起了

我们来看看运行后的页面

这里写图片描述

注意,程序脚本中的变量是局部变量,和上面的成员变量的区别就在于局部变量只能在程序脚本代码块中使用,并且必须声明在前使用在后。
就相当于java中的普通方法

3.JSP注释脚本

语法格式 <%-- --%>

<%--<%  String msg="注释示例"; %>--%>

在程序脚本中,我们写的其实就是java代码,所以java原本的单行注释和多行注释都是可以使用的

JSP内容输出表达式

语法<%= %>

示例代码


<%!
    /*声明成员变量*/
    String name = "yzq";

    /*声明成员方法*/
    String getName() {
        return name;
    }
%>


<%=name //输出表达式不需要写分号%>
<%=getName()%>

包引入语法

语法:<%@ page import="要导入的包" %

示例代码:

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>

在Idea中,当我们使用到需要导包的api时,会自动帮我们导包。了解一下即可

©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值