2022-8-31第一组孙乃宇JSP

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中的四大域对象:

  1. page:当前页面有效

  2. request:当前请求有效

  3. session:当前会话有效

  4. 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技术目前使用的已经很少了,一般都是老旧的项目中存在,所以只做了解。

 
posted @   孙乃宇  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示