day01:
1. 1099 端口被占用 使用netstat -ano|findstr ‘1099‘ 发现端口未被占用 解决:重启 -2016年3月12日07:39:01
2. tomcat服务手动启动后,项目不能正常的run jsp, 例如:http://localhost:8081/web01/regin.do 不能定位到web01项目 解决:不手动启动tomcat ,使用intelliJ run会自动启动tomcat -2016年3月12日07:48:19
3.若sql 语句写错 ,则intelliJ 会报错 -2016年3月12日08:06:45
4.intelliJ 会将tomcat 的输出目录自动的修改成他默认的目录 比如输入:http://localhost:8081/web01/web/index.jsp 浏览器打开会显示404,但是输入:http://localhost:8081 则会显示web01/web/index.jsp 这个页面
解决: 这个时候需要将Artifacts 这个tab 下的Output directory: F:\IdeaProjects\untitled\out\artifacts\web01_war_exploded 改到 F:\IdeaProjects\untitled 2016年3月12日08:32:34
5.使用EL表达式获取radio 的值的话 ,如果checked 输出为空 ,unchecked 输出为 null 例如: male :null female : 2016年3月12日10:27:14
---AM day02:
1.控制submit 的提交 在它的click事件中返回false -2016年3月13日08:51:34 2.ajax 发送数据到服务器 这样写
$.ajax({
url: "http://localhost:8081/checkusername.do",
data: {username : $("#username").val() },
dataType: "html",
success: function (result) {
$("#checkname").html(result);
}
}); --2016年3月13日10:25:46 3.select 语句使用 executeQuery() 查询 的到的ResultSet 永远不会为Null
因此 ,若需要查询表中是否有数据 可以查询出 count(*) 然后用
while(b.next()) {
count=b.getString(1);
System.out.println("b.getString(1): " + count);
}
return !count.equals("0");
这样的逻辑,查询是否有数据 ----2016年3月13日11:01:51
--AM
day03:
1.对表增加非空约束 ALERT TABLE user ADD UNIQE(username,id); --2016年3月14日07:42:24
2:删除表内容 TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE
STORAGE子串是可选的,缺省是DROP STORAGE。当使用DROP STORAGE时将缩短表和表索引,将表收缩到最小范围,并重新设置NEXT参数。REUSE STORAGE不会缩短表或者调整NEXT参数。
--2016年3月14日08:02:46
3.查看表的所有信息 show create table user; --2016年3月14日08:11:28
4.删除约束(MySQL) alert table user drop index id_2; (约束名不需要加单引号)
--2016年3月14日08:12:35
--AM
day04:
1.typeof(result) 查看数据类型 --2016年3月15日09:27:53
2. 从服务器返回的String 数据的长度与数据本身不一致,这个时候需要用$.trim(result) 这个函数将数据去掉两边的空格 --2016年3月15日09:36:10
3. 问题: 使用ajax 希望在submit 提交之前确定密码是否正确,如果密码不正确的话,在密码框后面输出:"密码不正确"这句话 ,只需将submit的click函数返回false就可以了,但是不管怎样做,页面还是刷新了,解决方案如下:
<script>
var flag=0;
$(document).ready(function(){
$("#submit").click(function(){
$.ajax({
async:false,
url:"login.lo",
data :{username :$("#username").val() , password :$("password").val()},
dataType: "html",
success :function(result){
if($.trim(result)=="NULL"){
$("#check").html("密码不正确!")
window.flag=1;
alert(window.flag);
}
}
});
alert(window.flag);
if( window.flag== 1){ window.flag =0; return false;}
});
});
</script>
注意问题:
1st: flag 全局变量的问题,在function 中使用window.flag 给flag赋值
2rd: 同步和异步问题,由于ajax是异步函数,这个时候 alert(window.flag); 这段代码开始,和$.ajax({ 这句话 同时在后台运行,flag 的值就扑朔迷离,这个时候需要将async:false 让ajax 同步,就有了执行的先后顺序。
---2016年3月15日10:26:10
day05:
今天解决了一个问题,很不好描述,但是解决办法是,查询密码是否正确时,向数据库查询的参数不要给密码,直接给用户名,然后在servlet中 比较网页给的密码和数据库给的密码。
--2016年3月16日11:16:42