目录
前言必读
一、概念
1.什么是JSP?
就是可以写标签和Java代码的页面
概念:Java Server Pages,Java服务端页面
JSP=HTML+Java,用于简化开发的
2.JSP的本质
JSP 本质上就是一个Servlet。JSP在被访问时,由JSP容器(tomcat)将其转化为Java文件(servlet),再由JSP容器(tomcat)将其编译,最终对外提供服务的其实就是这个字节码文件
二、使用方法
1.pom里面导入依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
2.简单示例
在webapp里面创建一个jsp文件。不能创建在WEB-INF里面,要不然访问不到了。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>快乐的一只</h1>
<%
System.out.println("小青蛙");
%>
</body>
</html>
3.JSP脚本分类
<%..%>:内容会直接放到jspServce()方法之中-----输出在控制台
<%=...%>:内容会放到out.print()中,作为out。print的参数
<%!..%>:内容会放到jspServce()方法之外,被类直接包含
<%--输出在控制台--%>
<%
System.out.println("小青蛙");
%>
<%--输出在页面--%>
<%="小老虎"%>
<%-- 成员变量--%>
<%!
String name = "张三";
%>
4.JSP缺点
1.书写麻烦:特别是复杂的页面
2.阅读麻烦
3.复杂度高:允许需要依赖于各种环境,JRE,JSP容器,JavaEE...
4.占内存和磁盘:JSP会自动生成java和class文件占磁盘,运行的是.class文件占内存
5.调试困难:出错后,需要自动找到自动生成的Java文件进行调试
6.不利于团队协作:前端人员不会Java,后端人员不精HTML
所以JSP已经慢慢退出历史舞台,现在更多的是使用HTML+AJAX
三、EL表达式
Expression Language 表达式语言,用于简化JSP页面内的Java代码
主要功能:获取数据
语法
${brands}:获取域中存储的key为brands的数据
1.el表达式获取数据,会依次从这4个域中去寻找,直到找到为止,下面排列是从小到大
Javaweb中的四大域对象:
1.page:当前页面有效
2.request:当前请求有效
3.session:当前会话有效
4.application:当前应用有效
四、JSTL-if&foreach
JSP标准标签库(JSP Standarded Tag Library),使用标签取代JSP页面上面的代码
直白理解:主要就是使用到if判断和foreach循环结构而已,替代了复杂的写法,使用这个更简便。
使用步骤
(1)导入依赖
<!-- JSTL的依赖 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
(2)新建一个JSP,并且在最上面写上一个
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(3)if的例子,foreach太麻烦了,就没有写下来
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:if test="true">
<h1>这是真的</h1>
</c:if>
<c:if test="false">
<h1> 这是假的</h1>
</c:if>
</body>
</html>
如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!
点赞关注收藏,抱拳了!