JSP-javaweb学习笔记(八)

前言

一、JSP是什么?

二、JSP快速入门

(一)导入jsp坐标

(二)创建JSP项目

三、JSP原理

 四、JSP脚本

(一)概念

(二)JSP脚本分类

1.<%....%>

2.<%=...%>

3.<%!...%>

五、JSP的缺点

六、EL表达式

1.概念

2.主要功能

3.语法

4.javaweb中四大域对象

七、JSTL

(一)概念

(二)快速入门

1.导入坐标

2.在JSP页面上引入JSTL标签库

3.使用

if

foreach

 八、MVC模式和三层架构

(一)MVC模式

(二)三层架构

(三)关系


前言

JSP已经逐渐退出历史舞台,HTML+AJAX已经替代了


一、JSP是什么?

概念:Java Server Page,Java服务端页面

一种动态的网页技术,既可以定义HTML,JS,CSS等静态内容,还可以定义java代码的动态内容

JSP=HTML+Java

如下所示

简化了开发,避免在Servlet中直接输出HTML标签

二、JSP快速入门

(一)导入jsp坐标

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>

(二)创建JSP项目

<%--
  Created by IntelliJ IDEA.
  User: 99730
  Date: 2023/7/14
  Time: 9:55
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>JSP,Hello World</h1>
<%
    System.out.println("hello jsp");
%>
</body>
</html>

三、JSP原理

JSP本质就是一个Servlet,tomcat会把.jsp转化为.java文件,再编译为.class字节码文件

 就是相当于用response输出将html文件写出,本质还是Servlet

 四、JSP脚本

(一)概念

用于JSP页面内定义java代码

(二)JSP脚本分类

1.<%....%>

内容会直接放到_jspService() 方法之中

2.<%=...%>

内容会放到out.print()中,作为out.print()的参数(会直接打印到页面上,不是控制台上了)

3.<%!...%>

内容会直放到_jspService() 方法之外,被类直接包含(就是成员位置,成员方法或成员变量)

注:导包

<%@ page import="java.util.List" %>

、JSP的缺点

1.书写麻烦

2.阅读麻烦

3.复杂度高:运行依赖各种环境,jre,jsp容器,javaEE..

4.占内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行的是.class文件内存

5.调试困难。出错后,需要找到自动生成的.java文件调试

6.不利于团队协作,前端人员不会java,后端人员不精通HTML

出现替代品:HTML+AJAX

出现HTML+AJAX之前,让Servlet与JSP结合

Servlet:逻辑处理,封装数据

JSP:获取数据,遍历展现数据

EL表达式

1.概念

Expression Language表达式语言,用于简化JSP内的java代码

2.主要功能

获取数据

3.语法

${expression}:获取域中存储的key为expression的数据

 比如现在servlet内转发,“brand”为key,brands为转发的内容。

前端写这个表达式,获取数据

要在jsp主页面加上,表示不忽视EL表达式

<%@ page isELIgnored="false" %>

4.javaweb中四大域对象

page:当前页面有效

request:当前请求有效

session:当前会话有效

application:当前应用有效

el表达式会依次从这四个域中寻找,直到找到为止

JSTL

(一)概念

JSP标准标签库(Jsp Standarded Tag Library),使用标签取代JSP页面的java代码

(二)快速入门

1.导入坐标

<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>

tomcat9以上版坐标导入

<dependency>
  <groupId>org.glassfish.web</groupId>
  <artifactId>jakarta.servlet.jsp.jstl</artifactId>
  <version>2.0.0</version>
</dependency>

<dependency>
  <groupId>org.apache.taglibs</groupId>
  <artifactId>taglibs-standard-spec</artifactId>
  <version>1.2.5</version>
</dependency>

2.在JSP页面上引入JSTL标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

3.使用

if
<c:if test="${statue==1}">
    启用
</c:if>

判断test,里面的语句

foreach

item:被遍历的容器

var:遍历产生的临时变量

 可选属性:varStatus="status"

status.index:代表从0开始的序号

status.count: 代表从1开始的序号

可选属性2:

begin:开始数字

end:结束数字

step:步长

 八、MVC模式和三层架构

(一)MVC模式

MVC是一种分成开发的模式:

M:Model,业务模型,处理业务

V:View,视图,界面展示

C:Controller,控制器,处理请求,调用模型和视图

 MVC好处

职责单一,互补影响

有利于分工协作

有利于组件的重用

(二)三层架构

 

 数据访问层:对数据库的CRUD基本操作

业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂啊的业务逻辑功能

表现层:接受请求,封装数据,调用业务逻辑层,响应数据

(三)关系

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosen6664

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值