JSP
JSP
概念: Java Server Pages,Java服务端页面
一种动态的网页技术,其中既可以定义HTML、JS、CSS等静态内容,还可以定义Java代码的动态内容·
JSP = HTML + Java
JSP的作用:简化开发,避免了在Servlet中直接输出HTML标签
JSP本质上就是一个Servlet
JSP在被访问时,由JSP容器(Tomcat)将其转换为Java文件(Servlet),在由JSP容器(Tomcat)将其编译,最终对外提供服务的其实就是这个 字节码文件
JSP快速入门
1.导入依赖jar包 jsp-api.jar
2.创建JSP文件
3.编写HTML标签和Java代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>index</title>
</head>
<body>
<%
int num=0;
num++;
System.out.println(num);
/*
注意:
1.JSP的脚本片段只能出现java代码,不能出现html元素。在访问jsp时,JSP引擎翻译JSP的脚本片段
2.JSP脚本片段中的脚本代码必须严格遵守java的规则
3.一个JSP页面可以有多个脚本片段
4.多个脚本片段中的代码是可以相互访问的
*/
%>
<%
/*
面试题:JSP和servlet的区别
1.JSP本质上就是servlet
2.JSP更侧重于页面展示,servlet更侧重于逻辑处理
3.先有的servlet后有的JSP
* */
System.out.println(num);
out.print(num);//向页面输出
%>
<%--JSP的表达式--%>
<%= num%>
<%--JSP声明片段--%>
<%!
int x=10;
static{}
public void fun(){}
%>
</body>
</html>
JSP脚本
JSP脚本用于在JSP页面内定义Java代码
JSP脚本分类:
1.<%...%>:内容会直接放到_jspService()方法之中
2.<%=...%>:内容会放到out.print()中,作为out.print()的参数
3.<%6!…%>:内容会放到_jspService()方法之外,被类直接包含
EL表达式
Expression Language表达式语言,用于简化JSP页面内的Java代码
主要功能:获取数据
语法:${expression}
${brands}︰获取域中存储的key为brands的数据
JavaWeb中的四大域对象:
-
page:当前页面有效
-
request:当前请求有效
-
session:当前会话有效
-
application:当前应用有效
el表达式获取数据,会依次从这4个域中寻找,直到找到为止
JSTL:标签 JSP标准标签库(Jsp Standarded Tag Library),使用标签取代JSP页面上的Java代码
1.导入jar包
2.在JSP页面上引入JSTL标签库
3.使用
<%@ 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:set scope="session" var="name" value="zhangsan"></c:set>
<c:set scope="session" var="age" value="20"></c:set>
${sessionScope.name}
<hr>
<c:if test="${sessionScope.age >= 18}">可以观看!</c:if>
<c:if test="${sessionScope.age < 18}">禁止观看!</c:if>
<hr>
<c:choose>
<c:when test="${sessionScope.age eq 18}">
你已经年满18岁,可以签署劳动合同了!
</c:when>
<c:when test="${sessionScope.age lt 18}">
你好没有满18岁!
</c:when>
<c:otherwise>
你已经是大人了!!!
</c:otherwise>
</c:choose>
<hr>
<c:forEach begin="1" end="10" step="2" var="i" varStatus="stat">
${i} ----- ${stat.first} <br>
</c:forEach>
</body>
</html>
<c:forEach>:相当于for循环
items:被遍历的容器
var:遍历产生的临时变量
varStatus:遍历状态对象 值为count代表从1开始
<c:forEach items="${brands}" var=brand>
jsp技术目前使用的已经很少了,一般都是老旧的项目中存在,所以只做了解。
标签:脚本,Java,31,num,JSP,out,孙乃宇,页面 From: https://www.cnblogs.com/sunnaiyu/p/16644610.html