实例介绍
该Forum系统是基于Spring+SpringMVC+Mybatis实现的,是一个值得学习的源码。
【实例截图】
【核心代码】
Forum_SSM
└── Forum_SSM
├── src
│ ├── applicationContext.xml
│ ├── Controller
│ │ ├── BoardController.java
│ │ ├── CategoryController.java
│ │ ├── PersonController.java
│ │ ├── ReplyController.java
│ │ └── ThreadController.java
│ ├── DAO
│ │ ├── BoardDAO.java
│ │ ├── CategoryDAO.java
│ │ ├── PersonDAO.java
│ │ ├── ReplyDAO.java
│ │ └── ThreadDAO.java
│ ├── DAOImpl
│ │ ├── BoardDAOImpl.java
│ │ ├── CategoryDAOImpl.java
│ │ ├── PersonDAOImpl.java
│ │ ├── ReplyDAOImpl.java
│ │ └── ThreadDAOImpl.java
│ ├── exception
│ │ └── ForumExceptionHandler.java
│ ├── filter
│ │ └── CharacterEncodingFilter.java
│ ├── generatorConfig.xml
│ ├── Interceptor
│ │ └── LoginInterceptor.java
│ ├── mapper
│ │ ├── BoardMapper.java
│ │ ├── BoardMapper.xml
│ │ ├── CategoryMapper.java
│ │ ├── CategoryMapper.xml
│ │ ├── PersonMapper.java
│ │ ├── PersonMapper.xml
│ │ ├── ReplyMapper.java
│ │ ├── ReplyMapper.xml
│ │ ├── ThreadMapper.java
│ │ └── ThreadMapper.xml
│ ├── model
│ │ ├── Board.java
│ │ ├── Category.java
│ │ ├── Person.java
│ │ ├── Reply.java
│ │ └── Thread.java
│ ├── mvc-config.xml
│ ├── mybatis-config.xml
│ ├── Service
│ │ ├── BoardService.java
│ │ ├── CategoryService.java
│ │ ├── PersonService.java
│ │ ├── ReplyService.java
│ │ └── ThreadService.java
│ ├── ServiceImpl
│ │ ├── BoardServiceImpl.java
│ │ ├── CategoryServiceImpl.java
│ │ ├── PersonServiceImpl.java
│ │ ├── ReplyServiceImpl.java
│ │ └── ThreadServiceImpl.java
│ └── util
│ ├── MD5Util.java
│ ├── Pagination.java
│ ├── PersonInfo.java
│ └── PersonUtil.java
└── WebRoot
├── images
│ ├── banner.gif
│ ├── bg1.jpg
│ ├── bg.png
│ ├── dotB.png
│ ├── file
│ │ ├── headtopic_1.gif
│ │ ├── multipage.gif
│ │ └── new.gif
│ ├── headerbg.png
│ ├── index
│ │ ├── cate_fold.gif
│ │ ├── home.gif
│ │ └── home_menu.gif
│ ├── logo.png
│ ├── new.gif
│ ├── post.png
│ ├── reply.png
│ ├── rss.png
│ └── thread
│ ├── topichot.gif
│ └── topicnew.gif
├── index.jsp
├── META-INF
│ └── MANIFEST.MF
├── tiny_mce
│ ├── langs
│ │ └── en.js
│ ├── license.txt
│ ├── plugins
│ │ ├── advhr
│ │ │ ├── css
│ │ │ │ └── advhr.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ └── rule.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── rule.htm
│ │ ├── advimage
│ │ │ ├── css
│ │ │ │ └── advimage.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── image.htm
│ │ │ ├── img
│ │ │ │ └── sample.gif
│ │ │ ├── js
│ │ │ │ └── image.js
│ │ │ └── langs
│ │ │ └── en_dlg.js
│ │ ├── advlink
│ │ │ ├── css
│ │ │ │ └── advlink.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ └── advlink.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── link.htm
│ │ ├── autosave
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── bbcode
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── compat2x
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── contextmenu
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── directionality
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── emotions
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── emotions.htm
│ │ │ ├── img
│ │ │ │ ├── smiley-cool.gif
│ │ │ │ ├── smiley-cry.gif
│ │ │ │ ├── smiley-embarassed.gif
│ │ │ │ ├── smiley-foot-in-mouth.gif
│ │ │ │ ├── smiley-frown.gif
│ │ │ │ ├── smiley-innocent.gif
│ │ │ │ ├── smiley-kiss.gif
│ │ │ │ ├── smiley-laughing.gif
│ │ │ │ ├── smiley-money-mouth.gif
│ │ │ │ ├── smiley-sealed.gif
│ │ │ │ ├── smiley-smile.gif
│ │ │ │ ├── smiley-surprised.gif
│ │ │ │ ├── smiley-tongue-out.gif
│ │ │ │ ├── smiley-undecided.gif
│ │ │ │ ├── smiley-wink.gif
│ │ │ │ └── smiley-yell.gif
│ │ │ ├── js
│ │ │ │ └── emotions.js
│ │ │ └── langs
│ │ │ └── en_dlg.js
│ │ ├── example
│ │ │ ├── dialog.htm
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── img
│ │ │ │ └── example.gif
│ │ │ ├── js
│ │ │ │ └── dialog.js
│ │ │ └── langs
│ │ │ ├── en_dlg.js
│ │ │ └── en.js
│ │ ├── fullpage
│ │ │ ├── css
│ │ │ │ └── fullpage.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── fullpage.htm
│ │ │ ├── js
│ │ │ │ └── fullpage.js
│ │ │ └── langs
│ │ │ └── en_dlg.js
│ │ ├── fullscreen
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ └── fullscreen.htm
│ │ ├── iespell
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── inlinepopups
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── skins
│ │ │ │ └── clearlooks2
│ │ │ │ ├── img
│ │ │ │ │ ├── alert.gif
│ │ │ │ │ ├── button.gif
│ │ │ │ │ ├── buttons.gif
│ │ │ │ │ ├── confirm.gif
│ │ │ │ │ ├── corners.gif
│ │ │ │ │ ├── horizontal.gif
│ │ │ │ │ └── vertical.gif
│ │ │ │ └── window.css
│ │ │ └── template.htm
│ │ ├── insertdatetime
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── layer
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── media
│ │ │ ├── css
│ │ │ │ ├── content.css
│ │ │ │ └── media.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── img
│ │ │ │ ├── flash.gif
│ │ │ │ ├── flv_player.swf
│ │ │ │ ├── quicktime.gif
│ │ │ │ ├── realmedia.gif
│ │ │ │ ├── shockwave.gif
│ │ │ │ ├── trans.gif
│ │ │ │ └── windowsmedia.gif
│ │ │ ├── js
│ │ │ │ ├── embed.js
│ │ │ │ └── media.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── media.htm
│ │ ├── nonbreaking
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── noneditable
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── pagebreak
│ │ │ ├── css
│ │ │ │ └── content.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ └── img
│ │ │ ├── pagebreak.gif
│ │ │ └── trans.gif
│ │ ├── paste
│ │ │ ├── blank.htm
│ │ │ ├── css
│ │ │ │ ├── blank.css
│ │ │ │ └── pasteword.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ ├── pastetext.js
│ │ │ │ └── pasteword.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ ├── pastetext.htm
│ │ │ └── pasteword.htm
│ │ ├── preview
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── example.html
│ │ │ ├── jscripts
│ │ │ │ └── embed.js
│ │ │ └── preview.html
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── safari
│ │ │ ├── blank.htm
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── save
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ ├── searchreplace
│ │ │ ├── css
│ │ │ │ └── searchreplace.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ └── searchreplace.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── searchreplace.htm
│ │ ├── spellchecker
│ │ │ ├── css
│ │ │ │ └── content.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ └── img
│ │ │ └── wline.gif
│ │ ├── style
│ │ │ ├── css
│ │ │ │ └── props.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ └── props.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── props.htm
│ │ ├── table
│ │ │ ├── cell.htm
│ │ │ ├── css
│ │ │ │ ├── cell.css
│ │ │ │ ├── row.css
│ │ │ │ └── table.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ ├── cell.js
│ │ │ │ ├── merge_cells.js
│ │ │ │ ├── row.js
│ │ │ │ └── table.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ ├── merge_cells.htm
│ │ │ ├── row.htm
│ │ │ └── table.htm
│ │ ├── template
│ │ │ ├── blank.htm
│ │ │ ├── css
│ │ │ │ └── template.css
│ │ │ ├── editor_plugin.js
│ │ │ ├── editor_plugin_src.js
│ │ │ ├── js
│ │ │ │ └── template.js
│ │ │ ├── langs
│ │ │ │ └── en_dlg.js
│ │ │ └── template.htm
│ │ ├── visualchars
│ │ │ ├── editor_plugin.js
│ │ │ └── editor_plugin_src.js
│ │ └── xhtmlxtras
│ │ ├── abbr.htm
│ │ ├── acronym.htm
│ │ ├── attributes.htm
│ │ ├── cite.htm
│ │ ├── css
│ │ │ ├── attributes.css
│ │ │ └── popup.css
│ │ ├── del.htm
│ │ ├── editor_plugin.js
│ │ ├── editor_plugin_src.js
│ │ ├── ins.htm
│ │ ├── js
│ │ │ ├── abbr.js
│ │ │ ├── acronym.js
│ │ │ ├── attributes.js
│ │ │ ├── cite.js
│ │ │ ├── del.js
│ │ │ ├── element_common.js
│ │ │ └── ins.js
│ │ └── langs
│ │ └── en_dlg.js
│ ├── themes
│ │ ├── advanced
│ │ │ ├── about.htm
│ │ │ ├── anchor.htm
│ │ │ ├── charmap.htm
│ │ │ ├── color_picker.htm
│ │ │ ├── editor_template.js
│ │ │ ├── editor_template_src.js
│ │ │ ├── image.htm
│ │ │ ├── img
│ │ │ │ ├── colorpicker.jpg
│ │ │ │ └── icons.gif
│ │ │ ├── js
│ │ │ │ ├── about.js
│ │ │ │ ├── anchor.js
│ │ │ │ ├── charmap.js
│ │ │ │ ├── color_picker.js
│ │ │ │ ├── image.js
│ │ │ │ ├── link.js
│ │ │ │ └── source_editor.js
│ │ │ ├── langs
│ │ │ │ ├── en_dlg.js
│ │ │ │ └── en.js
│ │ │ ├── link.htm
│ │ │ ├── skins
│ │ │ │ ├── default
│ │ │ │ │ ├── content.css
│ │ │ │ │ ├── dialog.css
│ │ │ │ │ ├── img
│ │ │ │ │ │ ├── buttons.png
│ │ │ │ │ │ ├── items.gif
│ │ │ │ │ │ ├── menu_arrow.gif
│ │ │ │ │ │ ├── menu_check.gif
│ │ │ │ │ │ ├── progress.gif
│ │ │ │ │ │ └── tabs.gif
│ │ │ │ │ └── ui.css
│ │ │ │ └── o2k7
│ │ │ │ ├── content.css
│ │ │ │ ├── dialog.css
│ │ │ │ ├── img
│ │ │ │ │ ├── button_bg_black.png
│ │ │ │ │ ├── button_bg.png
│ │ │ │ │ └── button_bg_silver.png
│ │ │ │ ├── ui_black.css
│ │ │ │ ├── ui.css
│ │ │ │ └── ui_silver.css
│ │ │ └── source_editor.htm
│ │ └── simple
│ │ ├── editor_template.js
│ │ ├── editor_template_src.js
│ │ ├── img
│ │ │ └── icons.gif
│ │ ├── langs
│ │ │ └── en.js
│ │ └── skins
│ │ ├── default
│ │ │ ├── content.css
│ │ │ └── ui.css
│ │ └── o2k7
│ │ ├── content.css
│ │ ├── img
│ │ │ └── button_bg.png
│ │ └── ui.css
│ ├── tiny_mce.js
│ ├── tiny_mce_popup.js
│ ├── tiny_mce_src.js
│ └── utils
│ ├── editable_selects.js
│ ├── form_utils.js
│ ├── mctabs.js
│ └── validate.js
└── WEB-INF
├── classes
│ ├── applicationContext.xml
│ ├── Controller
│ │ ├── BoardController.class
│ │ ├── CategoryController.class
│ │ ├── PersonController.class
│ │ ├── ReplyController.class
│ │ └── ThreadController.class
│ ├── DAO
│ │ ├── BoardDAO.class
│ │ ├── CategoryDAO.class
│ │ ├── PersonDAO.class
│ │ ├── ReplyDAO.class
│ │ └── ThreadDAO.class
│ ├── DAOImpl
│ │ ├── BoardDAOImpl.class
│ │ ├── CategoryDAOImpl.class
│ │ ├── PersonDAOImpl.class
│ │ ├── ReplyDAOImpl.class
│ │ └── ThreadDAOImpl.class
│ ├── exception
│ │ └── ForumExceptionHandler.class
│ ├── filter
│ │ └── CharacterEncodingFilter.class
│ ├── generatorConfig.xml
│ ├── Interceptor
│ │ └── LoginInterceptor.class
│ ├── mapper
│ │ ├── BoardMapper.class
│ │ ├── BoardMapper.xml
│ │ ├── CategoryMapper.class
│ │ ├── CategoryMapper.xml
│ │ ├── PersonMapper.class
│ │ ├── PersonMapper.xml
│ │ ├── ReplyMapper.class
│ │ ├── ReplyMapper.xml
│ │ ├── ThreadMapper.class
│ │ └── ThreadMapper.xml
│ ├── model
│ │ ├── Board.class
│ │ ├── Category.class
│ │ ├── Person.class
│ │ ├── Reply.class
│ │ └── Thread.class
│ ├── mvc-config.xml
│ ├── mybatis-config.xml
│ ├── Service
│ │ ├── BoardService.class
│ │ ├── CategoryService.class
│ │ ├── PersonService.class
│ │ ├── ReplyService.class
│ │ └── ThreadService.class
│ ├── ServiceImpl
│ │ ├── BoardServiceImpl.class
│ │ ├── CategoryServiceImpl.class
│ │ ├── PersonServiceImpl.class
│ │ ├── ReplyServiceImpl.class
│ │ └── ThreadServiceImpl.class
│ └── util
│ ├── MD5Util.class
│ ├── Pagination.class
│ ├── PersonInfo.class
│ └── PersonUtil.class
├── jsp
│ ├── board
│ │ ├── addBoard.jsp
│ │ ├── setAdmin.jsp
│ │ └── success.jsp
│ ├── category
│ │ ├── addCategory.jsp
│ │ ├── listCategory.jsp
│ │ └── success.jsp
│ ├── exception.jsp
│ ├── footer.jsp
│ ├── header.jsp
│ ├── person
│ │ ├── addPerson.jsp
│ │ ├── login.jsp
│ │ ├── success.jsp
│ │ └── viewPerson.jsp
│ ├── reply
│ │ ├── addReply.jsp
│ │ └── success.jsp
│ ├── sql.sql
│ └── thread
│ ├── addThread.jsp
│ ├── listThread.jsp
│ └── viewThread.jsp
├── lib
│ ├── mybatis-3.3.0.jar
│ ├── mybatis-spring-1.3.1.jar
│ └── mysql-connector-java-5.1.39-bin.jar
├── spring-form.tld
├── spring.tld
└── web.xml
141 directories, 388 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论