实例介绍
1.0版本实现了如下功能: 功能人性化,好友上线、下线时消息提示; 用户收到私人消息时,会收到提示,且页面中Tab的标题会以闪烁的形式提醒用户; 实用高效,该系统具有传统聊天软件的基本功能,可以良好的运行; 用户操作界面美观简洁; 系统只允许一个用户在同一时间内只能有一个登录,重复登录时,会把原来在线的用户强制下线。 可以完美的处理用户所有非正常退出时的情况,如用户直接关闭浏览器,或是按快捷键关闭浏览器以及用户网络断开等情况。 很好的实现了离线消息,用户在登录时,之前的离线消息会弹出来,提醒用户查看。 实现了聊天记录,用户可以查看所有和自己聊过天的人的聊天记录。">1.0版本实
【实例截图】
【核心代码】
be584fc7-dcc5-46fc-bca8-fb6daecde96a
└── graduationPrj
├── src
│ ├── applicationContext-actions.xml
│ ├── applicationContext-common.xml
│ ├── applicationContext-daos.xml
│ ├── applicationContext-services.xml
│ ├── com
│ │ └── yunfei
│ │ ├── action
│ │ │ ├── PrivateChat.java
│ │ │ ├── PublicChat.java
│ │ │ ├── TreeProAction.java
│ │ │ ├── UpdateUserTask.java
│ │ │ └── UserAction.java
│ │ ├── core
│ │ │ ├── BaseAction.java
│ │ │ ├── ConnectionUtil.java
│ │ │ └── MyUtils.java
│ │ ├── dao
│ │ │ ├── impl
│ │ │ │ ├── MessageDaoImpl.java
│ │ │ │ └── UserDaoImpl.java
│ │ │ ├── MessageDao.java
│ │ │ └── UserDao.java
│ │ ├── filter
│ │ │ ├── DisableUrlSessionFilter.java
│ │ │ ├── EncodingFilter.java
│ │ │ ├── PathFilter.java
│ │ │ └── UserSessionFilter.java
│ │ ├── listener
│ │ │ └── TaskManager.java
│ │ ├── pojo
│ │ │ ├── Message.java
│ │ │ ├── PublicChatLog.java
│ │ │ ├── ScriptSessionMap.java
│ │ │ ├── TreeNode.java
│ │ │ ├── UserBean.java
│ │ │ ├── User.java
│ │ │ ├── UserListForUserTask.java
│ │ │ ├── UserList.java
│ │ │ └── xml
│ │ │ ├── message.xml
│ │ │ └── User.xml
│ │ ├── service
│ │ │ ├── impl
│ │ │ │ ├── MessageServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── MessageService.java
│ │ │ └── UserService.java
│ │ └── test
│ │ ├── BaseCase.java
│ │ └── UserServiceImplTest.java
│ ├── DB.properties
│ ├── log4j.properties
│ ├── SqlMapConfig.xml
│ ├── struts.properties
│ └── struts.xml
└── WebRoot
├── chat.jsp
├── css
│ ├── file-upload.css
│ ├── global.css
│ └── index.css
├── ext
│ ├── adapter
│ │ ├── ext
│ │ │ ├── ext-base.js
│ │ │ └── vssver.scc
│ │ ├── jquery
│ │ │ ├── ext-jquery-adapter.js
│ │ │ └── vssver.scc
│ │ ├── prototype
│ │ │ ├── effects.js
│ │ │ ├── ext-prototype-adapter.js
│ │ │ ├── prototype.js
│ │ │ ├── scriptaculous.js
│ │ │ └── vssver.scc
│ │ └── yui
│ │ ├── ext-yui-adapter.js
│ │ ├── vssver.scc
│ │ └── yui-utilities.js
│ ├── examples.js
│ ├── ext-all-debug.js
│ ├── ext-all.js
│ ├── ext-core-debug.js
│ ├── ext-core.js
│ ├── ext-lang-zh_CN.js
│ ├── resources
│ │ ├── css
│ │ │ ├── borders.css
│ │ │ ├── box.css
│ │ │ ├── button.css
│ │ │ ├── combo.css
│ │ │ ├── core.css
│ │ │ ├── date-picker.css
│ │ │ ├── dd.css
│ │ │ ├── debug.css
│ │ │ ├── dialog.css
│ │ │ ├── editor.css
│ │ │ ├── ext-all.css
│ │ │ ├── form.css
│ │ │ ├── grid.css
│ │ │ ├── layout.css
│ │ │ ├── menu.css
│ │ │ ├── panel.css
│ │ │ ├── progress.css
│ │ │ ├── qtips.css
│ │ │ ├── README.txt
│ │ │ ├── reset.css
│ │ │ ├── reset-min.css
│ │ │ ├── resizable.css
│ │ │ ├── tabs.css
│ │ │ ├── toolbar.css
│ │ │ ├── tree.css
│ │ │ ├── vssver.scc
│ │ │ ├── window.css
│ │ │ └── xtheme-gray.css
│ │ ├── images
│ │ │ ├── default
│ │ │ │ ├── box
│ │ │ │ │ ├── corners-blue.gif
│ │ │ │ │ ├── corners.gif
│ │ │ │ │ ├── l-blue.gif
│ │ │ │ │ ├── l.gif
│ │ │ │ │ ├── r-blue.gif
│ │ │ │ │ ├── r.gif
│ │ │ │ │ ├── tb-blue.gif
│ │ │ │ │ ├── tb.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── button
│ │ │ │ │ ├── btn-arrow.gif
│ │ │ │ │ ├── btn-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── dd
│ │ │ │ │ ├── drop-add.gif
│ │ │ │ │ ├── drop-no.gif
│ │ │ │ │ ├── drop-yes.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── editor
│ │ │ │ │ ├── tb-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── form
│ │ │ │ │ ├── clear-trigger.gif
│ │ │ │ │ ├── clear-trigger.psd
│ │ │ │ │ ├── date-trigger.gif
│ │ │ │ │ ├── date-trigger.psd
│ │ │ │ │ ├── error-tip-corners.gif
│ │ │ │ │ ├── exclamation.gif
│ │ │ │ │ ├── search-trigger.gif
│ │ │ │ │ ├── search-trigger.psd
│ │ │ │ │ ├── text-bg.gif
│ │ │ │ │ ├── trigger.gif
│ │ │ │ │ ├── trigger.psd
│ │ │ │ │ ├── trigger-tpl.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── gradient-bg.gif
│ │ │ │ ├── grid
│ │ │ │ │ ├── arrow-left-white.gif
│ │ │ │ │ ├── arrow-right-white.gif
│ │ │ │ │ ├── col-move-bottom.gif
│ │ │ │ │ ├── col-move-top.gif
│ │ │ │ │ ├── columns.gif
│ │ │ │ │ ├── dirty.gif
│ │ │ │ │ ├── done.gif
│ │ │ │ │ ├── drop-no.gif
│ │ │ │ │ ├── drop-yes.gif
│ │ │ │ │ ├── footer-bg.gif
│ │ │ │ │ ├── grid3-hd-btn.gif
│ │ │ │ │ ├── grid3-hrow.gif
│ │ │ │ │ ├── grid3-hrow-over.gif
│ │ │ │ │ ├── grid3-special-col-bg.gif
│ │ │ │ │ ├── grid3-special-col-sel-bg.gif
│ │ │ │ │ ├── grid-blue-hd.gif
│ │ │ │ │ ├── grid-blue-split.gif
│ │ │ │ │ ├── grid-hrow.gif
│ │ │ │ │ ├── grid-loading.gif
│ │ │ │ │ ├── grid-split.gif
│ │ │ │ │ ├── grid-vista-hd.gif
│ │ │ │ │ ├── group-by.gif
│ │ │ │ │ ├── group-expand-sprite.gif
│ │ │ │ │ ├── hd-pop.gif
│ │ │ │ │ ├── hmenu-asc.gif
│ │ │ │ │ ├── hmenu-desc.gif
│ │ │ │ │ ├── hmenu-lock.gif
│ │ │ │ │ ├── hmenu-lock.png
│ │ │ │ │ ├── hmenu-unlock.gif
│ │ │ │ │ ├── hmenu-unlock.png
│ │ │ │ │ ├── invalid_line.gif
│ │ │ │ │ ├── loading.gif
│ │ │ │ │ ├── mso-hd.gif
│ │ │ │ │ ├── nowait.gif
│ │ │ │ │ ├── page-first-disabled.gif
│ │ │ │ │ ├── page-first.gif
│ │ │ │ │ ├── page-last-disabled.gif
│ │ │ │ │ ├── page-last.gif
│ │ │ │ │ ├── page-next-disabled.gif
│ │ │ │ │ ├── page-next.gif
│ │ │ │ │ ├── page-prev-disabled.gif
│ │ │ │ │ ├── page-prev.gif
│ │ │ │ │ ├── pick-button.gif
│ │ │ │ │ ├── refresh.gif
│ │ │ │ │ ├── row-check-sprite.gif
│ │ │ │ │ ├── row-expand-sprite.gif
│ │ │ │ │ ├── row-over.gif
│ │ │ │ │ ├── row-sel.gif
│ │ │ │ │ ├── sort_asc.gif
│ │ │ │ │ ├── sort_desc.gif
│ │ │ │ │ ├── vssver.scc
│ │ │ │ │ └── wait.gif
│ │ │ │ ├── layout
│ │ │ │ │ ├── collapse.gif
│ │ │ │ │ ├── expand.gif
│ │ │ │ │ ├── gradient-bg.gif
│ │ │ │ │ ├── mini-bottom.gif
│ │ │ │ │ ├── mini-left.gif
│ │ │ │ │ ├── mini-right.gif
│ │ │ │ │ ├── mini-top.gif
│ │ │ │ │ ├── ns-collapse.gif
│ │ │ │ │ ├── ns-expand.gif
│ │ │ │ │ ├── panel-close.gif
│ │ │ │ │ ├── panel-title-bg.gif
│ │ │ │ │ ├── panel-title-light-bg.gif
│ │ │ │ │ ├── stick.gif
│ │ │ │ │ ├── stuck.gif
│ │ │ │ │ ├── tab-close.gif
│ │ │ │ │ ├── tab-close-on.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── menu
│ │ │ │ │ ├── checked.gif
│ │ │ │ │ ├── group-checked.gif
│ │ │ │ │ ├── item-over.gif
│ │ │ │ │ ├── menu.gif
│ │ │ │ │ ├── menu-parent.gif
│ │ │ │ │ ├── unchecked.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── panel
│ │ │ │ │ ├── corners-sprite.gif
│ │ │ │ │ ├── left-right.gif
│ │ │ │ │ ├── light-hd.gif
│ │ │ │ │ ├── tool-sprites.gif
│ │ │ │ │ ├── tool-sprite-tpl.gif
│ │ │ │ │ ├── tools-sprites-trans.gif
│ │ │ │ │ ├── top-bottom.gif
│ │ │ │ │ ├── top-bottom.png
│ │ │ │ │ ├── vssver.scc
│ │ │ │ │ ├── white-corners-sprite.gif
│ │ │ │ │ ├── white-left-right.gif
│ │ │ │ │ └── white-top-bottom.gif
│ │ │ │ ├── progress
│ │ │ │ │ ├── progress-bg.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── qtip
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── close.gif
│ │ │ │ │ ├── tip-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── s.gif
│ │ │ │ ├── shadow-c.png
│ │ │ │ ├── shadow-lr.png
│ │ │ │ ├── shadow.png
│ │ │ │ ├── shared
│ │ │ │ │ ├── blue-loading.gif
│ │ │ │ │ ├── calendar.gif
│ │ │ │ │ ├── glass-bg.gif
│ │ │ │ │ ├── hd-sprite.gif
│ │ │ │ │ ├── large-loading.gif
│ │ │ │ │ ├── left-btn.gif
│ │ │ │ │ ├── loading-balls.gif
│ │ │ │ │ ├── right-btn.gif
│ │ │ │ │ ├── vssver.scc
│ │ │ │ │ └── warning.gif
│ │ │ │ ├── sizer
│ │ │ │ │ ├── e-handle-dark.gif
│ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ ├── ne-handle-dark.gif
│ │ │ │ │ ├── ne-handle.gif
│ │ │ │ │ ├── nw-handle-dark.gif
│ │ │ │ │ ├── nw-handle.gif
│ │ │ │ │ ├── se-handle-dark.gif
│ │ │ │ │ ├── se-handle.gif
│ │ │ │ │ ├── s-handle-dark.gif
│ │ │ │ │ ├── s-handle.gif
│ │ │ │ │ ├── square.gif
│ │ │ │ │ ├── sw-handle-dark.gif
│ │ │ │ │ ├── sw-handle.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── tabs
│ │ │ │ │ ├── scroller-bg.gif
│ │ │ │ │ ├── scroll-left.gif
│ │ │ │ │ ├── scroll-right.gif
│ │ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ │ ├── tab-close.gif
│ │ │ │ │ ├── tabs-sprite.gif
│ │ │ │ │ ├── tab-strip-bg.gif
│ │ │ │ │ ├── tab-strip-bg.png
│ │ │ │ │ ├── tab-strip-btm-bg.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── btn-arrow.gif
│ │ │ │ │ ├── btn-arrow-light.gif
│ │ │ │ │ ├── btn-over-bg.gif
│ │ │ │ │ ├── gray-bg.gif
│ │ │ │ │ ├── tb-bg.gif
│ │ │ │ │ ├── tb-btn-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── tree
│ │ │ │ │ ├── drop-add.gif
│ │ │ │ │ ├── drop-between.gif
│ │ │ │ │ ├── drop-no.gif
│ │ │ │ │ ├── drop-over.gif
│ │ │ │ │ ├── drop-under.gif
│ │ │ │ │ ├── drop-yes.gif
│ │ │ │ │ ├── elbow-end.gif
│ │ │ │ │ ├── elbow-end-minus.gif
│ │ │ │ │ ├── elbow-end-minus-nl.gif
│ │ │ │ │ ├── elbow-end-plus.gif
│ │ │ │ │ ├── elbow-end-plus-nl.gif
│ │ │ │ │ ├── elbow.gif
│ │ │ │ │ ├── elbow-line.gif
│ │ │ │ │ ├── elbow-minus.gif
│ │ │ │ │ ├── elbow-minus-nl.gif
│ │ │ │ │ ├── elbow-plus.gif
│ │ │ │ │ ├── elbow-plus-nl.gif
│ │ │ │ │ ├── folder.gif
│ │ │ │ │ ├── folder-open.gif
│ │ │ │ │ ├── leaf.gif
│ │ │ │ │ ├── loading.gif
│ │ │ │ │ ├── s.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── vssver.scc
│ │ │ │ └── window
│ │ │ │ ├── icon-error.gif
│ │ │ │ ├── icon-info.gif
│ │ │ │ ├── icon-question.gif
│ │ │ │ ├── icon-warning.gif
│ │ │ │ ├── left-corners.png
│ │ │ │ ├── left-corners.psd
│ │ │ │ ├── left-right.png
│ │ │ │ ├── left-right.psd
│ │ │ │ ├── right-corners.png
│ │ │ │ ├── right-corners.psd
│ │ │ │ ├── top-bottom.png
│ │ │ │ ├── top-bottom.psd
│ │ │ │ └── vssver.scc
│ │ │ ├── gray
│ │ │ │ ├── button
│ │ │ │ │ ├── btn-arrow.gif
│ │ │ │ │ ├── btn-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── gradient-bg.gif
│ │ │ │ ├── panel
│ │ │ │ │ ├── corners-sprite.gif
│ │ │ │ │ ├── left-right.gif
│ │ │ │ │ ├── light-hd.gif
│ │ │ │ │ ├── tool-sprites.gif
│ │ │ │ │ ├── tool-sprite-tpl.gif
│ │ │ │ │ ├── tools-sprites-trans.gif
│ │ │ │ │ ├── top-bottom.gif
│ │ │ │ │ ├── top-bottom.png
│ │ │ │ │ ├── vssver.scc
│ │ │ │ │ ├── white-corners-sprite.gif
│ │ │ │ │ ├── white-left-right.gif
│ │ │ │ │ └── white-top-bottom.gif
│ │ │ │ ├── qtip
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── close.gif
│ │ │ │ │ ├── tip-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── s.gif
│ │ │ │ ├── tabs
│ │ │ │ │ ├── scroller-bg.gif
│ │ │ │ │ ├── scroll-left.gif
│ │ │ │ │ ├── scroll-right.gif
│ │ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ │ ├── tab-close.gif
│ │ │ │ │ ├── tabs-sprite.gif
│ │ │ │ │ ├── tab-strip-bg.gif
│ │ │ │ │ ├── tab-strip-bg.png
│ │ │ │ │ ├── tab-strip-btm-bg.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── bg.gif
│ │ │ │ │ ├── btn-arrow.gif
│ │ │ │ │ ├── btn-arrow-light.gif
│ │ │ │ │ ├── btn-over-bg.gif
│ │ │ │ │ ├── gray-bg.gif
│ │ │ │ │ ├── tb-bg.gif
│ │ │ │ │ ├── tb-btn-sprite.gif
│ │ │ │ │ └── vssver.scc
│ │ │ │ ├── vssver.scc
│ │ │ │ └── window
│ │ │ │ ├── icon-error.gif
│ │ │ │ ├── icon-info.gif
│ │ │ │ ├── icon-question.gif
│ │ │ │ ├── icon-warning.gif
│ │ │ │ ├── left-corners.png
│ │ │ │ ├── left-corners.pspimage
│ │ │ │ ├── left-right.png
│ │ │ │ ├── right-corners.png
│ │ │ │ ├── top-bottom.png
│ │ │ │ └── vssver.scc
│ │ │ └── vista
│ │ │ ├── basic-dialog
│ │ │ │ ├── bg-center.gif
│ │ │ │ ├── bg-left.gif
│ │ │ │ ├── bg-right.gif
│ │ │ │ ├── close.gif
│ │ │ │ ├── collapse.gif
│ │ │ │ ├── dlg-bg.gif
│ │ │ │ ├── e-handle.gif
│ │ │ │ ├── expand.gif
│ │ │ │ ├── hd-sprite.gif
│ │ │ │ ├── se-handle.gif
│ │ │ │ ├── s-handle.gif
│ │ │ │ ├── vssver.scc
│ │ │ │ └── w-handle.gif
│ │ │ ├── gradient-bg.gif
│ │ │ ├── grid
│ │ │ │ ├── grid-split.gif
│ │ │ │ ├── grid-vista-hd.gif
│ │ │ │ └── vssver.scc
│ │ │ ├── layout
│ │ │ │ ├── collapse.gif
│ │ │ │ ├── expand.gif
│ │ │ │ ├── gradient-bg.gif
│ │ │ │ ├── ns-collapse.gif
│ │ │ │ ├── ns-expand.gif
│ │ │ │ ├── panel-close.gif
│ │ │ │ ├── panel-title-bg.gif
│ │ │ │ ├── panel-title-light-bg.gif
│ │ │ │ ├── stick.gif
│ │ │ │ ├── tab-close.gif
│ │ │ │ ├── tab-close-on.gif
│ │ │ │ └── vssver.scc
│ │ │ ├── qtip
│ │ │ │ ├── bg.gif
│ │ │ │ ├── tip-sprite.gif
│ │ │ │ └── vssver.scc
│ │ │ ├── s.gif
│ │ │ ├── sizer
│ │ │ │ ├── e-handle-dark.gif
│ │ │ │ ├── e-handle.gif
│ │ │ │ ├── ne-handle-dark.gif
│ │ │ │ ├── ne-handle.gif
│ │ │ │ ├── nw-handle-dark.gif
│ │ │ │ ├── nw-handle.gif
│ │ │ │ ├── se-handle-dark.gif
│ │ │ │ ├── se-handle.gif
│ │ │ │ ├── s-handle-dark.gif
│ │ │ │ ├── s-handle.gif
│ │ │ │ ├── sw-handle-dark.gif
│ │ │ │ ├── sw-handle.gif
│ │ │ │ └── vssver.scc
│ │ │ ├── tabs
│ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ ├── tab-sprite.gif
│ │ │ │ └── vssver.scc
│ │ │ ├── toolbar
│ │ │ │ ├── gray-bg.gif
│ │ │ │ ├── tb-btn-sprite.gif
│ │ │ │ └── vssver.scc
│ │ │ └── vssver.scc
│ │ ├── legacy
│ │ │ ├── basic-dialog.css
│ │ │ ├── grid.css
│ │ │ └── vssver.scc
│ │ ├── license.txt
│ │ ├── resources.jsb
│ │ └── vssver.scc
│ ├── s.gif
│ └── TabCloseMenu.js
├── images
│ ├── banner-1.jpg
│ ├── desktop.jpg
│ ├── key.gif
│ ├── loading32.gif
│ ├── png-0441.gif
│ ├── user.gif
│ └── userinfo.gif
├── js
│ ├── chatLogWin.js
│ ├── chatMain.js
│ ├── cookie.js
│ ├── FileUploadField.js
│ ├── login.js
│ ├── register.js
│ ├── util.js
│ └── validation_ext.js
├── login.html
├── META-INF
│ └── MANIFEST.MF
├── out.jsp
├── test.html
├── unUsed
│ ├── index.jsp
│ ├── lizi.js
│ ├── MyJsp.jsp
│ ├── reorder.js
│ ├── Select_test.js
│ ├── tabs.css
│ ├── ziliao.js
│ └── 闪烁.js
└── WEB-INF
├── classes
│ ├── applicationContext-actions.xml
│ ├── applicationContext-common.xml
│ ├── applicationContext-daos.xml
│ ├── applicationContext-services.xml
│ ├── com
│ │ └── yunfei
│ │ ├── action
│ │ │ ├── PrivateChat.class
│ │ │ ├── PublicChat.class
│ │ │ ├── TreeProAction.class
│ │ │ ├── UpdateUserTask.class
│ │ │ └── UserAction.class
│ │ ├── core
│ │ │ ├── BaseAction.class
│ │ │ ├── ConnectionUtil.class
│ │ │ └── MyUtils.class
│ │ ├── dao
│ │ │ ├── impl
│ │ │ │ ├── MessageDaoImpl.class
│ │ │ │ └── UserDaoImpl.class
│ │ │ ├── MessageDao.class
│ │ │ └── UserDao.class
│ │ ├── filter
│ │ │ ├── DisableUrlSessionFilter$1.class
│ │ │ ├── DisableUrlSessionFilter.class
│ │ │ ├── EncodingFilter.class
│ │ │ ├── PathFilter.class
│ │ │ └── UserSessionFilter.class
│ │ ├── listener
│ │ │ └── TaskManager.class
│ │ ├── pojo
│ │ │ ├── Message.class
│ │ │ ├── PublicChatLog.class
│ │ │ ├── ScriptSessionMap.class
│ │ │ ├── TreeNode.class
│ │ │ ├── UserBean.class
│ │ │ ├── User.class
│ │ │ ├── UserList.class
│ │ │ ├── UserListForUserTask.class
│ │ │ └── xml
│ │ │ ├── message.xml
│ │ │ └── User.xml
│ │ ├── service
│ │ │ ├── impl
│ │ │ │ ├── MessageServiceImpl.class
│ │ │ │ └── UserServiceImpl.class
│ │ │ ├── MessageService.class
│ │ │ └── UserService.class
│ │ └── test
│ │ ├── BaseCase.class
│ │ └── UserServiceImplTest.class
│ ├── DB.properties
│ ├── log4j.properties
│ ├── SqlMapConfig.xml
│ ├── struts.properties
│ └── struts.xml
├── dwr.xml
├── lib
│ ├── aspectjrt.jar
│ ├── aspectjweaver.jar
│ ├── commons-beanutils-1.8.0.jar
│ ├── commons-collections-3.2.1.jar
│ ├── commons-collections.jar
│ ├── commons-fileupload.jar
│ ├── commons-io.jar
│ ├── commons-lang-2.4.jar
│ ├── commons-lang.jar
│ ├── commons-logging-1.1.1.jar
│ ├── commons-logging.jar
│ ├── dwr.jar
│ ├── ezmorph-1.0.5.jar
│ ├── freemarker-2.3.8.jar
│ ├── ibatis-2.3.3.720.jar
│ ├── json-lib-2.2.2-jdk15.jar
│ ├── jsonplugin-0.30.jar
│ ├── jstl.jar
│ ├── jtds-1.2.2.jar
│ ├── log4j-1.2.14.jar
│ ├── msbase.jar
│ ├── mssqlserver.jar
│ ├── msutil.jar
│ ├── mysql-connector-java-5.0.5-bin.jar
│ ├── ognl-2.6.11.jar
│ ├── spring.jar
│ ├── standard.jar
│ ├── struts2-core-2.0.11.1.jar
│ ├── struts2-spring-plugin-2.0.11.1.jar
│ └── xwork-2.0.4.jar
└── web.xml
80 directories, 523 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论