JSP详解

JSP的概念:

概念:Java Serve Pages Java服务端页面

一种动态的网页技术,其中可以定义Html、css、js等静态内容。还可以定义Java代码的动态内容。

JSP=Html+java

JSP的存在使我们可以不用在servlet里面用输出流一行一行的写字符串,而是直接将java代码和html代码写在一起方便书写。

在实际开发时,我们通常在业务层处理完后,将最后的响应转发到JSP作为页面展示。

<%@ page contentType="text/html; utf-8" language="java" %>

<html>
<head>
    <title>Tittle</title>
</head>

<body>
    <h1>JSP,hello|||</h1>
    <%
        System.out.println("nihao jsp");
    %>
</body>>

</html>>

JSP快速入门

1、导入JSP坐标

2、创建JSP文件

3、编写HTML标签和JAVA代码

JSP原理

JSP本质上就是一个servlet。

我们编写了JSP,容器(Tomcat)会自动的将JSP转换为servlet,再编译成字节码文件发送给浏览器。

JSP脚本

JSP脚本用于在JSP页面内部定义JAVA代码。

脚本分类:

1、 <%%>内容会直接放到_jspService()方法中。

2、<%= %>内容会放到out.print()中,作为out.print()的参数。

3、<%!%>内容会放到_jspService方法外,被类直接包含。

JSP的缺点

实际上,由于JSP的种种缺点,在如今的开发中我们几乎已经不使用了。

1、书写很麻烦,尤其是很复杂的页面,需要不断用<%%>去进行打断。

2、阅读很麻烦

3、复杂度高,运行需要依赖各种环境,JRE,JSP容器,JavaEE

4、占用内存和磁盘,JSP会自动生成.java和.class文件。其中.java文件存放的是解析后的servlet文件,.class文件是运行文件。

5、调试困难:出错后,我们需要在自动生成的servelt文件中寻找错误

6、前后端做不到分离

现在我们通常使用HTML+AJAX的技术来代替,后面会有写AJAX。

为了便于后期维护和开发,我们通常不在JSP文件里面直接写JAVA代码,而是使用JSP展示数据,有关逻辑处理和数据封装我们放到Servlet里面进行处理。

这就引入了一个概念-EL表达式

EL表达式

EXpression Language表达式语言,用来简化JSP页面中JAVA代码

主要功能为:获取数据

语法:${expression}

${brands}:获取域(比如request域,response域)中键为brands的值。

 

 JSTL标签

JSP标准标签库,使用标签取代JSP页面上的JAVA代码。(感觉有点像Mybatis配置mapper.xml文件中的那个标签?)

<c:if test="${flag==1}">
男
</c:if>

<c:if test="${flag==2}>
女
</c:if>

有点类似于增强for循环,这个item就相当于users,var相当于user

for(User user:users){

} 

第二种循环遍历方式,和普通for循环很像 

 MVC模式和三层架构

MVC模式是一种分层开发的模式

M:Modle,业务模型,处理业务。

V:View,视图,界面展示。

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

MVC的好处:

指责单一,互相不影响。

有利于分工协作。

有利于组件重组。

三层架构

​​​​​​​ 

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

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

表现层:接受请求,封装数据,调用业务逻辑层,(通过JSP展示),响应数据 。

其中,对于不同层我们可以采用框架对其进行优化,在后续学习的Spring系列框架,就分别对应了表现层和业务逻辑层。而对于数据访问层的开发,Mybatis就是其开发框架。

MVC模式和三层框架之间的关系 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值