自己做的jsp,AjaxChat在线聊天网站
?
登录地址:do.jhost.cn/lsc1414/login.jsp
注册的地方是:do.jhost.cn/lsc1414/regUser.jsp
可以自己注册。。反正还有很多bug。。希望大家都提提意见哈。
不想注册的也可以用测试账号登陆哦
用户名:1 密码 :1
用户名:2 密码 :2
用户名:3 密码 :3
用户名:123 密码 :123
用户名:test 密码 :test
使用的一直用Ajax刷新的方法。。
网上说的长轮询这些。感觉好复杂,始终弄不好。
没事就来吐吐槽嘛~
使用的空间是JHOST的免费空间
——————————————————————————————————————————————————
更新源代码下载 写的不好 大家可以多多提意见
http://files.cnblogs.com/liushengchuan/AjaxChat.rar
数据库就没传了,一共两个表 。
?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <!-- <property name="url" value="jdbc:mysql://localhost:3306/lsc1414?characterEncoding=UTF-8"/> --> <property name="url" value="jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8" /> <!-- <property name="username" value="root"/> --> <property name="username" value="username" /> <property name="password" value="password" /> </dataSource> </environment> </environments> <mappers> <mapper resource="message/ibatis/Message.xml" /> <mapper resource="message/ibatis/User.xml" /> </mappers></configuration>?
1.由于servlet容器装载servlet时只执行一遍init()方法,所以有一部分操作放在init方法中,能够提高效率
比如:DOMConfigurator.configure(getServletContext().getRealPath("/") + "log4j.xml");
放在init()以后不必每次都设置了
2.Dao.java中配置文件的地址,你的代码中是每个方法写了一遍,这个可以设置一个静态常量来保存,这样就不需要每次调用方法都创建一个引用。
3.去掉了doPost()方法中的try...catch...感觉作用不大。
4.在doPost()方法中application和userlist的创建可以移到if...else...语句中,需要的时候再创建,如果登录失败的时候,实际上是不需要创建的。
5.当userList为空,直接把user对象加入到userlist中去。不为空时在查找是否已经存在。
6.建议将request.getSession().set...语句换成创建一个HttpSession对象,这样就不需要每次都获取HttpSession。
7.在Dao.java的DoLogin()中,有一处错误
如果userinfo表为空,这是session.selectOne("Login",user)返回的为null。这个时候使用toString()方法会报空指针异常
1.由于servlet容器装载servlet时只执行一遍init()方法,所以有一部分操作放在init方法中,能够提高效率
比如:DOMConfigurator.configure(getServletContext().getRealPath("/") + "log4j.xml");
放在init()以后不必每次都设置了
2.Dao.java中配置文件的地址,你的代码中是每个方法写了一遍,这个可以设置一个静态常量来保存,这样就不需要每次调用方法都创建一个引用。
3.去掉了doPost()方法中的try...catch...感觉作用不大。
4.在doPost()方法中application和userlist的创建可以移到if...else...语句中,需要的时候再创建,如果登录失败的时候,实际上是不需要创建的。
5.当userList为空,直接把user对象加入到userlist中去。不为空时在查找是否已经存在。
6.建议将request.getSession().set...语句换成创建一个HttpSession对象,这样就不需要每次都获取HttpSession。
7.在Dao.java的DoLogin()中,有一处错误
如果userinfo表为空,这是session.selectOne("Login",user)返回的为null。这个时候使用toString()方法会报空指针异常
非常感谢。。。我就是一新手。。。多谢指导啊