Web JSP

一、JSP概念

1.1 是什么

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

在这里插入图片描述
1.2 组成部分

指令(@page),静态组成部分,java代码块,服务器端的标签

[图片]

1.3 核心原理

tomcat(web容器启动的时候) 会把jsp文件 变成一个java 文件,并且把java文件编译。class文件每次访问jsp的时候就会访问这个java 文件的service 方法

[图片]

1.4 和servlet的关系

jsp 就是 servlet,servlet 就是jsp jsp能干的servlet 都能干 既然已经有servlet,为什么还要有jsp呢(联系)

[图片]

1.5 九大内置对象和四大作用域

  • 九大内置对象包含4大作用域
  • 概念: 在jsp的java代码块中不用声明就能直接使用的对象叫做jsp的内置对象(也叫隐式对象)
JSPServlet
pageContextthis
requestrequest
sessionrequest.getSession()
applicationrequest.getServletContext()
outresponse.getWriter()
responseresponse
configthis.getServletConfig()
pagethis
exceptionexception

二、el表达式

2.1 概念

让jsp的代码更加简化

2.2 怎么用

  • 显示4大作用域中的值 pageContext request session application,如果4大作用域中都有这个key ,那么应该显示的最小的范围的值
//2.jsp
<%
request.setAttribute("key1", "rk1");
session.setAttribute("key1", "sk1");
application.setAttribute("key1", "ak1");
//转发
request.getRequestDispatcher(request.getContextPath()+"/3.jsp").forward(request, response);
//重定向
// response.sendRedirect("3.jsp");
%>
  • 如果我们想 显示特定作用域的值怎么办?
//3.jsp
${key1}
<hr>
${requestScope.key1}<br>
${sessionScope.key1}<br>
${applicationScope.key1}<br>
  • 运算和判断
${key1 + 1}<br>
${key1 > 2?"ture":"false"}

三、jstl

3.1 概念

JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

3.2 使用

  1. 导入标签库的jar包
    在这里插入图片描述

  2. 在希望使用标签的库的页面上引入标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  1. 使用<c:if
<c:if test="${1==1}">
<span></span>
</c:if>
<c:if test="${1!=2}">
<span>jia</span>
</c:if>
  1. 使用<c:forEach
List list = new ArrayList();
list.add(new User());
list.add(new User());
list.add(new User());
list.add(new User());
list.add(new User());
request.setAttribute("userinfo", list);
//转发
request.getRequestDispatcher("/3.jsp").forward(request, response);


<c:forEach items="${userinfo}" var="user">
${user}<br>
</c:forEach>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值