3.19-3.23周总结

Oracle19c upgrade-19.3升级到19.23 OPatch版本是12.2.0.1.43高于12.2.0.1.41,可以使用。1、OPatch 工具版本不低于12.2.0.1.41。4、新版本OPatch版本是12.2.0.1.43。2、MOS文档建议备份ORACLE_HOME目录。2、RAC环境可以在线滚动安装补丁。3、单实例环境,需要关闭实例和监听。1、ADG环境主备都需要安装补丁。3、替换OPatch目录。1、补丁冲突检测与解决。 阅读详情

本周我们在结束了JAVA基础知识学习的基础上,主要学习了JDBC以及JSP基础知识部分的学习。

学会了用Eclipse链接数据库并进行数据的增删改查,也实现了运用eclipse编写简单的web运用读取数据库信息。

1.JDBC中的通用格式

package daoImpl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author 青鸟 数据库操作基类
 */
public class DBHelper {
	// 创建连接对象
	Connection conn = null;
	// 创建PreparedStatement对象
	PreparedStatement pstmt = null;
	// 创建结果集ResultSet
	ResultSet rs = null;
	// 数据库驱动
	public final static String DRIVER = "com.mysql.jdbc.Driver";
	// url
	public final static String URL = "jdbc:mysql://localhost:3306/book";
	// 数据库用户名
	public final static String DBNAME = "root";
	// 数据库密码
	public final static String DBPASS = "";

	/**
	 * 获取数据库连接
	 * 
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 *             Connection
	 */
	public Connection getConn() throws ClassNotFoundException, SQLException {
		try {
			// 注册驱动
			Class.forName(DRIVER);
			// 获得数据库连接
			conn = DriverManager.getConnection(URL, DBNAME, DBPASS);
		} catch (Exception e) {
			e.printStackTrace();
		}
		// 返回连接
		return conn;
	}

	/**
	 * 释放资源
	 * 
	 * @param conn
	 *            数据库连接
	 * @param pstmt
	 *            PreparedStatement对象
	 * @param rs
	 *            结果集
	 */
	public void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs) {

		/* 如果rs不空,关闭rs */
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		/* 如果pstmt不空,关闭pstmt */
		if (pstmt != null) {
			try {
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		/* 如果conn不空,关闭conn */
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 查询
	 * 
	 * @param sql
	 *            预编译的 SQL 语句
	 * @param param
	 *            预编译的 SQL 语句中的‘?’参数的字符串数组
	 * @return 影响的条数
	 */
	public ResultSet executeQuerySQL(String preparedSql, Object[] param) {

		/* 处理SQL,执行SQL */
		try {
			// 得到数据库连接
			conn = getConn();
			// 得到PreparedStatement对象
			pstmt = conn.prepareStatement(preparedSql);
			if (param != null) {
				for (int i = 0; i < param.length; i++) {
					// 为预编译sql设置参数
					pstmt.setObject(i + 1, param[i]);
				}
			}
			// 执行SQL语句,获取结果集ResultSet
			rs = pstmt.executeQuery();
		} catch (ClassNotFoundException e) {
			// 处理ClassNotFoundException异常
			e.printStackTrace();
		} catch (SQLException e) {
			// 处理SQLException异常
			e.printStackTrace();
		}
		return rs;
	}

	/**
	 * 增、删、改的操作,不能执行查询
	 * 
	 * @param sql
	 *            预编译的 SQL 语句
	 * @param param
	 *            预编译的 SQL 语句中的‘?’参数的字符串数组
	 * @return 影响的行数
	 */
	public int executeSQL(String preparedSql, Object[] param) {
		// 创建连接对象
		Connection conn = null;
		// 创建PreparedStatement对象
		PreparedStatement pstmt = null;
		// 创建并初始化返回值
		int num = 0;

		/* 处理SQL,执行SQL */
		try {
			// 得到数据库连接
			conn = getConn();
			// 得到PreparedStatement对象
			pstmt = conn.prepareStatement(preparedSql);
			if (param != null) {
				for (int i = 0; i < param.length; i++) {
					// 为预编译sql设置参数
					pstmt.setObject(i + 1, param[i]);
				}
			}
			// System.out.println(preparedSql);
			// 执行SQL语句,获得影响行数
			num = pstmt.executeUpdate();
		} catch (ClassNotFoundException e) {
			// 处理ClassNotFoundException异常
			e.printStackTrace();
		} catch (SQLException e) {
			// 处理SQLException异常
			e.printStackTrace();
		} finally {
			// 释放资源
			closeAll(conn, pstmt, null);
		}
		return num;
	}
}

2.JSP:Java Server Page(java服务器页面),是一个动态的网页技术标准。

3.Tomcat 是个 Web 容器,对外提供获取 Web 资源的服务,在其容器中可以管理静态的 Web 资源,除此之外,还可以解析 JSP 文件,将其解析为 Web 静态资源,供浏览器访问,与 Web 服务器相比,它更加的轻量级。

4.Scriptlet

<%%>

可以包裹任意的 Java 代码

<%=%>

直接输出内容,一般其中可以是变量、表达式,注意这种 Scriptlet 后面是没有结束符号 ; 的。

<%!%>

在此内部定义变量、定义方法、定义类等,现在不用了。


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="head.jsp" %>
<h1>content</h1>
<%@include file="foot.jsp" %>

<jsp:include />



5.Page 指令

ContentType 和 pageEncoding

定义页面的流模式和字符编码方式
<%
	String str = "HELLO";
%>
<jsp:include page="head.jsp"></jsp:include>
<h1><%=str %>,CONTENT</h1>
<jsp:include page="foot.jsp"></jsp:include>
<%
	String ageStr = request.getParameter("age");
	String name = request.getParameter("name");
	int age = Integer.valueOf(ageStr);
	if (age < 18) {
%>
	<jsp:forward page="n18.jsp?name=<%=name %>"/>
<%
	} else {
%>
	<jsp:forward page="y18.jsp">
		<jsp:param value="<%=name %>" name="name"/>
	</jsp:forward>
<%
	}
%>

6.

静态包含 include

include 是包含页面的指令,属于静态页面引入。

页面引入的好处在于:可以把多个页面共同的部分抽象出来定义。

<%@include file="head.jsp" %>
<h1>content</h1>
<%@include file="foot.jsp" %>

动态包含

<jsp:include />

<%
	String str = "HELLO";
%>
<jsp:include page="head.jsp"></jsp:include>
<h1><%=str %>,CONTENT</h1>
<jsp:include page="foot.jsp"></jsp:include>

在实际的开发中,我们一般都是用动态的引入。

7.

跳转指令

在之前学习的跳转中,都是客户端浏览器发起的页面跳转,可以 A 标签、Submit按钮提交、或者 JavaScript 脚本去完成。

jsp:forward

使用 jsp:forward 进行服务器端的页面跳转。

<%
	String ageStr = request.getParameter("age");
	String name = request.getParameter("name");
	int age = Integer.valueOf(ageStr);
	if (age < 18) {
%>
	<jsp:forward page="n18.jsp?name=<%=name %>"/>
<%
	} else {
%>
	<jsp:forward page="y18.jsp">
		<jsp:param value="<%=name %>" name="name"/>
	</jsp:forward>
<%
	}
%>

jsp:forward 属于服务器内部的请求跳转,不会在浏览器的地址栏留下任何跳转的痕迹。

ps:

地址栏不改变的跳转属于服务器跳转;

地址栏改变的跳转属于客户端跳转;

一般使用服务器端的跳转进行业务逻辑的处理,完成目标视图的输出。



基于龙蜥Anolis os 23 6.1内核安装ORACLE 19C 龙蜥 anolis os ,自有版本,anolis os 23,linux 内核6.1 ,ORACLE 19c ,这些加到一起,是否能成功呢,答案是肯定的,详情请见文内步骤。 阅读详情

相关推荐

OPatch安装补丁将Oracle 19.3升级到19.23

OPatch安装补丁将Oracle 19.3升级到19.23

多学习,多总结 891

JDBC(五)——Resultset结果集

1.Resultset结果集的引入; 当我们查询数据库时,返回的是一个二维的结果集,我们这时候需要使用ResultSet来遍历结果集,获取每一行的数据; 2.使用ResultSet来遍历查询结果 (1)boolean next()将光标从当前位置向前移一行; 返回的是boolean类型,若当前行(初始指向第一行)有效,则返回true; (2)获取数据的方法; ...

程序员的时光 1720

openEuler操作系统下静默安装Oracle19c

openEuler-23.09上静默安装Oracle19c,创建非容器数据库实例

zxrhhm的博客 1999

JDBC之——ResultSet结果集

一、ResultSet结果集的引入 当我们查询数据库时,返回的是一个二维的结果集,我们这时候需要使用ResultSet来遍历结果集,获取每一行的数据。   二、使用ResultSet遍历查询结果 boolean next()将光标从当前位置向前移一行。 String getString(int columnInex) 以Java编程语言中String的形式获取此ResultSet对象的当...

weixin_39941298的博客 675

NVIDIA 2025 Board Design Engineer 校招笔试

电路分析,矩形波阶跃反馈驱动​,误差信号。非常简单,数电or​离散基础。第一题是考试规矩知情确认。大二暑假做的,纯体验​。五六题太长,下篇分享。

m0_74253823的博客 1124

高杂合度基因组组装实战:Hifiasm参数调优与purge_dups过滤效果对比(附猪毛菜案例)

本文深入探讨了高杂合度基因组组装中Hifiasm参数调优与purge_dups过滤的实战效果对比,通过猪毛菜案例详细解析了两种方法的适用场景与优化策略。文章重点分析了purge_dups在contig过滤中的显著效果,为基因组组装提供了关键的技术参考。

weixin_29232121的博客 495

ResultSet结果集

一、概述 在最近开发的文件上转上转功能,使用到JDBC进行操作数据库。在查询数据重使用到ResultSet结果集类与ResultSetMetaData 类。Resultset主要用于接收JDBC查询语句返回的数据集对象,而ResultSetMetaData 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。 二、使用 ResultSet 的使用 ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 String getcommodityd...

随缘的博客 9484

旋转矩阵推导

推导前提: 坐标使用右手坐标系,角度逆时针旋转为正。 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一、平面二维坐标点的旋转 如右图所示,根据三角函数关系,可以列出向量OP与OP’的坐标表示形式: x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |OP|•sin(α+β) 将P′(x′,y′)表达式展开: x′ =

suixinger_lmh的随笔 1384

JDBC完全解析

前言以前做项目的时候用到了JDBC操作mysql数据库,后面百度面试问到数据库的时候又忘了,最近几天把项目重新看了一遍,查了相关的文章把JDBC做一个总结。JDBC的结构JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此

有图有真相 3196

2024高校网络安全管理运维赛题目--复现+题目+wp

官方writeup集思广益比较好的备份。

书山有路勤为径,学海无涯苦作舟 1319

智能座舱测试工程师必看:从零搭建自动化测试框架的5个实战技巧

本文为智能座舱测试工程师提供从零搭建自动化测试框架的5个实战技巧,涵盖环境搭建、ADB高级应用、Python脚本工程化、Monkey测试优化及性能调优。通过ADB深度操作和Python脚本封装,帮助测试人员构建高可复用的智能座舱测试解决方案,显著提升测试效率与问题发现率。

python9snake的博客 631

oracle 19.23 Patch发布

从2018年开始Oracle 更新了版本的命名规则,原本的12.2.0​.2被命名为18C,之后12C的长期支持版本被命名为19C(本来为12.2.0.3),之后又在2021发布了过渡版本21C,以及大家等待已久的oracle 23C。按照惯例23C应该在2023年10月中旬发布,但是可能是23C被赋予了太多的期望,增加了太多新功能,导致发布日期一延再延​;昨天会后和O记的员工求证23C​何时发布?----------------历史文章推荐------------------

xiaofan23z的专栏 2882

操作系统|知识梳理|复习(下)

操作系统复习

知识库搭建ing 1784

欧拉LINUX 23.09版本上安装ORACLE 19c

欧拉 Euler linux 能安装ORACLE 19c吗,可以的,Euler linux 最新的版本 23.09上都可以安装ORACLE 19c,不过要求是19.19以上版本。

cqsztech的博客 4652

HQChart实战教程54:Renko砖形K线图实现详解

Renko图(砖形图)起源于日本,只关注价格变动而忽略时间和成交量因素: 2.2 算法说明 初始化:使用第一根K线的收盘价创建第一个砖块 变动检测:计算当前价格与最后一个砖块的差值 砖块生成: 当价格变动≥砖块大小时,生成新砖块 当价格变动不足时,更新当前砖块的高低价 方向判断:根据价格变动方向确定砖块颜色 三、完整实现代码 四、Renko图的高级应用 4.1 动态砖块大小调整 4.2 Renko交易策略 三砖反转策略:趋势跟踪策略:本文详细介绍了Renko图的实现原理和在HQChart中的应

QQ_778132974的博客 872

数字盲水印嵌入和提取的实现基于小波变换DWT算法

数字盲水印是指在不知道原始图像的情况下,在其上嵌入水印并在后续的提取过程中能够恢复出原始水印的一种技术。本文介绍的数字盲水印嵌入和提取的实现方法基于小波变换DWT算法。具体来讲,DWT将信号或图像进行二次下采样和卷积滤波,使得高频分量的图像信息被集中在一个小区域内,方便进行嵌入和提取操作。其中 a 表示嵌入强度,而 watermark 则是用于嵌入的水印图像,这里我们嵌入的是一个全灰的图像。通过以上的代码,我们可以实现数字盲水印的嵌入和提取,并在一定程度上保护数字图片的版权安全。

HackWhisper的博客 510

RU 19.23 安装

问题2 : resume打补丁过程,报错,发现一些文件被$ORACLE_HOME占用了,不使用resume方式打补丁,重新打补丁(会重新开一个补丁会话), 问题消失。问题3 : 在给oracle用户的ORACLE_HOME安装RU的时候,下班要带走测试电脑,中断补丁过程,随后再次resume,可以正常打补丁。此过程出现错误,查看log,原因为RU中的一些文件无法读取,修复后,resume继续补丁,产生新的问题,fuser命令查看一些文件被占用。-- 错误log, log中显示,找不到一些文件。

文档搬运工 1370

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Oracle RAC 19c 打补丁至最新版本-19.23.0.0.0

由于测试环境内存很小,一个节点执行这个步骤我这跑了近五个小时,生产环境上线的时候只跑了大概十分钟左右,整个步骤没有任何问题。其实打完GI理论上就不用打DB了,但是很多打补丁都是GI和DB都打,我打DB也成功了,所以就都打了。验证Oracle Inventory的有效性,分别用grid,oracle用户验证。升级OPatch,两个节点都要升级,首先需要备份原来的OPatch。用户权限这样不行,很奇怪只有在家目录才能解压,给了权限也不行,升级oracle的OPatch,在两个节点。

dnuiking的博客 2983

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Kubernetes跨版本升级-1.19到1.23

Kubernetes是不可以进行跨版本升级的,只能一个版本一个版本的升级,本文从1.19版本升级到1.23版本。升级 kubeadm 集群 | Kubernetes在升级过程中可能会影响到系统正常使用,建议抽一段相对空闲的时间升级,尽可能将升级的影响成都降到最低。在升级前最好将重要的配置文件做一个备份,尤其是控制节点的配置文件、kubelet的配置文件,同时建议将etcd数据库也做备份。

qq_31780011的博客 1775

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Python3.9 dlib19.23包 直接安装版本

Python3.9 dlib19.23包 直接安装版本 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了适用于Python3.9版本的dlib19.23包的Windows安装文件。以下是安装步骤: 使用pip命令直接安装:pip install dlib-19.23.0-cp39-cp39-win_amd64 该资源文件经过测试,确保能够在您的系统中顺利安装。无需...

gitblog_06711的博客 365

MongoDB升级经历(4.0.23至5.0.19)

为了解决MongoDB的两个漏洞决定把MongoDB升级至最新版本,期间也踩了不少坑,在这里分享出来供大家学习与避坑~

laizhenghua的博客 4402

Python3.9dlib19.23包直接安装版本:高效人脸识别工具

Python3.9dlib19.23包直接安装版本:高效人脸识别工具 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代机器学习和计算机视觉领域,dlib库以其强大的人脸识别和图像处理能力而广受欢迎。本项目提供了一个适用于Python3.9版本的dlib19.23包的Windows安装文件,让用户能够轻松安装并使用这一强大的工具。以下是安装步骤,仅需一行pip命令即...

gitblog_06762的博客 419

C/C++实训专周可选项目(23题)[2023-12-19]

【问题描述】现有若干个班级的学生,进行下学期课程的选课,假设已经通过文件储存了选课内容的文件,文件中包括7门课(课程内容由学生自己定) 第i门课程的接纳的学生数为10×i,i为课程的序号,如第一门课的接纳的学生数为10×1,第二门课为10×2,…航班信息(编号,出发地点,到达地点,出发日期时间,到达日期时间,航空公司名称,机型(决定人数),商务仓价格,头等仓价格,经济仓价格)菜(编号,类别编号,名称,价格,主料)(例:101,1,回锅肉,20,五花猪肉)102,1,锅巴肉片,25,猪瘦肉和小米锅巴)

程序设计 1251

Oracle 19c vs 21c vs 23c:如何选?

Oracle数据库19c、21c、23c版本性能表现差异主要体现在应用场景适配性上。19c作为长期支持版本,稳定性最佳,适合核心生产系统;21c作为创新版本,在JSON处理等特定场景性能突出但支持周期短;23c强化云原生特性,面向未来但生产验证不足。建议核心业务首选19c,创新业务可考虑21c,23c目前仅推荐用于开发测试。版本选择需综合业务需求、技术特性和支持周期进行权衡。

chinafsb的专栏 1168

银河麒麟 Kylin V10 SP3 一键安装 Oracle 19C RAC

Oracle 一键安装脚本,演示 麒麟 Kylin V10 SP3 一键安装 Oracle 19C RAC(19.23)过程(全程无需人工干预)。脚本下载地址。

LuciferLiu_DBA 1851
上一篇: JSP中静态包含与动态包含的区别
下一篇: 20180323
Coldzerace
博客等级 码龄9年 3粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值