JSP的使用

本文介绍了JSP的基础知识,包括它的概述、快速入门步骤、JSP脚本分类以及工作原理。同时,提到了JSP的缺点,主张使用HTML和AJAX替代。文章还涉及了EL表达式和JSTL标签的使用,以及MVC模式和三层架构在Web开发中的应用,强调了它们对于职责分离和组件重用的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 JSP

1 JSP的概述

JSP(全称:Java Server Pages):Java 服务端页面。==是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 JSP = HTML + Java

2 JSP 快速入门
2.1 搭建环境

创建一个maven的 web 项目,项目结构如下:

 

pom.xml 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
​
    <groupId>org.example</groupId>
    <artifactId>jsp-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
​
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
​
    <dependencies>
      <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
​
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>
</project>
2.2 JSP依赖
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
</dependency>
3 JSP原理

 

  1. 浏览器第一次访问 hello.jsp 页面

  2. tomcat 会将 hello.jsp 转换为名为 hello_jsp.java 的一个 Servlet

  3. tomcat 再将转换的 servlet 编译成字节码文件 hello_jsp.class

  4. tomcat 会执行该字节码文件,向外提供服务

4 JSP 脚本

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

4.1 JSP 脚本分类

JSP 脚本有如下三个分类:

  • <%...%>:内容会直接放到_jspService()方法之中

  • <%=…%>:内容会放到out.print()中,作为out.print()的参数

  • <%!…%>:内容会放到_jspService()方法之外,被类直接包含

5 JSP缺点

JSP既可以定义HTML,又可以写Java代码,导致页面复杂,不利于前后端工程师的合作。用HTML和AJAX替代

2 EL表达式

 

3 JSTL标签

1.导入坐标
​
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
​
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
​
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
 
2.JSP页面引入JSTL标签库

<%@ taglib prefix="c" uri="Oracle Java Technologies | Oracle" %>

3.使用
3.1c:if的使用
替换Java的if else
<c:if test="">  
</c:if>
3.2c:forEach 相当于for循环

第一种方法:

items 被遍历的容器

var 遍历产生的临时变量

varStatus 遍历对象状态

第二种方法:

 

4 MVC和三层架构

1 MVC的概述

MVC 是一种分层开发的模式,其中:

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

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

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

     

控制器(serlvlet)用来接收浏览器发送过来的请求,控制器调用模型(JavaBean)来获取数据,比如从数据库查询数据;控制器获取到数据后再交由视图(JSP)进行数据展示。

2 MVC 好处:
  • 职责单一,互不影响。每个角色做它自己的事,各司其职。

  • 有利于分工协作。

  • 有利于组件重用

3 三层架构

三层架构是将我们的项目分成了三个层面,分别是 表现层业务逻辑层、`数据访问层。

 

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

  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂的业务逻辑功能。例如 注册业务功能 ,我们会先调用 数据访问层selectByName() 方法判断该用户名是否存在,如果不存在再调用 数据访问层insert() 方法进行数据的添加操作

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

而整个流程是,浏览器发送请求,表现层的Servlet接收请求并调用业务逻辑层的方法进行业务逻辑处理,而业务逻辑层方法调用数据访问层方法进行数据的操作,依次返回到serlvet,然后servlet将数据交由 JSP 进行展示。

### 回答1: 这两个处理器都是目前市面上比较常见的高性能处理器。其中,锐龙 R7 5800H 是 AMD 公司推出的一款移动处理器,而 i5-11300H 则是 Intel 公司推出的一款移动处理器。 从处理器性能的角度来看,锐龙 R7 5800H 在多线程性能方面表现出色,可以更好地处理多任务并行,而 i5-11300H 则在单线程性能方面表现较强,适合单个任务的处理。 此外,锐龙 R7 5800H 的功耗较高,可能导致发热电池寿命的问题,而 i5-11300H 的功耗相对较低,能够更好地保持电池续航时间稳定性。 因此,如果您需要处理多任务并行,可以考虑锐龙 R7 5800H;如果您更注重单个任务的性能,可以考虑 i5-11300H。当然,您还可以根据自己的具体需求使用场景进行选择。 ### 回答2: 锐龙R7-5800Hi5-11300H都是当今市场上非常受欢迎的高性能CPU,它们都能满足大多数用户的需求。但是,它们在性能特点上还是存在很大的差异。 首先,锐龙R7-5800H是一款采用7nm FinFET制程的八核心十六线程处理器,其主频为3.2GHz,最高主频可达4.4GHz。它还内置了AMD的集成显卡Vega 8,最高核心频率为2.1GHz。相比之下,i5-11300H是基于10nm SuperFin制程的四核八线程处理器,主频为3.1GHz,最高主频可达4.4GHz,但它不带集成显卡。 在性能方面,锐龙R7-5800H表现优异,特别是针对多线程任务。它的性能比i5-11300H优越,尤其是在处理多线程任务时。在游戏方面,R7-5800H的性能也要稍高于i5-11300H。但是,i5-11300H的单线程性能却要比R7-5800H更好,因此在执行单线程任务时,i5-11300H更具有优势。 在功耗方面,i5-11300H的TDP只有35W,相比之下,锐龙R7-5800H的TDP则高达45W。因此,从功耗的角度来看,i5-11300H更省电,适合用于移动设备,而R7-5800H则更适合台式机或大型游戏本。 最后,价格也是两者之间一个重要的因素。一般来说,i5-11300H的价格比R7-5800H要低得多,但是,当需要高性能处理器时,R7-5800H也是一个更好的选择。 综上所述,锐龙R7-5800Hi5-11300H都有自己的特点优势,具体应该根据用户的需求来选择。如果用户需要高性能处理器用于多线程任务或者游戏,那么R7-5800H是更好的选择。如果用户注重功耗轻便性,则应选择i5-11300H。 ### 回答3: 锐龙r7-5800h是AMD推出的一款处理器,而i5-11300h是Intel推出的一款处理器。这两款处理器都是针对笔记本电脑开发的。 首先来看锐龙r7-5800h。该处理器是基于7nm工艺制造的,具备8个物理核心16个线程,主频为3.2GHz,最大增强频率为4.4GHz。该处理器采用AMD的Zen 3架构,拥有32MB的L3缓存4MB的L2缓存。它还配备了Radeon Vega 8集成显卡,支持DDR4-3200MHz内存。总体来说,锐龙r7-5800h性能强劲,适合运行大型应用程序游戏。 然后是i5-11300h。该处理器也是基于10nm工艺制造的,具备4个物理核心8个线程,主频为3.1GHz,最大增强频率为4.4GHz。它采用了Intel的Tiger Lake架构,拥有12MB的L3缓存,但没有L2缓存。它配备了Intel Xe集成显卡,支持DDR4-3200MHz内存。总体来说,i5-11300h性能比较强,可以应对日常使用需求。 从性能方面来看,锐龙r7-5800h比i5-11300h更加强大。它有更多的核心线程,更大的缓存更好的集成显卡。但考虑到业务场景的不同,i5-11300h已经足够满足大多数人的日常需要。 总体来说,无论选择哪款处理器,都要考虑自己的使用需求笔记本电脑的其他配置,以获得更好的使用体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值