[javaweb]jsp,jstl,el表达式的使用

jsp

java server page:java服务器前端页面,和servlet一样,用于动态web开发。

特点:

  • 写jsp页面就像在写html
  • html只给用户提供静态数据,jsp中可以加入java代码,为用户提供动态数据

jsp最终会被转换成一个java类。jsp继承了一个HttpJspBase,这个类经常间接又继承了servlet,因为jsp的本质还是一个servlet。

但是通过继承使得jsp大大简化了,servlet与前端交互的语句。

  • 在jsp中只要是java代码就会原封不动的输出;

· out.print(name);

  • 如果是html代码就会进行转换为

out.write("success\r\n");

说到底,就相当于在后台用java语言的servlet给前端传输数据一样只不过它使用了前端化的语言使得操作更加简单,在运行的时候它本身还是转化成了java。

jsp语法

作为一个java语言的应用它支持所有的java语法,并且有许多自己的语法。

也可以用el表达式取值:${}等价于

脚本片段:

sum="+sum+"");
%>

jsp指令

错误界面定制:

<%@ page errorpage="success.jsp" %><!--%@-->

包含其他页面:

<%@ include file %><!--%@-->

九大内置对象

  • session //存值在一个session中
  • request //存值在一次请求中
  • application //存值在当前项目
  • pageContext //存值当前页面
  • Response
  • config
  • jspContext
  • out //输出
  • page

jsp标签,jstl标签,EL表达式

使用之前要先导包


            javax.servlet.jsp.jstl
            jstl-api
            1.2

            taglibs
            standard
            1.1.2

el表达式:${ }

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象

jsp标签


jstl标签

弥补html标签的不足,它有许多自定义的标签

导入标签头才能使用该标签

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

在使用标签时遇到此问题

[javaweb]jsp,jstl,el表达式的使用

将jar包手动复制到tomcat服务器中

[javaweb]jsp,jstl,el表达式的使用

[javaweb]jsp,jstl,el表达式的使用

成功

[javaweb]jsp,jstl,el表达式的使用

核心标签

使用c开头


    Title

    name

javaBean

  • 必须有一个无参构造
  • 属性私有
  • 有对应的get、set

一般和数据库的表映射:字段映射属性!

表people

id name age 1 tata 18 2 meigu 17

@Data
public class people{
    private int id;
    private String name;
    private int age;

}

三层架构

model view controller

视图,模型,控制器

早期历史

  • servlet可以直接编辑crud,访问数据库,程序十分臃肿,不利于维护。

[javaweb]jsp,jstl,el表达式的使用

model:

  • 业务处理:业务逻辑(server)
  • 数据持久层:crud(dao)

view:

  • 展示数据
  • 提供连接发起servlet请求

controller:

  • 接受用户请求:(req:请求参数,session信息)
  • 交给业务层处理对应的代码
  • 控制视图的跳转

Original: https://www.cnblogs.com/lumanmanqixiuyuanxi/p/16512699.html
Author: 路漫漫qixiuyuanxi
Title: [javaweb]jsp,jstl,el表达式的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619481/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • visual studio 2015 IOS开发连接mac时提示错误couldn’t connect to xxxx, please try again的一个方法

    本人使用虚拟机MAC。原本使用虚拟机中的VS2015连接正常没有问题。 但是当把MAC的虚拟机文件COPY到另一个机器上,提示”couldn’t conne…

    数据库 2023年6月14日
    091
  • 并发编程学习

    Semaphore Semaphore 可以允许多个线程访问一个临界区。 应用:实现线程池 CountDownLatch 应用: 业务原始状态:一个线程执行查询订单,查询派送单,对…

    数据库 2023年6月16日
    099
  • 优雅的代码从现在开始

    个人见解: 写代码前 构思明白, 想明白,想全 写着写着都是在写相同的代码,改动麻烦 看到不好的就立马让他优雅 学习别人是如何优雅的 便于维护,避免重复代码,便于开发 提取公共函数…

    数据库 2023年6月11日
    095
  • 小米路由器3刷x-wrt分享

    准备工作 刷机有风险,操作需谨慎,建议使用备用路由器,以免与世隔绝。原文教程较为详细,因此本文就文件分享,及操作经验,具体请观看原文。 小米路由器3官方降级固件: http://b…

    数据库 2023年6月11日
    0101
  • SpringMVC完整版详解

    1.回顾MVC 1.1什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组…

    数据库 2023年6月16日
    081
  • Zabbix自带模板监控MySQL服务

    Zabbix的服务端与客户端的安装这里不再赘述了,前面也有相应的文章介绍过了,感兴趣的伙伴们可以看看历史文章就可以了,今天主要介绍下如何利用zabbix自带的模板来监控MySQL服…

    数据库 2023年6月9日
    0116
  • 没有 Cgroups,就没有 Docker

    Cgroups 是什么? Cgroups 是 control groups 的缩写,是 Linux 内核提供的一种可以 限制、 记录、 隔离进程组(progress groups)…

    数据库 2023年6月6日
    0116
  • Java中的命名规则

    在查找java命名规则时,未在国内相关网站查找到较为完整的文章,这是一篇国外程序开发人员写的java命名规则的文章,原文是英文写的,为了便于阅读,遂翻译为汉语,以便帮助国内开发者有…

    数据库 2023年6月11日
    094
  • MySQL45讲之查询慢或者阻塞

    前言 本文介绍了表锁定和执行速度慢的实例,以及表锁定时的故障排除方法。 [En] This paper introduces examples of table locking a…

    数据库 2023年5月24日
    0117
  • MySQL 主从同步延迟监控

    MySQL5.7和8.0支持通过 replication_applier_status 表获同步延迟时间,当从库出现延迟后,该表中的字段 REMAINING_DELAY 记录延迟秒…

    数据库 2023年6月11日
    0109
  • 容器化 | 在 Rancher 中部署 MySQL 集群

    我们已经介绍了如何在 Kubernetes 和 KubeSphere 上部署 RadonDB MySQL 集群。本文将演示如何在 Rancher[1] 上部署 RadonDB My…

    数据库 2023年5月24日
    0121
  • 【MySQL】MySQL的安装、卸载、配置、登陆和退出

    1 MySQL安装 安装环境:Win10 64位软件版本:MySQL 5.7.24 解压版 1.1 下载 https://downloads.mysql.com/archives/…

    数据库 2023年6月16日
    093
  • Redis限制一键登录次数

    一、产生背景 之前的随笔提到过项目中写了一键登录功能、上线后除了有时候网络波动会导致登陆失败,其他情况一直稳如老狗 しかし,邮件看到有人恶意刷一键登录,这年头闲的人可真闲啊,只能思…

    数据库 2023年6月6日
    097
  • 银河麒麟V10安装MySQL8028

    记一次成功安装MySQL8028到银河麒麟V10,并实现远程访问的方法 工具/原料 数据库下载地址(实验版如图): [En] Download address of the dat…

    数据库 2023年5月24日
    095
  • MySQL中如何选择合适的备份策略和备份工具

    ​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线。鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求。对于备份来说,…

    数据库 2023年6月11日
    086
  • 类加载器及其加载原理

    概述 在之前的文章”类的加载流程”讲了一个Class文件从加载到卸载整个生命周期的过程,并且提到”非数组类在加载阶段是可控性最强的”…

    数据库 2023年6月11日
    0113
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球