【JavaWeb程序设计】大作业朋友圈实现过程中的异常和心得

【JavaWeb程序设计】大作业朋友圈实现过程中的错误和心得

编程序的时候出错了第一件事不是调bug,而是把遇到的错误写入记事本中记录下来,然后再去解决。解决后把解决方法写入记事本中。

====================================================================================

1. servlet或JavaBeans编程的时候,如果要修改除了要替换class文件以外,web.xml文件也需要删除然后重新上传才会出现新的结果,否则浏览器显示的一直都是上次的结果。

=====================================================================================

2.如果想要让信息保存下来的话,即在下次页面打开的时候信息还存在的话,可以用JavaBeans,然后设置变量为静态变量。由于静态变量只定义一次,下次访问不再改变。所以可以用于保存数据。

====================================================================================

3.ajax的processResponse()弹框,发现弹了4次框,即processResponse()调用了4次。

====================================================================================

4.Filter感觉只能把request过滤成utf-8,但是过滤不了response。

====================================================================================

5.AUTO_INCREMENT,如果中途在数据库有删除过信息的话,会造成ID不连续,中间有一段不见了。建议还是自己   设置ID。

====================================================================================

6.limit ?,10语句如果用PreparedStatement设置字符串的话,单引号会导致语法错误。调用setInt()解决问题。

====================================================================================

7.编网页的时候,分隔线上面有三个横向放置的箱子。分隔线只能对其中的一个箱子获得相对定位,即如果这个箱子长度超过分隔线,分隔线会往后推移。但是其它两个箱子不会有这种效果。
踩下分隔线需要最外框的高度变大。
要解决这一问题,里面的div箱子都不要设置height属性,尤其是绝对定位,直接height:40px这样。

====================================================================================

8.三个div横向排列请用display:inline;

====================================================================================

9.<img>图片被<a>包围后出现边框。需要设置border="0px",否则在一些浏览器里会显示出边框。FireFox会出现边框。

====================================================================================

10.多个相同的<img>标签,实现鼠标事件换图的时候,可以用onmouseover="this.src='like_over.png'" onmouseout="this.src='like_out.png'"来实现。双引号里的图片地址用单引号圈起。

====================================================================================

11.想要调用上一个目录的文件,路径可以设成 "../XXX.jsp"

====================================================================================

12.JavaScript中document.getElementId("Coment"+id)   IE浏览器对于大小写比较敏感,谷歌浏览器能够识别。因为前面还有一个id叫做<img>id=comment57的,这里的是<div>id=Comment57,此时IE不能够识别不出来,而Chrome可以识别出来。把<div>id改成C57后,IE就可以识别出来了。

====================================================================================

13.按下按钮后按钮消失,可以使用this.style.visibility='hidden';

====================================================================================

14.多个浏览器共用一个变量:
<%@page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
if(application.getAttribute("count")==null){
   application.setAttribute("count",new Integer(0));
}
application.setAttribute("count",((int)application.getAttribute("count"))+1);
%>
<%=application.getAttribute("count")%>

====================================================================================

15.对于XMLHttpReq.responseText,它会返回该网页的全部内容,而不单单只是out.println()里面的内容。所以JSP的<%如果单独一行的话,会导致返回的值前面空了一行。所以不能让<%单独一行,会导致在JS判断的时候一直是false。原因是返回的字符前空了一行。

====================================================================================

16.JS传值如果传的是字符串需要有单引号。

====================================================================================

17.<jsp:forward page="(    )">括号内容要么全是JSP<%=%>输出,要么就是全是html文本,不能混用。

====================================================================================

18.utf-8编码的url地址,如果有中文的话,报错会出现/%E6%9C%88%E5%A4%9C的字样,但是这不是编码问题,而是文件不存在的问题。

====================================================================================

19.<a>标签的链接,如果想要变换鼠标指针同时没有链接的话,设置为href="javascript:void(0);"

====================================================================================

20.getServletContext().getRealPath("/")用于获取根目录地址,用于检测文件是否存在。

====================================================================================

21.onclick="window.parent.loginWindow();" iframe调用父页面的JS方法

====================================================================================

22.数据库id设置成auto-increment后不好返回id值,怀疑如果多个人同时插入信息的话,之后调用数据库获取的id值可能不一致。

====================================================================================

23.import=java.text.*;用于SimpleDateFormat

====================================================================================

24.有些JS函数在IE能用但是在谷歌不能用。对于img来说value属性是自定义属性,因为div默认没有value属性。获取自定义属性要使用getAttribute方法。

====================================================================================

25.Chrome的JS中,字符串var s,可以用s[0]来取值,但是IE不行,它的值为undefined

====================================================================================

26.朋友圈的@功能可以用 朋友名+ .*  的正则表达式比对来实现,发表的内容调用split("@"),然后一个个跟前面的正则表达式比对情况。

====================================================================================

27.删除一个元素,谷歌和IE都可以实现。

b=document.getElementById('b');
b.parentNode..removeChild(b);

例如:

<div id='a'>

      <img id='b'>

</div>

JS调用上述函数就可以删除<img>结点。

====================================================================================

最后附上朋友圈主界面图:

【JavaWeb程序设计】大作业朋友圈实现过程中的异常和心得


【JavaWeb程序设计】大作业朋友圈实现过程中的异常和心得

====================================================================================

版权声明:本文为博主原创文章,未经博主允许不得转载。