百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

SSH必备知识点-申精(ssh的基本使用)

sinye56 2024-09-22 08:37 4 浏览 0 评论

第一章

Oracle基本概念?

1、 数据库

2、 全局数据库名

3、 数据库实例

4、 表空间

5、 数据文件

6、 控制文件

7、 日志文件

8、 模是和模式对象

9、 数据字典

Oracle的数据类型?

1、 字符数据类型(char数据类型 var char数据类型 nchar数据类型)

2、 数值数据类型(number)

3、 日期时间数据类型(date数据类型 timestamp数据类型 )

4、 LOB数据类型(即"大对象"数据类型 CLOB BLOB BFILE NCLOB )

SQL语言有哪些?

1、 数据定义语言DDL(create创建 alter修改 truncate截断 drop删除)

2、 数据操纵语言DML(insert插入 select查询 delete删除 update更新)

3、 事务控制语言TCL(commit提交 savepoint保存点 rollback回滚)

4、 数据控制语言DCL(grant授予 revoke回收)

SQL操作符有哪些?

1、 算数操作符(+ - * /)

2、 比较操作符(= != < > <= >= betweent and IN LIKE ISNULL)

3、 逻辑操作符(AND与、OR或、NOT非)

4、 集合操作符(UNION联合、UNION ALL联合所有、INTERSECT交集、MINUS交集)

SQL函数有哪些?

单行函数 聚合函数 分析函数

1、 单行函数包括数字函数、日期函数、字符函数、转换函数、其他函数 转换函数。---(to_char()转换成字符串类型、to_date()转换成日期类型、to_numbers()转换成数值类型)其他函数如下:

(NVL(exp1,exp2) 如果第一个值为空,则返回第二个值否则返回第一个值)

(NVL(exp1,exp2,exp3)如果第一个值为空,则返回第三个值,否则返回第二个值)

(DECODE values,if1,then1,if2,then2…,else 如果value1值为1,则返回then1…)

2、 聚合函数avg、min、max、sum、count、

3、 分析函数(row_number、dense_rank、rank)

什么是Oracle的伪列?

1、 Oracle中的伪列就像一个表列,但是它并没有存储在表中

2、 伪列可以从表中查询,但不能插入、删除、更新数据


常用的伪列有哪些?

ROWID:是表中行的储存地址,该地址可以唯一标注数据库中的一行,可以使用rowid伪列快速定义表中的一行

ROWNUM:是查询返回结果集中行的序号,可以用它来限制查询返回的行数。

第二章

什么式表空间?

表空间是数据库逻辑结构的重要组件。表空间可以存放各种应用对象,如表、索引。每个表空间由一个或者多个数据文件组成


表空间的分类?

永久性表空间临时性表空间

撤销性表空间


什么是序列?

序列是用来创建生成唯一、连续的整数的数据库对象。序列通常用量自动生成主键或者唯一键的值,序列可按升序排列。


Oracle如何实现与用户管理?

系统自带的三个用户 授权 grant

1、 Sys用户 :超级用户

2、 System :系统管理员

3、 Scott :示范用户 普通用户


Oracle有几种同义词?区别是什么?

1、 私有同义词

2、 公有同义词

区别:私有同义词只能在当前模式下访问,且不能与当前模式的对象同名。

公有同义词可被所有的数据库用户访问。

同义词的用途?

1、 简化SQL语句

2、 隐藏对象的所有者和名称

3、 为分布式数据库的远程连接对象提供了位置透明性

4、 提供对对象的公共访问

什么是索引?

索引是与表关联的可选结构,是一种快速访问数据的方式。


索引的分类?

物理分类:

1、 分区或非分区索引

2、 B树索引

3、 正常或反向键索引

4、 位图索引

逻辑分类:

1、 单列或组合索引

2、 唯一或非唯一索引

3、 基于函数索引

什么是标的区?

Oracle允许用户把一个表的所有行分为几个部分,并把这些数据分别储蓄在不同的位置,被分区的表称为分区表,分区的每个部分称为一个分区。

简述Oracle数据库中分区表的作用?

1、改善表的查询性能

2、表更容易管理

3、便于备份和恢复

4、提高数据的安全性

第三章

简述类和表的映射关系?

首先在业务实体类中创建持久化类,之后创建相应的类映射文件:类名.hbm.xml 通过class和id标签 定义和数据库表的映射关系


使用hibernate增加记录的步骤有哪些?

1、 读取并解析配置文件及映射文件(Configuration conf=new Configuration().configure())

2、 依据配置文件和映射文件中的信息创建SessionFactory对象(SessionFactory sf=conf.buildSessionFactory())

3、 打开Session(Session session=sf.getCurrentSession();)

4、 开启一个事务(Transaction tx=session.beginTransaction())

5、 数据库操作(session.save(user)//保存操作)

6、 结束事务(tx.commit//提交事务)

7、 关闭session(sesson.close();)


Hibernate中java有几种状态

1、 瞬时状态

2、 持久状态

3、 游离状态

第四章

HQL是面向对象的查询语句 是对SQL的封装


使用占位符:

1、 按参数位置绑定:使用?占位符来实现

2、 按参数名称绑定:命名参数以:开头


Hibernate中如何实现分页的?

1、 使用聚合函数count()获取总记录数

2、 计算总页数:int totalPages=(count%pageSize==0)?(count/pageSize):(count/pageSize+1)

3、 实现分页


简述HQL投影查询时,对查询结果进行封装的几种情况?

1、 每条查询结果只包含一条结果列object

2、 每条查询结果包含不止一条结果咧object[]

3、 Javabean

第五章

什么是单向多对一关联和双向一对多关联?

单项多对一关联:如一个部门下有多个员工,而一个员工只属于一个部门

双向一对多关联:你中有我,我中有你,一个部门有多个员工, 多个员工用集合表示


Inverse属性的作用?

Inverse属性的值有两个,true和false,默认是false,inverse="false"的为主动方,主动方负责关联关系


什么延迟加载?

类级别的默认加载策略是延迟加载


第六章

HQL支持的常见连接类型?

1、 内连接:injor join或join

2、 迫切内连接:injor fetch或join fetch

3、 左内连接:left out join或left join

4、 迫切左外连接:left outer join fetch或left join fetch

5、 右外连接: right outer join 或rigth join


聚合函数有哪些?

1、 Count():统计记录数

2、 sum():求和

3、 min():最小值

4、 max():最大值

5、 avg():平均值


的查询关键字有哪些?

1、 all:只查询语句返回所有记录

2、 any:只查询返回任意一条记录

3、 some:与any意思一致

4、 in:与"=any"意思相同

5、 exist:只查询返回至少一条语句


操作集合的函数和属性?

Size()或size获取集合中那个元素目


数据库中得缓存使干啥用的?

一级缓存必须使用的,都有

二级缓存是将查询结果临时放在二级缓存中,要查的内容频繁使用,放在缓存中,再次使用的时候不需要再查询,只需要在缓存中拿来就可以了(提高效率,对经常使用的数据,健壮性)


使用hibernate查询优化策略?

1、使用延迟加载等方式避免加载多余数据

2、通过使用二级缓存,连接查询、查询缓存等方式减少查询语句

3、结合缓存机制,使用iterate()方法减少查询字段数及数据库访问次数


HQL优化

1、 避免使用or、not、like使用不当导致的失效

2、 注意使用having字句,distinct(去除重复行)导致的开销

3、 避免对索引字段使用函数进行计算导致的索引失效


第七章

1、Struts2是什么?

Strutc2是实现MVC模式的Web应用框架,以WebWork框架的设计思想为核心,吸取struts1的部分优点

Struct封装jsp、Servlet底层的数据

Struts1太依赖ServletAPI


Struts的优势?

1、 实现了MVC模式,层次结构清晰,使开发者专注与业务逻辑实现

2、 丰富的标签库提高开发效率(表达式语言访问数据库对象)

3、 基于AOP思想的拦截器机制降低业务间的耦合度

4、 通过配置文件就可以掌握系统间各部分间的关系

5、 更方便异常处理机制

6、 高扩展性


Struts的目录结构

1、Apps:官方提供的Struts2实例

2、docs:帮助文档

3、lib:发行包及依赖包(jar文件)

4、src:源代码


使用Strutc2开发程序的基本步骤

1、 加载Strutc2类库

2、 配置web.xml

3、 开发视图层页面

4、 开发控制层Action

5、 配置Struts.xml

6、 部署运行项目


S'truts标签分为UI标签和通用标签

UI标签有哪些:表单标签、非表单标签

通用标签有哪些:控制标签、数字标签

常用的控制标签有哪些:条件标签和迭代标签

条件标签有:<s:if>……</s:if>和<else:if>……</s:else if>和<s:else>……</s :else>--------根据表达式的值判断要执行的内容

迭代标签有:<s:iterator>……</s:iterator>用于遍历集合

常用的数据标签:propety、debug、action、bean、include、push、set、url


第八章

Struts2的核心控制器?

在web.xml中配置<filter>

<filter>

<filter-name>struts2</filter-name>

<filter-class>

org.apache.struts2.dispatcher.ng.filter.

StrutsPrepareAndExecuteFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>


简述Action的作用?

作为业务控制器,只负责返回结果,而不与视图相关联,这样的优势在于,当视图发生变化时,无需修改action代码,仅需修改配置文件即可

如何在struts中配置默认的Action?

<struts>

<package name="default" extends="struts-default">

<default-action-ref name="defaultAction" />

<action name="defaultAction">

<result>error.jsp</result>

</action>

</package>

</struts>


第九章

说说OGNL的中文名:

对象图导航语言

OGNL在框架中的作用?

开源项目,取代页面中的java脚本,简化数据访问

和EL同属于表达式语言,但功能更为强大1、表达式语言(将表单或Struts 2标签与特定的Java数据绑定起来,用来将数据移入、移出框架 )

2、类型转换 (数据进入和流出框架,在页面数据的字符串类型和Java数据类型之间进行转换)


为什么要进行类型转换?请输出struts2有哪些内置对象?

在基于HTTP协议的Web应用中

1、客户端请求的所有内容都以文本编码方式传输到服务器端

2、服务器端的编程语言却有着丰富的数据类型


什么是值栈?

由Struts 2框架创建的存储区域,具有栈的特点

Action的实例会被存放到值栈中


请说出在ActionContext中保存了哪些对象?

Application session ValueStack request attr parameters

可以通过哪个标签查看ActionContext中的对象?

<s:debug/>


第十章

简述struts2中处理http请求的全过程?

为什么说拦截器是struts2框架的核心?

Struts2的核心功能被放在拦截器中实现而不是集中在核心控制器中实现,每个拦截器完成一个功能,而完成这些功能的拦截器可以自由选择、灵活组合,需要什么拦截器,就在struts.xml中指定即可,增强的框架的灵活性。


Struts2有哪些自带的拦截器?

1、 params拦截器:将请求中的数据设置到action的属性上

2、 staticParams拦截器:

3、 servletConfig拦截器:将源于Servlet API的各种对象注入到Action

4、 fileUpload拦截器:实现文件上传

5、 validation拦截器:用于执行数据校验(校验框架进行校验)

6、 workflow拦截器:提供数据校验错误时终止执行流程的功能(调用Action类中的Validate(),执行数据校验)

7、 execption拦截器:用于捕获异常


简述创建自定义拦截器的步骤?

1、 实现interceptor接口

(1):初始化拦截器的所有资源:void init()

(2):释放在init()中分配的资源

(3):String intercept(ActionInvocation ai) throws Exception

实现拦截器功能

利用ActionInvocation参数获取Action状态

返回结果码(result)字符串

2、继承AbstractInterceptor类

提供了init()和destroy()方法的空实现

只需要实现intercept方法即可


使用Struts 2框架实现文件上传时需要添加哪几个jar文件?

commons-fileupload-x.x.x.jar

commons-io-x.x.x.jar

相关推荐

RHEL8和CentOS8怎么重启网络

本文主要讲解如何重启RHEL8或者CentOS8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL8或者CentOS8,重启启动网络时,会出现以下报错:...

Linux 内、外网双网卡路由配置

1.路由信息的影响Linux系统中如果有多张网卡的情况下,如果路由信息配置不正确,...

Linux——centos7修改网卡名

修改网卡名这个操作可能平时用不太上,可作为了解。修改网卡默认名从ens33改成eth01.首先修改网卡配置文件名(建议将原配置文件进行备份)...

CentOS7下修改网卡名称为ethX的操作方法

?Linux操作系统的网卡设备的传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的...

Linux 网卡名称enss33修改为eth0

一、CentOS修改/etc/sysconfig/grub文件(修改前先备份)为GRUB_CMDLINE_LINUX变量增加2个参数(net.ifnames=0biosdevname=0),修改完成...

CentOS下双网卡绑定,实现带宽飞速

方式一1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0IPADDR=191.3.60.1NETMASK=255.255.2...

linux 双网卡双网段设置路由转发

背景网络情况linux双网卡:网卡A(ens3)和网卡B(...

Linux-VMware设置网卡保持激活

Linux系统只有在激活网卡的状态下才能去连接网络,进行网络通讯。修改配置文件(永久激活网卡)...

VMware虚拟机三种网络模式

01.VMware虚拟机三种网络模式由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有v...

Rocky Linux 9/CentOS Stream 9修改网卡配置/自动修改主机名(实操)

推荐...

2023年最新版 linux克隆虚拟机 解决网卡uuid重复问题

问题描述1、克隆了虚拟机,两台虚拟机里面的ip以及网卡的uuid都是一样的2、ip好改,但是uuid如何改呢?解决问题1、每台主机应该保证网卡的UUID是唯一的,避免后面网络通信有问题...

Linux网卡的Vlan配置,你可能不了解的玩法

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。例如在一个办公环境中,办...

Centos7 网卡绑定

1、切换到指定目录#备份网卡数据cd/etc/sysconfig/network-scriptscpifcfg-enp5s0f0ifcfg-enp5s0f0.bak...

Linux搭建nginx+keepalived 高可用(主备+双主模式)

一:keepalived简介反向代理及负载均衡参考:...

Linux下Route 路由指令使用详解

linuxroute命令用于显示和操作IP路由表。要实现两个不同子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该...

取消回复欢迎 发表评论: