首页 > 其他分享 >2024/11/13日 日志 代码优化 以及 JSP 的快速入门、原理、脚本、缺点 和 EL表达式 以及 JSTL标签

2024/11/13日 日志 代码优化 以及 JSP 的快速入门、原理、脚本、缺点 和 EL表达式 以及 JSTL标签

时间:2024-11-14 20:21:02浏览次数:1  
标签:11 13 Java -- 标签 代码 代码优化 JSP 页面

代码优化
-- 创建 SqlSessionFactory 代码优化

点击查看代码
-- //2.1 获取SqlSessionFactory对象
-- String resource ="mybatis-config.xml";
-- InputStream inputStream = Resources.getResourceAsStream(resource);
-- SqlsessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputstream).

-- 问题:
-- 1.代码重复
-- 2.SqlSessionkactory 工厂只创建一次,不要重复创建 :静态代码块

JSP

点击查看代码
-- JSP
-- 概念:Java Server Pages,Java服务端页面
-- 一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容
-- JSP = HTML + Java
-- JSP的作用:简化开发,避免了在Servlet中直接输出HTML标签
-- 
-- JSP 快速入门
-- 1.导入JSP坐标
-- <dependency><groupld>javax.servlet.jsp</groupld><artifactld>jsp-api</artifactld><version>2.2</version>
-- <scope>provided</scope>
-- </dependency>
-- 2.创建JSP文件
-- 3.编写 HTML标签 和 Java代码
-- <body>
-- <h1>hello jsp~</h1>
-- System.out.printf("jsp hello~");%></body>
--
-- JSP 原理
-- ·概念:Java Server Pages,Java服务端页面
-- ·JSP =HTML+Java,用于简化开发的
-- ·JSP 本质上就是一个 Servlet
-- 外提供服务的其实就是这个字节码文件
-- ·JSP 在被访问时,由JSP容器(Tomcat)将其转换为 Java文件(Servlet),
-- 在由JSP容器(Tomcat)将其编译,最终对外提供服务的其实就是这个字节码文件
--
-- JSP 脚本
-- JSP脚本用于在 JSP页面内定义 Java代码
-- JSP 脚本分类
	-- <%...%>:内容会直接放到 jspService()方法之中
	-- <%=...%>:内容会放到out.print()中,作为out.print()的参数
	-- <%!...%>:内容会放到 jspService()方法之外,被类直接包含
	-- 
	-- JSP 缺点
-- 由于 JSP页面内,既可以定义 HTML 标签,又可以定义 Java代码,造成了以下问题
-- 1. 书写麻烦:特别是复杂的页面
-- 2.阅读麻烦
-- 3.复杂度高:运行需要依赖于各种环境,JRE,JSP容器,JavaE.
-- 4.占内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行的是.class文件占内存
-- 5.调试困难:出错后,需要找到自动生成的.java文件进行调试
-- 6.不利于团队协作:前端人员不会 Java,后端人员不精 HTML5
-- 
-- 不要直接在JSP里写Java代码
-- Servlet
-- 逻辑处理,封装数据
-- JSP
-- 获取数据,遍历展现数据
-- 

EL表达式

点击查看代码
-- EL表达式
-- EL 表达式
-- Expression Language 表达式语言,用于简化JSP页面内的Java代码
-- 主要功能:获取数据
-- 语法:${expression}
-- ${brands}获取域中存储的key为brands的数据
--  
-- EL 表达式
-- 	·Expression Language 表达式语言,用于简化 JSP页面内的Java代码
-- ·主要功能:获取数据
-- ·语法:${expression}
-- 	·  ${brands}   :获取域中存储的key为brands的数据
-- ·JavaWeb中的四大域对象:
-- 	page:当前页面有效1
-- 	request:当前请求有效2.
-- 	session:当前会话有效
-- 	application:当前应用有效A
-- 	
-- el表达式获取数据,会依次从这4个域中寻找,直到找到为止
--

JSTL标签

点击查看代码
-- JSTL 标签
-- JSP标准标签库(Jsp Standarded Tag Library),使用标签取代JSP页面上的Java代码
-- 如:
-- <c if> 与我们在一般程序中用的if一样
-- <c forEach> 基础迭代标签,接受多种集合类型
-- 
-- <c:if test="${flag == 1}">男
-- </c:if>
-- <c:if test="${flag == 2}">
-- 女
-- </c:if>
--
-- JSTL 快速入门
-- 1.导入坐标
-- <dependency>
-- <groupld>jstl</groupld>
-- <artifactld>jst</artifactld>
-- <version>1.2</version> 
-- </dependency><dependency>
-- <groupld>taglibs</groupld>
-- <artifactld>standarg</artifactld>
-- <version>1.1.2</version>
-- </dependency>
-- 2 在JSP页面上引入JSTL标签库
-- <%@ taglib prefix="c" uri="http://iava.sun.com/isp/istl/core” %>
-- 3.使用
-- <c:if>
-- 
-- JSTL 标签
-- <c:forEach>:相当于 for 循环
-- items:被遍历的容器
-- var:遍历产生的临时变量
-- <c:forEach items="${brands}" var="brand">
-- <tr align="center"><tdk$fbrand.id}</td><td>${brand.brandName}</td>
-- <td>${brand.companyName}</td><td>${brand.description}</td>
-- </tr>
-- 
-- for (Brand brand : brands)
-- {Integer id = brand.getld();String imgUrl = brand.getlmgUrl();String brandName = brand.getBrandName();String companyName = brand.getCompanyName();}
-- </c:forEach>
--
-- begin:开始数
-- end:结束数
-- step:步长
-- <c:forEach begin="0" end="1" step="1" var="i">$册</c:forEach>
-- for (inti= 0;i<= 10; i++){System.out.println(i);
--

标签:11,13,Java,--,标签,代码,代码优化,JSP,页面
From: https://www.cnblogs.com/MoonbeamsC/p/18542474

相关文章

  • 11月13日总结
    今天学习了搜索算法比较难也比较麻烦搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。现阶段一般有枚举算法、深度优先搜索、广度优先搜索、A*算法、回溯算法、蒙特卡洛树搜索、散列函数等算法。在大规模实验环境......
  • 241114 noip 模拟赛
    省流:\(90+100+20+10\)。t1t2花太久时间了。T1题意:给一张\(n\timesm\)的网格图,\((x,y)\)与\((x+1,y)\)的边为\(a_x+b_y\),\((x,y)\)与\((x,y+1)\)的边为\(c_x+d_y\)。求这张图的最小生成树的边权和。\(n,m\leq10^6\)。稍微画图注意到,一个点一定跟它......
  • 11.13机器学习_贝叶斯和决策树
    八朴素贝叶斯分类1贝叶斯分类理论假设现在我们有一个数据集,它由两类数据组成,数据分布如下图所示:我们现在用p1(x,y)表示数据点(x,y)属于类别1(图中红色圆点表示的类别)的概率,用p2(x,y)表示数据点(x,y)属于类别2(图中蓝色三角形表示的类别)的概率,那么对于一个新数据点(x......
  • 2024/11/14日 日志 关于 MVC 分层开发模式
    MVC是一种分层开发的模式,是我们在完成项目时常用的开发模式。点击查看代码--MVC模式--MVC是一种分层开发的模式,其中:--M:Model,业务模型,处理业务--V:View,视图,界面展示--C:Controller,控制器,处理请求,调用模型和视图----MVC好处--职责单一,互不影响--有利于分......
  • 11.12机器学习_特征工程
    四特征工程1特征工程概念特征工程:就是对特征进行相关的处理一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,比如:字典特征提取(特征离散化)、文本特征提取、图像特征提取。......
  • 项目冲刺11.14
    这个作业属于哪个课程计科22级34班这个作业要求在哪里作业要求这个作业的目标进行为期七天的项目冲刺并记录前言本篇博客是项目冲刺的第六篇,七篇博客的汇总如下:博客汇总第一篇博客第二篇博客第三篇博客第四篇博客第五篇博客第六篇博客......
  • [原创]手把手教学之前端0基础到就业——day11( Javascript )
    文章目录day11(Javascript)01Javascript①Javascript是什么②JavaScript组成③Javascript的书写位置1.行内式(不推荐)2.内部位置使用(内嵌式)3.外部位置使用(外链式)02变量1.什么是变量2.定义变量及赋值3.注意事项4.命名规范03输入和输出1)输出形式1......
  • 用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的
    深度学习环境的配置过于繁琐,所以我制作了两个基础的镜像,希望可以帮助大家节省时间,你可以选择其中一种进行安装,版本说明:base版本基于pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认python版本为3.11.10,可以通过condainstallpython==版本号直接修改版本。dl版......
  • 2024/11/14
    修改数组(蓝桥杯)分数20作者liudan单位石家庄铁道大学给定一个长度为N的数组A=[A1,A2,⋅⋅⋅AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2,A3,⋅⋅⋅,AN。当修改Ai时,小明会检查Ai是否在A1∼Ai−1中出......
  • 2024.11.14随笔&联考总结
    前言今天联考直接炸纲了。但是不得不说:HEZ的题要比BSZX好多了。联考今天联考题说实话难度应该比较适合我。第一题是推结论的题,我赛时20min想出正解,但是有两个细节没有考虑清楚,导致后来调题调了一个多小时,然后经典开警告但是不看秒了,期望得分100pts,实际0pts。原因bool......