1、1J2EE 课程设计一、课程名称:B/S 模式 Struts MVC 实现简单在线聊天二、程序开发工具:EditPlus+Dreamweaver 8+PhotoShop CS 9.0注:EditPlus 类似文本编辑器的行编辑器,主要用于本程序的 java 程序编写Dreamweaver 8 主要用于表示层 JSP 文件编写PhotoShop CS 9.0 简单处理了一下 LOGO三、程序调试运行平台:JDK 1.5.0_11+Apache Tomcat 6.0+MySQL 4.0四、设计原理:2B/S 模式是目前较为流行的设计模式,而基于本模式下 Struts 框架架构成为目前最为流行的设计
2、方案。本系统采用 Struts 框架构建一个在线聊天的应用程序,用于研究 Struts 的工作模式,以及 J2EE 编程的深入探讨和学习。同时结合第三方数据库层的应用,实现本系统的功能,为能熟练掌握 J2EE 和 Struts 编程奠定基础。首先,系统采用 Mysql 数据库,建立 User 表,用于用户登录系统。在 classes 目录下设置 DBConfig.property 资源文件用于设置与库连接的相关参数,以及连接用的用户名和密码设定,字符编码设定。用户登录系统,输入口令,Struts 控制器交由 LoginAction Bean 类处理,显示处理结果。若正确,则进入聊天窗口,记录用
3、户 Session 跟踪会话,进行聊天即可(聊天类由 chat 包下的类协作完成) ;若错误则转向错误页面。五、网站关系原理图:六、各文件功能描述:本程序打包部署为 Shiro_Chat.war 文件。Data 文件夹下 shiro.mdb 的 access 数据库,当无法用 Mysql 时可以用此替代。SQL 文件夹下 MySql.sql 为建立数据库与数据表的初始化脚本。导入即可。Web 文件夹下 为所有表示层的页面文件,即 Jsp 文件所在。AD_Shiro 文件夹下 AD_468x60.jsp 为一个引用 google 的广告条;Images 文件夹下 为程序需要的图片文件;addUs
4、er.jsp 用于向显示在线用户的区域添加一个用户;chat.jsp 聊天用主程序,内含显示消息与在线用户和发送消息的页面;error.jsp 错误显示页面;exit.jsp 用户退出登录,移出 Session 值用;footer.jsp 页面底部的外部引用文件;info.jsp 显示程序相关说明的部分;postcode.js 用于对消息进行样式处理的 JavaScript 脚本;3register.jsp 新用户注册页面;shiro.jsp 用于显示本数据库下所有记录信息;show.jsp 为 chat.jsp 提供框架的文件;top.jsp 页面顶部信息文件;view.jsp 为 shir
5、o.jsp 提供框架文件;welcome.jsp 欢迎文件,登录系统文件。WEB-INF 文件夹为系统配置Classes 文件夹下为系统用的类文件Chat 目录为聊天用的包类mMsg.class 消息显示类mUser.class 用户显示类SetCharConvert.class 设置字符转换类sMsg.class 消息发送类sUser.class 加入在线新用户类login 目录为登录用的包类DBconn.class 数据库连接类EncodingFilter.class 编码过滤器类LoginAction.class 登录处理类LoginActionForm.class 登录表单处理类Reg
6、isterAction.class 注册处理类RegisterForm.class 注册表单处理类UserListener.class 用户监听类ApplicationResources.properties 系统资源配置文件DBConfig.property 数据库初始化与连接资源文件Lib 目录下包含系统所需的框架类环境主要有 standard.jar struts.jar jstl.jar 等。c.tld Java 标准标记库struts-bean.tldstruts-html.tldstruts-logic.tldstruts-nested.tldstruts-template.tld
7、struts-tiles.tld 本六个为 Struts 标记库自带。struts-config.xml Struts 核心配置部署描述文件web.xml Servlet 部署描述文件index.html 转向用的静态文件程序说明- 陈松 (Shiro).txt 程序说明文本文件其中 web.xml 主要程序片段如下:config/WEB-INF/struts-config.xml4action*.do/index.html500/web/error.jsp:)EncodingFilterEncodingFilterlogin.EncodingFilterencodingGB2312:)Use
8、rListenerlogin.UserListenerEncodingFilter/*.struts-config.xml 文件内容如下:5DBConfig.property 资源文件内容:#请更改信息,确保数据库正确连接#数据库类型:0 为 Aceess 数据库,1 为 MySql 数据库,默认为 1DBtype=1#Access 数据库连接信息#Access 驱动程序AccessDriver=sun.jdbc.odbc.JdbcOdbcDriver#Access 连接字符串。AccessURL=jdbc:odbc:Driver=Microsoft Access Driver (*.mdb)
9、;DBQ=6#Access 数据库路径,请自行更改AccessPath=D:/web/shirologin/data/shiro.mdb#MySQL 数据库连接信息#MySQL 数据库驱动程序MySQLDriver=org.gjt.mm.mysql.Driver#MySQL 数据库连接字符串。#shiro 为数据库名,user 为登录用户名,password 为登录密码。请自行更改。MySQLURL=jdbc:mysql:/localhost:3306/shiro?user=root&password=&useUnicode=true&characterEncoding=GB2312Appli
10、cationResources.properties 资源文件为 Unicode 编码部分内容如下:Shiro.title=Shirou804au5929u4e2du5fc3Shiro.titlecue=Shirou804au5929u4e2du5fc3uff0duff0du767bu5f55u9875u9762!Shiro.userlogin=Shirou7528u6237u767bu5f55Shiro.struts=Shiro-Struts.Java 源代码:在 classes 目录下提供登录和注册用的源文件 ,其他源文件不提供。在此不详加说明。七、程序运行结果:启动 Mysql 服务器;
11、把 Shiro_Chat.war 包放在 Tomcat 的 Webapp 目录下,启动浏览器,在地址栏输入:http:/localhost:8080/Shiro_Chat 回车后,显示载入信息;文档载入完毕,转向 Welcome.do 显示欢迎信息及登录表单;7不输入,直接提交,弹出错误提示信息:输入错误用户的密码,同样转向另一错误提示页面:输入正确用户名和密码进入聊天界面: 输入用户名:shiro本站 Logo8单击退出返回欢迎登录页面;在此页面,单击查看:将会把 user 表中所有信息显示出来:这里显示在线用户列表!显示聊天记录区域!工具选项!可以设置文字大小,颜色等!输入密码:1239若
12、没有注册,则单击注册,进入注册页面,填写后,提交即可。八、课程总结:本程序主要用 Struts MVC 框架实现,采用 TOMCAT 文件部署与描述 三层模式设计,MySql 数据库支持(附有 Access 数据库)提供资源文件配置数据库连接,可自行更改(类目录下 DBConfig.property 文件)程序资源文件 ApplicationResources.properties(类目录下Struts 标准资源文件Unicode 编码,可用记事本打开查证)应用了 Struts-taglib 标签链接提示框应用了 VML 技术Servlet 独立实现业务逻辑客户端验证输入合法检测(JavaScript)登录与聊天应用 JavaBean心得:上学期开始研究 Struts 以来第一个完整的应用程序(因为在暑假才实现把自己的包含 Struts 内容的 Java 源代码编译成功以及 Servlet 也是在暑假编译成功,不过在 Struts 之前)在完成本程序的开发中,真正理解了三层模式的理念(以前是学 ASP 的,所有数据库均选择了 Access,操作 连接简单,可访问我的主页:http:/)以及如何配置 Struts 描述文件,全局转发,FormBean 的使用等也许最多的还是理解并掌握了三层模式和 MVC 模式架构网站显示 user 表所有记录