之前我们已经成功的创建了一个Java Web项目并部署到Tomcat上运行。
从创建的项目结构来看,我们发现有个index.jsp文件。
那什么是JSP呢?
JSP(Java Server Pages) 简介
jsp由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就是在Html中嵌入Java代码。
JSP的执行过程
下图是简单的画了一个jsp的执行过程
大概的执行流程如下
- 用户向服务器发一个HTTP请求,例如请求index.jsp
- 服务器查找到index.jsp
- 将jsp文件转换成Servlet源文件,实际上就是java代码
- 编译转换后的java代码生成.class文件并执行
- 将执行结果返回给用户
导入相关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时,会自动帮我们导包。了解一下即可
现在都是前后端分离的模式开发了,而且随着前端技术的发展,我们已经很少使用jsp去写页面了。所以,简单了解即可,不用话太多时间和精力去深入。
下一篇:
如果你觉得本文对你有帮助,麻烦动动手指顶一下,可以帮助到更多的开发者,如果文中有什么错误的地方,还望指正,转载请注明转自喻志强的博客 ,谢谢!