`
lsc1414
  • 浏览: 2103 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

自己做的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

数据库就没传了,一共两个表 。

/* SQLyog 企业版 - MySQL GUI v7.14 MySQL - 5.1.40-community : Database - lscsql ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`lscsql` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `lscsql`; /*Table structure for table `content` */ DROP TABLE IF EXISTS `content`; CREATE TABLE `content` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userid` int(11) DEFAULT NULL, `content` text, `createtime` datetime DEFAULT NULL, `touserid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `timeIndex` (`createtime`) ) ENGINE=InnoDB AUTO_INCREMENT=68860 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; /*Table structure for table `messageinfo` */ DROP TABLE IF EXISTS `messageinfo`; CREATE TABLE `messageinfo` ( `mid` int(11) NOT NULL AUTO_INCREMENT, `messagetext` text, `createdate` datetime DEFAULT NULL, PRIMARY KEY (`mid`) ) ENGINE=MyISAM AUTO_INCREMENT=38 DEFAULT CHARSET=utf8; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

自己在自己配一配MyBatis 的连接字符串,在SqlMapConfig.xml中

<?xml version="1.0" encoding="UTF-8" ?> <!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&amp;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>

 

2
1
分享到:
评论
2 楼 lsc1414 2011-04-14  
baiyejianxin 写道
有段时间没有写过java代码了,近期又因需要,需要拾起java来。正好看到你发的这篇文章,我把你的代码看了下,发现了一点问题。

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 楼 baiyejianxin 2011-04-14  
有段时间没有写过java代码了,近期又因需要,需要拾起java来。正好看到你发的这篇文章,我把你的代码看了下,发现了一点问题。

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()方法会报空指针异常

相关推荐

    Ajaxchat.rar 聊天室jsp

    Ajaxchat是一款基于JSP技术构建的在线聊天室系统,它利用了Ajax(Asynchronous JavaScript and XML)技术来实现页面的无刷新通信,提供了一个实时、交互性强的用户体验。在这个项目中,用户可以进行实时的文本聊天,...

    JSP+AJAX华丽界面聊天室

    2. AJAX请求的JavaScript文件:如`ajaxChat.js`,负责异步通信。 3. CSS文件:如`styles.css`,定义界面样式。 4. Java后台处理类:如`ChatServlet.java`,处理用户请求和数据库操作。 5. 数据库脚本:如`create_...

    JSP实现的AJAX聊天室

    本项目是基于JSP技术和AJAX实现的一个在线Web聊天室,它为用户提供了一个实时交流的平台,用户可以在不刷新整个页面的情况下发送和接收消息。这种技术的应用极大地提升了用户体验,因为它允许用户在与其他用户交互时...

    jsp+ajax实现简单聊天室

    在“ajaxchat1”这个压缩包中,可能包含了以下关键文件和目录: - **index.jsp**:聊天室的主页面,可能包含AJAX调用的JavaScript代码以及用户界面元素。 - **ChatServlet.java**或类似的Java类:处理AJAX请求,如...

    ajax 、jsp实现的聊天室代码

    "ajaxchat1"可能是聊天室项目的初始版本或模块名称,可能包含HTML、CSS、JavaScript和JSP文件,以及可能的配置文件、数据库脚本或其他资源文件。 总的来说,这个项目涉及的技术栈包括前端的Ajax、JavaScript和...

    jsp_chat 聊天系统

    【jsp_chat 聊天系统】是一个基于JSP(Java Server Pages)和Java技术构建的在线聊天应用程序。这个系统允许用户进行实时交流,提供了一个互动性强、用户体验良好的平台。通过使用JSP,开发者可以将静态HTML页面与...

    Ajax_chat JSP

    综上所述,Ajax_chat JSP是一个结合了Ajax和JSP技术的实时聊天应用,通过Ajax实现了页面的无刷新交互,通过JSP处理服务器端逻辑和生成动态页面,为用户提供流畅的聊天体验。在实际开发中,还需要考虑性能优化、错误...

    jsp做的简易聊天室源码

    【标题】"jsp做的简易聊天室源码"指的是一个基于JavaServer Pages (JSP) 技术构建的简单在线聊天应用程序。JSP是Java平台上用于创建动态网页的技术,它允许开发者将HTML、CSS、JavaScript与Java代码混合编写,从而在...

    jsp版本的ajax聊天室

    2. "AjaxChat":这可能是项目的主要源代码文件或目录,其中包含了JSP文件、JavaScript文件以及其他相关的资源文件,如CSS样式表和图片等。在这个文件夹下,可能有以下几个关键组件: - index.jsp:作为主页面,可能...

    jsp制作的java聊天室程序

    【标题】"jsp制作的java聊天室程序"揭示了这个项目是使用Java的服务器端脚本语言JSP(JavaServer Pages)来构建的在线聊天应用。JSP是一种用于创建动态网页的技术,它允许开发者将HTML、CSS、JavaScript与Java代码...

    jsp和ajax编写的聊天室

    综上所述,这个"jsp和ajax编写的聊天室"项目展示了如何利用JSP处理服务器端逻辑,AJAX实现异步通信,CSS和JavaScript负责前端呈现和交互,共同构建一个实时互动的在线聊天环境。对于学习Web开发的初学者,这是一个很...

    JAVA+JSPchatroom.rar_chat room_jsp 聊天室_jsp聊天室_聊天室jsp_聊天室系统

    【JAVA+JSP聊天室】是一个基于JAVA和JSP技术实现的在线聊天系统,它允许用户在网页上进行实时交流。这个系统展示了JAVA和JSP在构建动态网站应用中的核心功能,尤其是对于交互式功能的处理。以下是该聊天室系统的几个...

    基于jsp的最简单的在线聊天室

    JSP是构建动态网站的重要工具,而“聊天”功能则涉及实时通信,这通常需要理解AJAX异步请求、WebSocket或其他类似的实时通信技术。然而,由于标记为“简单”,我们可以预期它可能使用了相对简单的HTTP请求/响应模型...

    chat_jsp.rar_jsp实现聊天室_聊天室jsp

    【标题】"chat_jsp.rar_jsp实现聊天室_聊天室jsp" 提供了一个使用JSP(JavaServer Pages)和Servlet技术构建基本在线聊天室的示例。在IT领域,尤其是Web开发中,JSP和Servlet是两种常用的技术,它们主要用于创建动态...

    jsp制作的在线聊天jsp制作的在线聊天jsp制作的在线聊天

    【标题】: "使用JSP技术构建在线聊天系统" 在线聊天系统是互联网应用中的常见功能,它能够实现实时的用户交互。本项目利用JavaServer Pages(JSP)技术来创建一个在线聊天平台,旨在提供一种高效、实时的沟通方式。...

    jsp+ajax实现的实时在线聊天室.zip

    【jsp+ajax实现的实时在线聊天室】是一个典型的Web应用程序示例,它结合了Java Server Pages(JSP)技术和Asynchronous JavaScript and XML(Ajax)来创建一个动态、实时的在线交流平台。在这个项目中,用户可以实时...

    jsp简易聊天室

    【jsp简易聊天室】是一个基于JavaServer Pages(JSP)技术构建的在线交流平台,它利用JSP的强大功能,结合Servlet和Application对象,为用户提供实时的聊天体验。在这个项目中,用户可以在网页上输入消息并发送,...

    基于AJAX的简易聊天室

    【基于AJAX的简易聊天室】是一个利用现代Web技术实现的实时交互平台,它整合了AJAX、JSP、Servlet和MySQL数据库等关键技术,旨在提供一个简洁高效的在线沟通环境。AJAX(Asynchronous JavaScript and XML)是核心,...

    jsp聊天技术,application实现聊天

    2. **创建JSP页面**:创建两个主要的JSP页面,一个是用于显示聊天记录的`chat.jsp`,另一个是用于输入和发送消息的`sendmessage.jsp`。 3. **获取和显示聊天记录**:在`chat.jsp`中,通过`request....

    用jsp实现的一个聊天程序

    总结,使用JSP实现的聊天程序结合了服务器端和客户端技术,通过Servlet处理请求,JSP渲染页面,前端AJAX实现动态加载,从而构建出一个功能完整的在线聊天系统。这个过程涵盖了Web开发的多个重要方面,包括HTTP通信、...

Global site tag (gtag.js) - Google Analytics