经过一周的学习,发现自己里成为一个合格的程序猿还很远,就写一下这周遇到的问题吧,可能对于大家来说不是什么大问题,只有我这种菜鸟才会犯,不过为了完成作业,我也只能贴出来了。。。。。。
问题1:
运行之后点击按钮发现无法读取xml的内容
原因:
创建链接和发送请求两行代码的位置处于储存函数onreadystatechange中,当返回XMLHTTP请求的当前状态发生改变时,由于这两行代码包含于onreadystatechange中,函数getResult缺少创建链接和发送请求的功能,因此无法读取xml文件的内容。
解决方法:
将上述两行代码剪切到onreadystatechange函数之外,如下图
问题2:
设置密码的时候数字实际的位数跟设置不一样,因为String 对象中的最后一个字符的索引为 length - 1。还有js在常用事件中onkeypress与onkeyup 虽然在实验中差不多,但是在写确认密码的function的时候必须要用onkeyup(指的是释放键盘上的按键时触发),如果使用onkeypress的话,例如你的密码是123456789确认密码要1234567890(多一位才能使确认信息正确);一个是按下时触发一个是释放是触发,还是挺不一样的。
问题3:
输入的用户名不能少于6位,正则表达式怎么写?
答:在密码的正则表达式中,输入要少于6个,原本想的是 /\w{0,6}/ 返回 true 输出错误提示。经过实验发现,当我输出例如 123oifwe 超过6个字符时 也发生报错,经过很长时间的测试发现\w{0,6}的非命题的意思是符合有0个到6个字符就提示为错误,也就是只要有字符就报错,那个6就很扯淡了根本没有限制意义。
需要加上开头和结尾限制,才有意义。所以正确的正则表达是应该是\w{0,5}\,代表不能少于6位。
问题4:
运行程序的时候提示启动tomcat服务器遇到问题,端口8005被占用
解决方法1:打开任务管理器(Alt+ctrl+del),查找与java有关的进程,
然后把它强制关闭即可。
解决方法2:cmd进入控制台,输入命令netstat -ano|findstr 8005 (什么端口号被占用就输入什么号),回车
发现是进程2044占用了这个端口
下一步,输入命令
taskkill /pid 2044 /f 回车 这里的2044对应上图的2044
终止掉这个占用端口的进程后,就可以重新启动Tomcat服务器了。