date和datetime的区别:
date类型单独是指日期,datetime是指日期和时间
2,EL表达式
在jsp页面中,使用el表达式获得属性的值,例如${o.name},原理是通过类中属性的getter和setter方法进行的,假设o为一个User对象,而User对象又是Person对象的一个属性,${o.name}取值的过程是相当于getUser().getName();分别通过Person和User对象中的getter方法获得值。同理,通过EL表达式设置的值的时候调用的是setter方法。例如<td>${o.name}</td>
3.在java文件中取session值
User user=(User) ActionContext.getContext().getSession().get("user");
4.
JSTL 获取当前时间
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
- <jsp:useBean id="now" class="java.util.Date" />
- <fmt:formatDate value="${now}" type="both" dateStyle="long" pattern="yyyy-MM-dd" />
5.SQL ResultSet rs;rs默认指向第一行的前面,所以在执行next之前,通过rs.getString(1)等方法是取不出值的。
6,RestsultSet 关闭问题:
当遇到我们通过一个Statement的executeQuery()得到一个ResultSet对象时候,如果在遍历这个ResultSet期间想再次使用Statement执行另一个SQL,其一是另一个SQL用Statement2(新产生的Statement对象)执行,其二是把ResultSet对象里面的值放到一个集合中,然后遍历集合,此时因为ResultSet是没用的,所有Statement可以使用;
ResulstSet rs1;
while (rs1.next()) { old_status = rs1.getString("status"); number=rs1.getString("number");
if (!(old_status.equals(status))) { String sqlinsert = "insert into taxi_status_history values('" + id + "','" + old_status + "','" + status + "','" + longitude + "','" + latitude + "','" + strDate + "','"+number+"')"; linker.executeUpdate(sqlinsert);//执行到这个地方的时候就会报ResultSet关闭问题,因为在对ResultSet遍历的过程中不能再去执行其他的更新或者查询操作,此时若想用rs1里面的东西,可以将ResultSet遍历完放入一个list中,在遍历list来获得想要的值 } else { logger.info("状态没有改变!"); }
}
7.浮点数相加bug
<script type="js/javascript">
parentId=0.255;
parentId= parentId+0.001;//此时相加的值为0.256999999
parentId=Number(parentId.toFixed(3)) ;//浮点数相加bug解决,
// alert(parentId3);
</script> 8.sql语句中查询带通配符的数据,如下划线 星号等
# %代表任意多个字符
select * from user where username like '%huxiao';
select * from user where username like 'huxiao%';
select * from user where username like '%huxiao%';
# _代表一个字符
select * from user where username like '_';
select * from user where username like '______';
select * from user where username like 'huxia_';
select * from user where username like 'h_xiao';
# 如果我就真的要查%或者_,怎么办呢?使用escape,转义字符后面的%或_就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用
select username from gg_user where username like '%xiao\_%' escape '\';
select username from gg_user where username like '%xiao\%%' escape '\';
通常使用'\'来做转义字符,但是也可以使用其他的符号
9.sql union 与union all当数据库表中存有相同的数据,但只有类型type不同,现在需要把这类数据都查出来,可以用union或者union allselect apk_version , apk_type from (select top 1 apk_version , apk_type from apk_versionwhere apk_type = 2 and deleted = 0and current_apk = 1 order by id desc ) passengerunion all select apk_version , apk_type from (select top 1 apk_version , apk_type from apk_versionwhere apk_type = 1 and deleted = 0and current_apk = 1 order by id desc) driver区别:union 对两个结果集(也可以使多个)进行合并时,同时进去去重和排序的操作。而union all 则将所有结果合并,包含重复项,不排序。必须保证union、union all 前后两个结果集中对应列的类型一样,列名可以不同,以第一个列的名字作为最终结果列名。intersect :对两个结果集进行交操作,不去重,默认排序;minus:对两个结果集进行差操作,不去重,默认排序。 可以在最后一个结果集中指定Order by子句改变排序方式。10.jquery 解析发送ajax请求后返回的json数组$.ajax({ type : "POST", url : "getOneTaxi.action", dataType:"json", data : "number=" + number+"&flag=" + 1, success : function(msg) { clearAll(); $(msg).each(function(i){ var longitude =msg[i].longitude; alert(longitude); });或者$.ajax({ type : "POST", url : "getOneTaxi.action", dataType:"json", data : "number=" + number+"&flag=" + 1, success : function(msg) { clearAll(); $(msg).each(function(i,n){ var longitude =n.longitude; alert(longitude); });11.防火墙入站出站规则 简单的说 出站就是你访问外网 入站就是外网访问你 用户可以创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接; 可以使用预先设置的规则,也可以创建自定义规则,“新建规则向导”可以帮用户逐步完成创建规则的步骤;用户可以将规则应用于一组程序、端口或者服务,也可 以将规则应用于所有程序或者某个特定程序;可以阻挡某个软件进行所有连接、允许所有连接,或者只允许安全连接,并要求使用加密来保护通过该连接发送的数据 的安全性; 可以为入站和出站流量配置源IP地址及目的地IP地址,同样还可以为源TCP和UDP端口及目的地TCP和UPD端口配置规定。 一台新服务器创建好安装好相应软件之后,将本机MAC地址绑定到路由上(局域网设置->高级,给定一个ip地址对应自己的MAC地址),保存设置重启路由,同时还需要设置防火墙的入站和出站规则,例如打开8080端口,供外界访问部署到tomcat中的项目http://192.168.0.127:8080/taxi.12.在eclipse新导入项目,jsp出现红叉,但是项目能够运行。解决办法:( 可能是你jre问题。)在项目点build path ->libraries->右侧add library->JRE Systerm Library->Alertnate jre ->Instasled JREs->选择你安装的jre->finish.12 去掉两个td之间的间隔.table{
border-collapse:collapse;
}13. <load-on-startup>1</load-on-startup>,配置的作用:1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
5)当值相同时,容器就会自己选择顺序来加载。
所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。
如下题目:
2.web.xml中不包括哪些定义(多选)
a.默认起始页
b.servlet启动延迟时间定义
c.error处理页面
d.jsp文件改动后重新载入时间
答案:b,d
通常大多数Servlet是在用户第一次请求的时候由应用服务器创建并初始化,但<load-on-startup>n</load-on-startup> 可以用来改变这种状况,根据自己需要改变加载的优先级!
14。<meta http-equiv="refresh" content="1;http://www.baidu.com"> 将这段代码加到html页面的head之间,页面会实现自动跳转,1秒之后自动跳转到百度
15.Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)
该问题主要是你在还原的时候还有其他进程连在上面,导致无法获得独占造成的。 解决思路: 删除连在上面的进程,回滚未提交的事务,然后还原。 步骤 1.查询要还原的数据库ID Select * from master..sysdatabases where name = ''; 2.获取该数据库的进程 Select * from sys.sysprocesses a where a.dbid = ''; 3.杀掉连接在上面的进程 Kill spid; 此时去还原一般就可以了。但是今天的问题比较麻烦一点,删完进程马上有新的进程连进来,导致一直失败。分析了下,是还有应用程序一直尝试连进来的。一开始想到的办法是暂时断掉与应用的网络,后来想到另一个更简单的办法,使用数据库的单用户模式。尝试了下,可以在单用户下还原。 设置方式:选中要还原的数据库-->属性-->选项-->限制访问 该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式 这是GUI的模式,语句的办法比较简单 USE MASTER GO ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO 当然了,设置单用户数据库必须要超级用户
16. sql server 数据库中varchar和nvarchar的区别
1.带有var的代表存储可变长度的数据,不可变长度指输入不到设置长度时,后面会补充英文空格填充。n代表Unicode字符,表示存储方式是按字符存储(一个字符占用两个字节,实际存储的大小为输入数据长度的两倍;不带n的是按字节存储,实际存储的大小即为输入数据的本身长度,可见,varchar占用的存储空间少)
2.各自定义:varchar(n),长度为n个字节可变长度非Unicode的字节数据(0<n<8000);nvarchar(n),长度为n个字符可变长度Unicode字符数据(0<n<4000)
3.当存储的数据只包含英文而不包含汉字时可选用varchar类型,需要存储汉字并且需要和其他语言进行转换时,选用nvarchar类型,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;
4在数据检索中,一般来说char型字段的数据是最快的,varchar,nvarchar型字段其次。 在所存数据长度不一的情况下,varcahr型字段所占空间最少,char,nvarchar其次。 那么到底在什么样的情况下使用什么样的数据类型那? 如果你所存数据长度基本一致,建议使用char型。这样检索速度快,但是提取的时候要注意用trim()函数剔除所存数据两边的空格。 如果你所存数据长度差异较大,可以使用varchar或者nvarchar。如果你想较好的支持多语言的话,最好使用nvarchar。使用nvarchar可以减少字符转换问题,防止某些情况下乱码的出现。
17.div渐变:<div style="background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0, #D32727),color-stop(0.95, #F0F0F0),color-stop(1, #E5E5E5))">