Java Server Pages(JSP)

JSP,即Java服务端页面,是一种动态网页技,其中既可以定义HTML、JS、CSS等静态内容,还可以定义JAVA代码的动态内容。
如下所示:
在这里插入图片描述

一、快速入门

  1. 导入JSP坐标
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
  1. 创建JSP文件
  2. 在JSP文件编写HTML标签和Java代码

二、JSP原理

JSP=HTML+Java,本质上就是一个Servlet。
JSP被访问时,JSP容器(即Tomcat)会将JSP转为JAVA文件(一个Servlet),再由JSP容器将这个JAVA文件编译,最终对外提供服务的就是编译后的.class文件。
在这里插入图片描述

三、JSP脚本

(一)EL表达式

  1. 主要功能:获取JAVA文件中的数据
  2. 语法:${key值},获取域中指定key值的数据。
  3. JavaWeb四大域对象:
    A. page:当前页面有效
    B. request:当前请求有效
    C. session:当前会话有效
    D. application:当前应用有效
    el表达式获取数据时,依次从这四个域中寻找,直到找到为止。

(二)JSTL标签

JSP标签标签库,使用标签取代了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>
  1. 在JSP文件开头引入标签
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  2. 开始使用
<!-- if标签,test里的写表达式,用于条件判断 -->
<c:if test="EL表达式">
    <h1>内容</h1>
</c:if>

<!-- forEach标签,相当于for循环,items代表被遍历的对象,var代表对象的某一次值 -->
<c:forEach items="${brands}" var="brand">
	<tr align="center">
		<td>${brand.id}</td>
		<td>${brand.brandName}</td>
		<td>${brand.companyName}</td>
		<td>${brand.description}</td>
	</tr>
</c:forEach>

附:Servlet转发数据到JSP中

//转发一个名为brands的ArrayList数组
request.setAttribute("brands",brands);
request.getRequestDispatcher("/jstl-if.jsp").forward(request,response);

四、MVC模式和三层架构

(一)MVC模式

MVC:一种分层开发的模式

  • M:Mode,业务模型,处理业务。
  • V:View,视图,界面展示。
  • C:Controller,控制器,处理请求,调用模型和视图。

比如Servlet就是一个控制器,用来调用Java代码(业务模型)处理业务,然后将各种数据交给网页(视图)做界面展示。
在这里插入图片描述

MVC好处:

  • 职责单一,互不影响
  • 有利于分工协作
  • 有利于组件重用

(二)三层架构

在这里插入图片描述
每一个层次都有一些框架,比如

  • 表现层框架:SpringMVC/Struts2
  • 业务逻辑层:Spring
  • 数据访问层:MyBatis/Hibername

(三)MVC模式和三层架构的区别

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值