数据库的三大范式

第一范式:

实体中的属性不可再分,则此设计符合第一范式;(sid,sname,brith)

第二范式:

非主属性不能存在对码的传递依赖(son,con,cname,score),此表中,它的主属性是:son、con两个属性联合起来、每一个组成部分就是码,而课程名只能知道课程编号cno就可以推导出课程名。此存在非主属性部分依赖于主键,所以不符号第二范式.设计的表修改为两个表:课程表(cno,cname) 学生成绩表:(sno,cno,score);

第三范式:

非主属性不能存在对主属性的传递依赖:
emp(empno,ename,did,dname);
主属性是员工编号:empno
empnodiddname:此不符号第三范式,emp(empno,ename,did) dept(dno,dname)


乱码问题的解决:

如果是post提交的方式,使用一个过滤器,在过滤器的doFilter中对请求:
request.setCharacterEncoding(“utf-8”);
响应:
response.setCharacterEncoding(“utf-8”);
如果是get方法,看tomcat服务器的版本,tomcat8已经自解决了get方法的乱码,如果是tomcat8之前的版本,我们去conf/server.xml文件找到connector元素,加属性URIEncoding=”utf-8”统一解决.


Cookie和session的区别

cookie存储的是小文本的值,存储在客户端.
session可以存储文本,或其它的对象,存储的位置在服务器端.如果客户端的cookie没有被禁用,则客户端会以cookie的形式存储sessionid号.


hashSet怎么判断对象是否存在,存在的话是覆盖还是不加入?

两个方法来判断:equals方法hashcode方法.。存在不加入。


数据库优化

1,改数据库的配置、基于成本的,还是基于规则;
2,正确使用SQL语句,不使用 * 号查询全表,改为使用字段名。少用嵌套查询,改为连接。like查询时,前面不用%后面用%符号。把能过滤多条记录的条件放在后面,少使用or查询可以改为uniom查询。用exists取代in.
3,创建于使用索引。


mybatis如何不转义使用大于号和小于号,#和$的区别

语法格式:< ! [ CDATA [忽略检查的文本]]>
/#:安全的、占位符/预编译的意思。可以防止SQL注入攻击
$:不安全


equal()与==的区别

equal():
==:


ajax方法中的几个属性

XMLHttpRequest.status:状态:200、404、500
XMLHttpRequest.readyState:0:未初始化、1:载入、2:载入完成、3:交互、4:完成

关于readystate五个状态总结如下:

readyState--------状态--------状态说明
(0)未初始化
此阶段确认XMLHttpRequest对象是否创建,并为调用open()方法进行未初始化作好准备。值为0表示对象已经存在,否则浏览器会报错--对象不存在。
(1)载入
此阶段对XMLHttpRequest对象进行初始化,即调用open()方法,根据参数(method,url,true)完成对象状态的设置。并调用send()方法开始向服务端发送请求。值为1表示正在向服务端发送请求。
(2)载入完成
此阶段接收服务器端的响应数据。但获得的还只是服务端响应的原始数据,并不能直接在客户端使用。值为2表示已经接收完全部响应数据。并为下一阶段对数据解析作好准备。
(3)交互
此阶段解析接收到的服务器端响应数据。即根据服务器端响应头部返回的MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取的格式,为在客户端调用作好准备。状态3表示正在解析数据。
(4)完成
此阶段确认全部数据都已经解析为客户端可用的格式,解析已经完成。值为4表示数据解析完毕,可以通过XMLHttpRequest对象的相应属性取得数据。
概而括之,整个XMLHttpRequest对象的生命周期应该包含如下阶段:
创建-初始化请求-发送请求-接收数据-解析数据-完成

XMLHttpRequest.onreadystatechange:设置回调函数
XMLHttpRequest.responseText:取响应的文本
XMLHttpRequest.responseXML:取响应的xml对象


前端,js中,失去焦点和得到焦点的方法;

blur()focus()


Oracle中常用的函数,比如去重函数

to_date() to_char() row_number() next_day() to_number()


手写一条SQL查询语句,具体题目如下

1.手写一条SQL查询语句,具体题目如下

表名 :tab
字段    type       success
内容    01        “成功”
       01        “成功”
       02        “失败”
       02        “成功”

要求手写sql语句得到以下结果
Type   成功数   总数
01      2        2
02      1        2
select a.type,成功数,总数 from
(select type,count(*) as 总数 from tab group by type) a,
(select type,count(*) as 成功数 from tab where success=’成功’ group by type) b where a.type=b.type

JSP中九大内置对象为:

request--------请求对象----------类型 javax.servlet.ServletRequest----作用域 Request
response ------响应对象----------类型 javax.servlet.SrvletResponse----作用域 Page
pageContext---页面上下文对象----类型 javax.servlet.jsp.PageContext----作用域 Page
session--------会话对象---------类型 javax.servlet.http.HttpSession----作用域 Session
application----应用程序对象------类型 javax.servlet.ServletContext-----作用域 Application
out---------- 输出对象----------类型 javax.servlet.jsp.JspWriter-------作用域 Page
config--------配置对象----------类型 javax.servlet.ServletConfig------作用域 Page
page--------页面对象-----------类型 javax.lang.Object--------------作用域 Page
exception----例外对象-----------类型 javax.lang.Throwable----------作用域 page

Last modification:September 27th, 2019 at 01:44 pm
如果觉得不错,请随意赞赏