├── .classpath ├── .project ├── .settings ├── .jsdtscope ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container └── org.eclipse.wst.jsdt.ui.superType.name ├── LICENSE ├── WebContent ├── META-INF │ └── MANIFEST.MF ├── WEB-INF │ ├── lib │ │ ├── antlr-2.7.6.jar │ │ ├── aopalliance-1.0.jar │ │ ├── aspectjrt-1.6.9.jar │ │ ├── aspectjweaver-1.6.9.jar │ │ ├── cglib-nodep-2.2.jar │ │ ├── commons-beanutils-1.8.3.jar │ │ ├── commons-codec-1.6.jar │ │ ├── commons-collections-3.2.1.jar │ │ ├── commons-dbcp-1.4.jar │ │ ├── commons-fileupload-1.2.1.jar │ │ ├── commons-io-1.4.jar │ │ ├── commons-lang-2.5.jar │ │ ├── commons-logging-1.1.1.jar │ │ ├── commons-pool-1.5.4.jar │ │ ├── dom4j-1.6.1.jar │ │ ├── download.bat │ │ ├── ehcache-1.6.2.jar │ │ ├── freemarker-2.3.16.jar │ │ ├── guava-r06.jar │ │ ├── h2-1.2.142.jar │ │ ├── hibernate-annotations-3.5.5-Final.jar │ │ ├── hibernate-commons-annotations-3.2.0.Final.jar │ │ ├── hibernate-core-3.5.5-Final.jar │ │ ├── hibernate-ehcache-3.5.5-Final.jar │ │ ├── hibernate-jpa-2.0-api-1.0.0.Final.jar │ │ ├── jackson-core-asl-1.6.0.jar │ │ ├── jackson-mapper-asl-1.6.0.jar │ │ ├── javassist-3.12.1.GA.jar │ │ ├── jstl-1.2.jar │ │ ├── jta-1.1.jar │ │ ├── log4j-1.2.16.jar │ │ ├── mail.jar │ │ ├── mysql-connector-java-5.1.26-bin.jar │ │ ├── ognl-3.0.jar │ │ ├── slf4j-api-1.6.1.jar │ │ ├── slf4j-log4j12-1.6.1.jar │ │ ├── spring-aop-3.0.4.RELEASE.jar │ │ ├── spring-asm-3.0.4.RELEASE.jar │ │ ├── spring-beans-3.0.4.RELEASE.jar │ │ ├── spring-context-3.0.4.RELEASE.jar │ │ ├── spring-context-support-3.0.4.RELEASE.jar │ │ ├── spring-core-3.0.4.RELEASE.jar │ │ ├── spring-expression-3.0.4.RELEASE.jar │ │ ├── spring-jdbc-3.0.4.RELEASE.jar │ │ ├── spring-orm-3.0.4.RELEASE.jar │ │ ├── spring-security-acl-3.0.3.RELEASE.jar │ │ ├── spring-security-config-3.0.3.RELEASE.jar │ │ ├── spring-security-core-3.0.3.RELEASE.jar │ │ ├── spring-security-taglibs-3.0.3.RELEASE.jar │ │ ├── spring-security-web-3.0.3.RELEASE.jar │ │ ├── spring-tx-3.0.4.RELEASE.jar │ │ ├── spring-web-3.0.4.RELEASE.jar │ │ ├── spring-webmvc-3.0.4.RELEASE.jar │ │ ├── springside3-core-3.3.4.jar │ │ ├── standard-1.1.2.jar │ │ ├── struts2-convention-plugin-2.2.1.jar │ │ ├── struts2-core-2.2.1.jar │ │ ├── struts2-spring-plugin-2.2.1.jar │ │ ├── xml-apis-1.0.b2.jar │ │ └── xwork-core-2.2.1.jar │ ├── web.xml │ └── zz7 │ │ └── mypace │ │ ├── bbs │ │ ├── createTopic.jsp │ │ ├── nodeIndex.jsp │ │ └── showTopic.jsp │ │ ├── help │ │ ├── help.jsp │ │ └── support.jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── user │ │ ├── forget.jsp │ │ ├── forgetEmail.jsp │ │ ├── forgetResetPassword.jsp │ │ ├── forgetResetPasswordError.jsp │ │ ├── forgetResetPasswordSuccess.jsp │ │ ├── forgetSuccess.jsp │ │ ├── register.jsp │ │ ├── resetPassword.jsp │ │ ├── resetPasswordError.jsp │ │ └── resetPasswordSuccess.jsp │ │ └── userinfo │ │ ├── infoBadge.jsp │ │ └── infoIndex.jsp ├── bootstrap │ ├── bootstrapvalidator │ │ ├── css │ │ │ ├── bootstrapValidator.css │ │ │ └── bootstrapValidator.min.css │ │ └── js │ │ │ ├── bootstrapValidator.js │ │ │ ├── bootstrapValidator.min.js │ │ │ └── language │ │ │ ├── ar_MA.js │ │ │ ├── be_FR.js │ │ │ ├── be_NL.js │ │ │ ├── bg_BG.js │ │ │ ├── cs_CZ.js │ │ │ ├── da_DK.js │ │ │ ├── de_DE.js │ │ │ ├── en_US.js │ │ │ ├── es_CL.js │ │ │ ├── es_ES.js │ │ │ ├── fa_IR.js │ │ │ ├── fr_FR.js │ │ │ ├── gr_EL.js │ │ │ ├── hu_HU.js │ │ │ ├── id_ID.js │ │ │ ├── it_IT.js │ │ │ ├── ja_JP.js │ │ │ ├── nl_NL.js │ │ │ ├── no_NO.js │ │ │ ├── pl_PL.js │ │ │ ├── pt_BR.js │ │ │ ├── ro_RO.js │ │ │ ├── ru_RU.js │ │ │ ├── sr_RS.js │ │ │ ├── sv_SE.js │ │ │ ├── th_TH.js │ │ │ ├── tr_TR.js │ │ │ ├── ua_UA.js │ │ │ ├── vi_VN.js │ │ │ ├── zh_CN.js │ │ │ └── zh_TW.js │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ └── bootstrap.min.css │ ├── distpicker │ │ ├── distpicker.data.js │ │ ├── distpicker.data.min.js │ │ ├── distpicker.js │ │ └── distpicker.min.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-1.11.3.min.js │ │ └── npm.js │ ├── simditor │ │ ├── images │ │ │ └── image.png │ │ ├── mark │ │ │ └── simditor-mark.js │ │ ├── scripts │ │ │ ├── hotkeys.js │ │ │ ├── hotkeys.min.js │ │ │ ├── jquery.min.js │ │ │ ├── module.js │ │ │ ├── module.min.js │ │ │ ├── simditor.js │ │ │ ├── simditor.min.js │ │ │ ├── simditor.txt │ │ │ ├── uploader.js │ │ │ └── uploader.min.js │ │ └── styles │ │ │ ├── editor.scss │ │ │ ├── fonticon.scss │ │ │ ├── simditor.css │ │ │ └── simditor.scss │ └── syntaxhighlighter │ │ ├── scripts │ │ ├── shAutoloader.js │ │ ├── shBrushAS3.js │ │ ├── shBrushAppleScript.js │ │ ├── shBrushBash.js │ │ ├── shBrushCSharp.js │ │ ├── shBrushColdFusion.js │ │ ├── shBrushCpp.js │ │ ├── shBrushCss.js │ │ ├── shBrushDelphi.js │ │ ├── shBrushDiff.js │ │ ├── shBrushErlang.js │ │ ├── shBrushGroovy.js │ │ ├── shBrushJScript.js │ │ ├── shBrushJava.js │ │ ├── shBrushJavaFX.js │ │ ├── shBrushPerl.js │ │ ├── shBrushPhp.js │ │ ├── shBrushPlain.js │ │ ├── shBrushPowerShell.js │ │ ├── shBrushPython.js │ │ ├── shBrushRuby.js │ │ ├── shBrushSass.js │ │ ├── shBrushScala.js │ │ ├── shBrushSql.js │ │ ├── shBrushVb.js │ │ ├── shBrushXml.js │ │ ├── shCore.js │ │ └── shLegacy.js │ │ └── styles │ │ ├── shCore.css │ │ ├── shCoreDefault.css │ │ ├── shCoreDjango.css │ │ ├── shCoreEclipse.css │ │ ├── shCoreEmacs.css │ │ ├── shCoreFadeToGrey.css │ │ ├── shCoreMDUltra.css │ │ ├── shCoreMidnight.css │ │ ├── shCoreRDark.css │ │ ├── shThemeDefault.css │ │ ├── shThemeDjango.css │ │ ├── shThemeEclipse.css │ │ ├── shThemeEmacs.css │ │ ├── shThemeFadeToGrey.css │ │ ├── shThemeMDUltra.css │ │ ├── shThemeMidnight.css │ │ └── shThemeRDark.css ├── common │ ├── 403.jsp │ ├── 404.jsp │ ├── 500.jsp │ ├── footer.jsp │ ├── header.jsp │ ├── meta.jsp │ └── taglibs.jsp ├── css │ ├── bbs.css │ ├── donate.css │ ├── forget.css │ ├── help.css │ ├── index.css │ ├── register.css │ ├── style.css │ ├── userinfo.css │ └── yui.css ├── images │ ├── badge │ │ ├── badge1.jpg │ │ ├── badge2.gif │ │ ├── badge2.jpg │ │ └── full_img │ │ │ ├── badge1full.jpg │ │ │ └── badge2full.jpg │ ├── icons │ │ ├── huoyan.fw.png │ │ ├── huoyan.fwlg.jpg │ │ ├── shuishou.gif │ │ ├── spring.jpg │ │ └── spring2.jpg │ └── levelImg │ │ ├── level1.fw.png │ │ ├── level2.fw.png │ │ ├── level3.fw.png │ │ ├── level4.fw.png │ │ ├── level5.fw.png │ │ ├── level6.fw.png │ │ ├── level7.fw.png │ │ ├── level8.fw.png │ │ └── level9.fw.png ├── index.jsp ├── js │ ├── index.js │ ├── jquery.js │ ├── mypace │ │ ├── badge.js │ │ ├── bbs.js │ │ ├── birthday.js │ │ ├── commont.js │ │ ├── nodeIndex.js │ │ └── userinfo.js │ └── validate │ │ ├── images │ │ ├── checked.gif │ │ └── unchecked.gif │ │ ├── jquery.validate.css │ │ ├── jquery.validate.js │ │ └── messages_cn.js ├── mysql │ ├── 1_createDB.sql │ ├── 2_createTables.sql │ ├── 3_initData.sql │ ├── 4_initData2.sql │ └── springbbsbackup20160822.sql └── util │ └── verify │ └── image.jsp ├── build └── classes │ ├── application.properties │ ├── applicationContext-security.xml │ ├── applicationContext.xml │ ├── cn │ └── tiger │ │ ├── dao │ │ ├── account │ │ │ ├── AuthorityDao.class │ │ │ ├── RoleDao.class │ │ │ ├── UserDao.class │ │ │ └── UserInfoDao.class │ │ └── bbs │ │ │ ├── BadgeDao.class │ │ │ ├── BadgeShowDao.class │ │ │ ├── CheckCommentAdDao.class │ │ │ ├── CheckTopicAdDao.class │ │ │ ├── CommentAdDao.class │ │ │ ├── CommentDao.class │ │ │ ├── CommunityLevelDao.class │ │ │ ├── NodeDao.class │ │ │ ├── TopicAdDao.class │ │ │ └── TopicDao.class │ │ ├── entity │ │ ├── account │ │ │ ├── AcctAuthority.class │ │ │ ├── AcctRole.class │ │ │ ├── AcctUser.class │ │ │ ├── AcctUserInfo.class │ │ │ └── UserDetails │ │ │ │ └── MyUserDetails.class │ │ └── bbs │ │ │ ├── Badge.class │ │ │ ├── BadgeShow.class │ │ │ ├── CheckCommentAd.class │ │ │ ├── CheckTopicAd.class │ │ │ ├── Comment.class │ │ │ ├── CommentAd.class │ │ │ ├── CommunityLevel.class │ │ │ ├── Node.class │ │ │ ├── Section.class │ │ │ ├── Topic.class │ │ │ └── TopicAd.class │ │ ├── service │ │ ├── account │ │ │ ├── AccountManager.class │ │ │ ├── MyUserDetailsServiceImpl.class │ │ │ └── UserDetailsServiceImpl.class │ │ ├── bbs │ │ │ └── BbsManager.class │ │ └── filter │ │ │ └── ImageFilter.class │ │ ├── utils │ │ ├── email │ │ │ ├── EmailUtils$1.class │ │ │ ├── EmailUtils.class │ │ │ ├── GenerateLinkUtils.class │ │ │ └── password.dat │ │ ├── hibernate │ │ │ ├── hibernate.cfg.xml │ │ │ ├── hibernate.properties │ │ │ ├── hibernate.reveng.xml │ │ │ ├── hibernate2.cfg.xml │ │ │ ├── hibernate2.properties │ │ │ └── hibernate2.reveng.xml │ │ ├── level │ │ │ ├── LevelImgUpload.class │ │ │ └── LevelUtil.class │ │ ├── md5 │ │ │ ├── EncryptUtil.class │ │ │ └── Md5PasswordEncoderUtil.class │ │ ├── sort │ │ │ └── ComparatorAuthority.class │ │ └── zstring │ │ │ └── MyStringUtil.class │ │ └── web │ │ └── mypace │ │ ├── ForgetAction.class │ │ ├── IndexAction.class │ │ ├── LoginAction.class │ │ ├── UserAction.class │ │ └── bbs │ │ ├── BadgeAction.class │ │ ├── CommentAction.class │ │ ├── CommunityadminAction.class │ │ ├── HelpAction.class │ │ ├── ShowlevelimgAction.class │ │ ├── TopicAction.class │ │ └── UserinfoAction.class │ ├── ehcache │ └── ehcache-hibernate-local.xml │ ├── log4j.properties │ ├── spring │ ├── application.test.properties │ └── applicationContext-test.xml │ ├── struts.xml │ └── test │ └── cn │ └── tiger │ └── service │ └── bbs │ ├── AccountManagerTest.class │ ├── BbsManagerTest.class │ └── TestDigestUtils.class ├── logs ├── MySpringSecuritySample.log ├── MySpringSecuritySample.log.2016-06-03 ├── MySpringSecuritySample.log.2016-06-04 ├── MySpringSecuritySample.log.2016-08-10 └── MySpringSecuritySample.log.2016-08-12 └── src ├── application.properties ├── applicationContext-security.xml ├── applicationContext.xml ├── cn └── tiger │ ├── dao │ ├── account │ │ ├── AuthorityDao.java │ │ ├── RoleDao.java │ │ ├── UserDao.java │ │ └── UserInfoDao.java │ └── bbs │ │ ├── BadgeDao.java │ │ ├── BadgeShowDao.java │ │ ├── CheckCommentAdDao.java │ │ ├── CheckTopicAdDao.java │ │ ├── CommentAdDao.java │ │ ├── CommentDao.java │ │ ├── CommunityLevelDao.java │ │ ├── NodeDao.java │ │ ├── TopicAdDao.java │ │ └── TopicDao.java │ ├── entity │ ├── account │ │ ├── AcctAuthority.java │ │ ├── AcctRole.java │ │ ├── AcctUser.java │ │ ├── AcctUserInfo.java │ │ └── UserDetails │ │ │ └── MyUserDetails.java │ └── bbs │ │ ├── Badge.java │ │ ├── BadgeShow.java │ │ ├── CheckCommentAd.java │ │ ├── CheckTopicAd.java │ │ ├── Comment.java │ │ ├── CommentAd.java │ │ ├── CommunityLevel.java │ │ ├── Node.java │ │ ├── Section.java │ │ ├── Topic.java │ │ └── TopicAd.java │ ├── service │ ├── account │ │ ├── AccountManager.java │ │ ├── MyUserDetailsServiceImpl.java │ │ └── UserDetailsServiceImpl.java │ ├── bbs │ │ └── BbsManager.java │ └── filter │ │ └── ImageFilter.java │ ├── utils │ ├── email │ │ ├── EmailUtils.java │ │ ├── GenerateLinkUtils.java │ │ └── password.dat │ ├── hibernate │ │ ├── hibernate.cfg.xml │ │ ├── hibernate.properties │ │ ├── hibernate.reveng.xml │ │ ├── hibernate2.cfg.xml │ │ ├── hibernate2.properties │ │ └── hibernate2.reveng.xml │ ├── level │ │ ├── LevelImgUpload.java │ │ └── LevelUtil.java │ ├── md5 │ │ ├── EncryptUtil.java │ │ └── Md5PasswordEncoderUtil.java │ ├── sort │ │ └── ComparatorAuthority.java │ └── zstring │ │ └── MyStringUtil.java │ └── web │ └── mypace │ ├── ForgetAction.java │ ├── IndexAction.java │ ├── LoginAction.java │ ├── UserAction.java │ └── bbs │ ├── BadgeAction.java │ ├── CommentAction.java │ ├── CommunityadminAction.java │ ├── HelpAction.java │ ├── ShowlevelimgAction.java │ ├── TopicAction.java │ └── UserinfoAction.java ├── ehcache └── ehcache-hibernate-local.xml ├── log4j.properties ├── spring ├── application.test.properties └── applicationContext-test.xml ├── struts.xml └── test └── cn └── tiger └── service └── bbs ├── AccountManagerTest.java ├── BbsManagerTest.java └── TestDigestUtils.java /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | MySpringBBSSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.common.project.facet.core.builder 20 | 21 | 22 | 23 | 24 | org.eclipse.wst.validation.validationbuilder 25 | 26 | 27 | 28 | 29 | 30 | org.eclipse.jem.workbench.JavaEMFNature 31 | org.eclipse.wst.common.modulecore.ModuleCoreNature 32 | org.eclipse.wst.common.project.facet.core.nature 33 | org.eclipse.jdt.core.javanature 34 | org.eclipse.wst.jsdt.core.jsNature 35 | 36 | 37 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/cn/tiger/dao/account/AuthorityDao.java=UTF-8 3 | encoding//src/cn/tiger/dao/account/RoleDao.java=UTF-8 4 | encoding//src/cn/tiger/dao/account/UserDao.java=UTF-8 5 | encoding//src/cn/tiger/dao/bbs/CommentDao.java=UTF-8 6 | encoding//src/cn/tiger/dao/bbs/NodeDao.java=UTF-8 7 | encoding//src/cn/tiger/dao/bbs/TopicDao.java=UTF-8 8 | encoding//src/cn/tiger/service/account/MyUserDetailsServiceImpl.java=UTF-8 9 | encoding//src/cn/tiger/service/account/UserDetailsServiceImpl.java=UTF-8 10 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.compliance=1.7 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=1.7 8 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/antlr-2.7.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/antlr-2.7.6.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/aopalliance-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/aopalliance-1.0.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/aspectjrt-1.6.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/aspectjrt-1.6.9.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/aspectjweaver-1.6.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/aspectjweaver-1.6.9.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/cglib-nodep-2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/cglib-nodep-2.2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-codec-1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-codec-1.6.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-collections-3.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-dbcp-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-dbcp-1.4.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-fileupload-1.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-io-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-io-1.4.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-lang-2.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-lang-2.5.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-logging-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/commons-pool-1.5.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/commons-pool-1.5.4.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/dom4j-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/dom4j-1.6.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/download.bat: -------------------------------------------------------------------------------- 1 | call mvn -f pom.xml dependency:copy-dependencies 2 | @pause -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/ehcache-1.6.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/ehcache-1.6.2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/freemarker-2.3.16.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/freemarker-2.3.16.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/guava-r06.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/guava-r06.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/h2-1.2.142.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/h2-1.2.142.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/hibernate-annotations-3.5.5-Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/hibernate-annotations-3.5.5-Final.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/hibernate-core-3.5.5-Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/hibernate-core-3.5.5-Final.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/hibernate-ehcache-3.5.5-Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/hibernate-ehcache-3.5.5-Final.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jackson-core-asl-1.6.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/jackson-core-asl-1.6.0.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jackson-mapper-asl-1.6.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/jackson-mapper-asl-1.6.0.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/javassist-3.12.1.GA.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/javassist-3.12.1.GA.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jstl-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/jstl-1.2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/jta-1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/jta-1.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/log4j-1.2.16.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/log4j-1.2.16.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/mail.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/mail.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/mysql-connector-java-5.1.26-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/mysql-connector-java-5.1.26-bin.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/ognl-3.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/ognl-3.0.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/slf4j-log4j12-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/slf4j-log4j12-1.6.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-aop-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-aop-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-asm-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-asm-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-beans-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-beans-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-context-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-context-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-context-support-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-context-support-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-core-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-core-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-expression-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-expression-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-jdbc-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-jdbc-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-orm-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-orm-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-security-acl-3.0.3.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-security-acl-3.0.3.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-security-taglibs-3.0.3.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-security-taglibs-3.0.3.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-tx-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-tx-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-web-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-web-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/spring-webmvc-3.0.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/spring-webmvc-3.0.4.RELEASE.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/springside3-core-3.3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/springside3-core-3.3.4.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/standard-1.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/standard-1.1.2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/struts2-convention-plugin-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/struts2-convention-plugin-2.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/struts2-core-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/struts2-core-2.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/struts2-spring-plugin-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/struts2-spring-plugin-2.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/xml-apis-1.0.b2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/xml-apis-1.0.b2.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/lib/xwork-core-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/WEB-INF/lib/xwork-core-2.2.1.jar -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/help/support.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | Mine 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 |
22 |
23 | <%@ include file="/common/header.jsp"%> 24 |
25 |
26 | 27 |
28 |
29 |
30 |
31 |
32 |
33 |
springbbs Support
34 |
35 |
36 | SpringBBS是以Spring、Struts2和hibernate技术开发的开源论坛项目。整个项目构建在(SpringSide3)开源框架之上。 37 |
38 |
39 |
40 | SpringBBS完成了论坛的所有基础功能,包括用户管理(注册、登录以及用户资料等) ,帖子管理(发帖、回复、置顶等)以及一些附加功能。 41 |
42 |
43 | 开发SpringBBS的最初动机是熟悉SSH开发,学习当下流行的JavaWeb开发技术。 44 |
45 |
46 | 作为SpringBBS的第一个版本,项目仍有很多不足和错误,会在后续版本中陆续完善。 47 |
48 |
49 | 欢迎你的加入! 50 |
51 |
52 | 开源地址: 53 | https://github.com/muzili90/SpringBBS.git 54 |
55 |
56 | 微博: http://weibo.com/u/5571130417 57 |
58 |
59 | blog: http://blog.csdn.net/muzili90s 60 |
61 |
62 | email: muzili_90@foxmail.com 63 | 64 |
65 |
66 |
67 |
68 |
69 | 70 |
71 |
72 |
73 |
74 | 75 |
76 |
77 | <%@ include file="/common/footer.jsp"%> 78 |
79 |
80 | 81 |
82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/forget.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 找回密码 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
1、验证用户名
51 |
2、验证电子邮件
52 |
3、邮件发送成功
53 |
54 |
55 |
56 |
57 |
58 |
59 | 60 |
61 | 63 |
${session.errorMsg}
64 |
65 |
66 |
67 |
68 | 69 |
70 |
71 |
72 | 73 |
74 |
75 |
76 |
77 |
78 |
79 | 80 |
81 | 82 |
83 | 84 |
85 | 86 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/forgetResetPasswordError.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 重置密码 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 | 重置密码 50 |
51 |
52 |
53 |
54 |
55 |
56 |
${session.tipMsg}
57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |
65 | 66 |
67 | 68 | 70 | 71 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/forgetResetPasswordSuccess.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 重置密码成功 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 | 重置密码 50 |
51 |
52 |
53 |
54 |
55 |
56 |
${session.tipMsg}
57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |
65 | 66 |
67 | 68 | 70 | 71 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/forgetSuccess.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 找回密码 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
1、验证用户名
51 |
2、验证电子邮件
52 |
3、邮件发送成功
53 |
54 |
55 |
56 |
57 |
58 |
59 |
${session.tipMsg}
60 |
61 |
62 |
63 |
64 | 65 |
66 |
67 |
68 |
69 | 70 |
71 | 72 | 74 | 75 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/resetPasswordError.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 重置密码 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 | 重置密码 50 |
51 |
52 |
53 |
54 |
55 |
56 |
${session.tipMsg}
57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |
65 | 66 |
67 | 68 | 70 | 71 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/user/resetPasswordSuccess.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ include file="/common/taglibs.jsp"%> 4 | 5 | 6 | 7 | 重置密码成功 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 |
30 | 31 |
32 |
33 | <%@ include file="/common/header.jsp"%> 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 |
45 |
46 |
47 |
48 |
49 | 重置密码 50 |
51 |
52 |
53 |
54 |
55 |
56 |
${session.tipMsg}
57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |
65 | 66 |
67 | 68 | 70 | 71 | -------------------------------------------------------------------------------- /WebContent/WEB-INF/zz7/mypace/userinfo/infoBadge.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ page 4 | import="org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter"%> 5 | <%@ page 6 | import="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"%> 7 | <%@ page import="org.springframework.security.web.WebAttributes"%> 8 | <%@ include file="/common/taglibs.jsp"%> 9 | 10 | 11 | 12 | Mine 13 | 14 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 |
34 |
35 | <%@ include file="/common/header.jsp"%> 36 |
37 |
38 | 39 |
40 |
41 |
42 |
43 |
44 |
45 |
徽章信息
46 | 47 |
48 | src='${ctx}/'/> 49 |
50 | 51 | 52 |
53 |
54 |
55 |
56 |
57 |
58 | 59 |
60 |
61 |
62 |
63 | 64 |
65 |
66 | <%@ include file="/common/footer.jsp"%> 67 |
68 |
69 | 70 |
71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /WebContent/bootstrap/bootstrapvalidator/css/bootstrapValidator.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @author http://twitter.com/nghuuphuoc 6 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 7 | * @license MIT 8 | */ 9 | 10 | .bv-form .help-block { 11 | margin-bottom: 0; 12 | } 13 | .bv-form .tooltip-inner { 14 | text-align: left; 15 | } 16 | .nav-tabs li.bv-tab-success > a { 17 | color: #3c763d; 18 | } 19 | .nav-tabs li.bv-tab-error > a { 20 | color: #a94442; 21 | } 22 | 23 | .bv-form .bv-icon-no-label { 24 | top: 0; 25 | } 26 | 27 | .bv-form .bv-icon-input-group { 28 | top: 0; 29 | z-index: 100; 30 | } -------------------------------------------------------------------------------- /WebContent/bootstrap/bootstrapvalidator/css/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @version v0.5.2, built on 2014-09-25 4:01:07 PM 6 | * @author https://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license MIT 9 | */ 10 | 11 | .bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100} -------------------------------------------------------------------------------- /WebContent/bootstrap/distpicker/distpicker.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Distpicker v1.0.4 3 | * https://github.com/fengyuanchen/distpicker 4 | * 5 | * Copyright (c) 2014-2016 Fengyuan Chen 6 | * Released under the MIT license 7 | * 8 | * Date: 2016-06-01T15:05:52.606Z 9 | */ 10 | !function(t){"function"==typeof define&&define.amd?define(["jquery","ChineseDistricts"],t):"object"==typeof exports?t(require("jquery"),require("ChineseDistricts")):t(jQuery,ChineseDistricts)}(function(t,i){"use strict";function e(i,s){this.$element=t(i),this.options=t.extend({},e.DEFAULTS,t.isPlainObject(s)&&s),this.placeholders=t.extend({},e.DEFAULTS),this.active=!1,this.init()}if("undefined"==typeof i)throw new Error('The file "distpicker.data.js" must be included first!');var s="distpicker",n="change."+s,c="province",o="city",r="district";e.prototype={constructor:e,init:function(){var i=this.options,e=this.$element.find("select"),s=e.length,n={};e.each(function(){t.extend(n,t(this).data())}),t.each([c,o,r],t.proxy(function(t,c){n[c]?(i[c]=n[c],this["$"+c]=e.filter("[data-"+c+"]")):this["$"+c]=s>t?e.eq(t):null},this)),this.bind(),this.reset(),this.active=!0},bind:function(){this.$province&&this.$province.on(n,this._changeProvince=t.proxy(function(){this.output(o),this.output(r)},this)),this.$city&&this.$city.on(n,this._changeCity=t.proxy(function(){this.output(r)},this))},unbind:function(){this.$province&&this.$province.off(n,this._changeProvince),this.$city&&this.$city.off(n,this._changeCity)},output:function(e){var s,n,h,d=this.options,u=this.placeholders,a=this["$"+e],f={},p=[];a&&a.length&&(h=d[e],s=e===c?86:e===o?this.$province&&this.$province.find(":selected").data("code"):e===r?this.$city&&this.$city.find(":selected").data("code"):s,f=t.isNumeric(s)?i[s]:null,t.isPlainObject(f)&&t.each(f,function(t,i){var e=i===h;e&&(n=!0),p.push({code:t,address:i,selected:e})}),n||(p.length&&(d.autoSelect||d.autoselect)&&(p[0].selected=!0),!this.active&&h&&(u[e]=h)),d.placeholder&&p.unshift({code:"",address:u[e],selected:!1}),a.html(this.getList(p)))},getList:function(i){var e=[];return t.each(i,function(t,i){e.push('")}),e.join("")},reset:function(t){t?this.$province&&this.$province.find(":first").prop("selected",!0).trigger(n):(this.output(c),this.output(o),this.output(r))},destroy:function(){this.unbind(),this.$element.removeData(s)}},e.DEFAULTS={autoSelect:!0,placeholder:!0,province:"—— 省 ——",city:"—— 市 ——",district:"—— 区 ——"},e.setDefaults=function(i){t.extend(e.DEFAULTS,i)},e.other=t.fn.distpicker,t.fn.distpicker=function(i){var n=[].slice.call(arguments,1);return this.each(function(){var c,o,r=t(this),h=r.data(s);if(!h){if(/destroy/.test(i))return;c=t.extend({},r.data(),t.isPlainObject(i)&&i),r.data(s,h=new e(this,c))}"string"==typeof i&&t.isFunction(o=h[i])&&o.apply(h,n)})},t.fn.distpicker.Constructor=e,t.fn.distpicker.setDefaults=e.setDefaults,t.fn.distpicker.noConflict=function(){return t.fn.distpicker=e.other,this},t(function(){t('[data-toggle="distpicker"]').distpicker()})}); -------------------------------------------------------------------------------- /WebContent/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /WebContent/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /WebContent/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /WebContent/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /WebContent/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /WebContent/bootstrap/simditor/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/simditor/images/image.png -------------------------------------------------------------------------------- /WebContent/bootstrap/simditor/scripts/hotkeys.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){"function"==typeof define&&define.amd? 2 | // AMD. Register as an anonymous module unless amdModuleId is set 3 | define("simple-hotkeys",["jquery","simple-module"],function(c,d){return a.hotkeys=b(c,d)}):"object"==typeof exports? 4 | // Node. Does not work with strict CommonJS, but 5 | // only CommonJS-like environments that support module.exports, 6 | // like Node. 7 | module.exports=b(require("jquery"),require("simple-module")):(a.simple=a.simple||{},a.simple.hotkeys=b(jQuery,SimpleModule))}(this,function(a,b){var c,d,e=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},f={}.hasOwnProperty;return c=function(b){function c(){return c.__super__.constructor.apply(this,arguments)}return e(c,b),c.count=0,c.keyNameMap={8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Spacebar",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",45:"Insert",46:"Del",91:"Meta",93:"Meta",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"Multiply",107:"Add",109:"Subtract",110:"Decimal",111:"Divide",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",124:"F13",125:"F14",126:"F15",127:"F16",128:"F17",129:"F18",130:"F19",131:"F20",132:"F21",133:"F22",134:"F23",135:"F24",59:";",61:"=",186:";",187:"=",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},c.aliases={escape:"esc","delete":"del","return":"enter",ctrl:"control",space:"spacebar",ins:"insert",cmd:"meta",command:"meta",wins:"meta",windows:"meta"},c.normalize=function(a){var b,c,d,e,f,g;for(f=a.toLowerCase().replace(/\s+/gi,"").split("+"),b=c=0,g=f.length;g>c;b=++c)d=f[b],f[b]=this.aliases[d]||d;return e=f.pop(),f.sort().push(e),f.join("_")},c.prototype.opts={el:document},c.prototype._init=function(){return this.id=++this.constructor.count,this._map={},this._delegate="string"==typeof this.opts.el?document:this.opts.el,a(this._delegate).on("keydown.simple-hotkeys-"+this.id,this.opts.el,function(a){return function(b){var c;return null!=(c=a._getHander(b))?c.call(a,b):void 0}}(this))},c.prototype._getHander=function(a){var b,c;if(b=this.constructor.keyNameMap[a.which])return c="",a.altKey&&(c+="alt_"),a.ctrlKey&&(c+="control_"),a.metaKey&&(c+="meta_"),a.shiftKey&&(c+="shift_"),c+=b.toLowerCase(),this._map[c]},c.prototype.respondTo=function(a){return"string"==typeof a?null!=this._map[this.constructor.normalize(a)]:null!=this._getHander(a)},c.prototype.add=function(a,b){return this._map[this.constructor.normalize(a)]=b,this},c.prototype.remove=function(a){return delete this._map[this.constructor.normalize(a)],this},c.prototype.destroy=function(){return a(this._delegate).off(".simple-hotkeys-"+this.id),this._map={},this},c}(b),d=function(a){return new c(a)}}); -------------------------------------------------------------------------------- /WebContent/bootstrap/simditor/scripts/module.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){"function"==typeof define&&define.amd? 2 | // AMD. Register as an anonymous module unless amdModuleId is set 3 | define("simple-module",["jquery"],function(c){return a.Module=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):a.SimpleModule=b(jQuery)}(this,function(a){var b,c=[].slice;return b=function(){function b(b){var c,d,e,f,g,h,i;if(this.opts=a.extend({},this.opts,b),(c=this.constructor)._connectedClasses||(c._connectedClasses=[]),g=function(){var a,b,c,e;for(c=this.constructor._connectedClasses,e=[],a=0,b=c.length;b>a;a++)d=c[a],i=d.pluginName.charAt(0).toLowerCase()+d.pluginName.slice(1),d.prototype._connected&&(d.prototype._module=this),e.push(this[i]=new d);return e}.call(this),this._connected)this.opts=a.extend({},this.opts,this._module.opts);else for(this._init(),e=0,h=g.length;h>e;e++)f=g[e],"function"==typeof f._init&&f._init();this.trigger("initialized")}return b.extend=function(a){var b,c,d;if(null!=a&&"object"==typeof a){for(b in a)d=a[b],"included"!==b&&"extended"!==b&&(this[b]=d);return null!=(c=a.extended)?c.call(this):void 0}},b.include=function(a){var b,c,d;if(null!=a&&"object"==typeof a){for(b in a)d=a[b],"included"!==b&&"extended"!==b&&(this.prototype[b]=d);return null!=(c=a.included)?c.call(this):void 0}},b.connect=function(a){if("function"==typeof a){if(!a.pluginName)throw new Error("Module.connect: cannot connect plugin without pluginName");return a.prototype._connected=!0,this._connectedClasses||(this._connectedClasses=[]),this._connectedClasses.push(a),a.pluginName?this[a.pluginName]=a:void 0}},b.prototype.opts={},b.prototype._init=function(){},b.prototype.on=function(){var b,d;return b=1<=arguments.length?c.call(arguments,0):[],(d=a(this)).on.apply(d,b),this},b.prototype.one=function(){var b,d;return b=1<=arguments.length?c.call(arguments,0):[],(d=a(this)).one.apply(d,b),this},b.prototype.off=function(){var b,d;return b=1<=arguments.length?c.call(arguments,0):[],(d=a(this)).off.apply(d,b),this},b.prototype.trigger=function(){var b,d;return b=1<=arguments.length?c.call(arguments,0):[],(d=a(this)).trigger.apply(d,b),this},b.prototype.triggerHandler=function(){var b,d;return b=1<=arguments.length?c.call(arguments,0):[],(d=a(this)).triggerHandler.apply(d,b)},b.prototype._t=function(){var a,b;return a=1<=arguments.length?c.call(arguments,0):[],(b=this.constructor)._t.apply(b,a)},b._t=function(){var a,b,d,e;return b=arguments[0],a=2<=arguments.length?c.call(arguments,1):[],e=(null!=(d=this.i18n[this.locale])?d[b]:void 0)||"",a.length>0?(e=e.replace(/([^%]|^)%(?:(\d+)\$)?s/g,function(b,c,d){return d?c+a[parseInt(d)-1]:c+a.shift()}),e.replace(/%%s/g,"%s")):e},b.i18n={"zh-CN":{}},b.locale="zh-CN",b}()}); -------------------------------------------------------------------------------- /WebContent/bootstrap/simditor/scripts/simditor.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/bootstrap/simditor/scripts/simditor.txt -------------------------------------------------------------------------------- /WebContent/bootstrap/simditor/styles/simditor.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import 'fonticon'; 4 | @import 'editor'; 5 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shAutoloader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d)/g 47 | }); 48 | }; 49 | 50 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 51 | Brush.aliases = ['java']; 52 | 53 | SyntaxHighlighter.brushes.Java = Brush; 54 | 55 | // CommonJS 56 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 57 | })(); 58 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushJavaFX.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Patrick Webster 25 | // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html 26 | var datatypes = 'Boolean Byte Character Double Duration ' 27 | + 'Float Integer Long Number Short String Void' 28 | ; 29 | 30 | var keywords = 'abstract after and as assert at before bind bound break catch class ' 31 | + 'continue def delete else exclusive extends false finally first for from ' 32 | + 'function if import in indexof init insert instanceof into inverse last ' 33 | + 'lazy mixin mod nativearray new not null on or override package postinit ' 34 | + 'protected public public-init public-read replace return reverse sizeof ' 35 | + 'step super then this throw true try tween typeof var where while with ' 36 | + 'attribute let private readonly static trigger' 37 | ; 38 | 39 | this.regexList = [ 40 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, 41 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, 42 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 43 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 44 | { regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' }, // numbers 45 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'variable' }, // datatypes 46 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 47 | ]; 48 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 49 | }; 50 | 51 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 52 | Brush.aliases = ['jfx', 'javafx']; 53 | 54 | SyntaxHighlighter.brushes.JavaFX = Brush; 55 | 56 | // CommonJS 57 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 58 | })(); 59 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushPlain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | }; 25 | 26 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 27 | Brush.aliases = ['text', 'plain']; 28 | 29 | SyntaxHighlighter.brushes.Plain = Brush; 30 | 31 | // CommonJS 32 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 33 | })(); 34 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushPython.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Gheorghe Milas and Ahmad Sherif 25 | 26 | var keywords = 'and assert break class continue def del elif else ' + 27 | 'except exec finally for from global if import in is ' + 28 | 'lambda not or pass print raise return try yield while'; 29 | 30 | var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' + 31 | 'chr classmethod cmp coerce compile complex delattr dict dir ' + 32 | 'divmod enumerate eval execfile file filter float format frozenset ' + 33 | 'getattr globals hasattr hash help hex id input int intern ' + 34 | 'isinstance issubclass iter len list locals long map max min next ' + 35 | 'object oct open ord pow print property range raw_input reduce ' + 36 | 'reload repr reversed round set setattr slice sorted staticmethod ' + 37 | 'str sum super tuple type type unichr unicode vars xrange zip'; 38 | 39 | var special = 'None True False self cls class_'; 40 | 41 | this.regexList = [ 42 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, 43 | { regex: /^\s*@\w+/gm, css: 'decorator' }, 44 | { regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' }, 45 | { regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' }, 46 | { regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' }, 47 | { regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' }, 48 | { regex: /\b\d+\.?\w*/g, css: 'value' }, 49 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, 50 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, 51 | { regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' } 52 | ]; 53 | 54 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 55 | }; 56 | 57 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 58 | Brush.aliases = ['py', 'python']; 59 | 60 | SyntaxHighlighter.brushes.Python = Brush; 61 | 62 | // CommonJS 63 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 64 | })(); 65 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushRuby.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Erik Peterson. 25 | 26 | var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' + 27 | 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' + 28 | 'self super then throw true undef unless until when while yield'; 29 | 30 | var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' + 31 | 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' + 32 | 'ThreadGroup Thread Time TrueClass'; 33 | 34 | this.regexList = [ 35 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 36 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 37 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 38 | { regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, // constants 39 | { regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, // symbols 40 | { regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, // $global, @instance, and @@class variables 41 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 42 | { regex: new RegExp(this.getKeywords(builtins), 'gm'), css: 'color1' } // builtins 43 | ]; 44 | 45 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 46 | }; 47 | 48 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 49 | Brush.aliases = ['ruby', 'rails', 'ror', 'rb']; 50 | 51 | SyntaxHighlighter.brushes.Ruby = Brush; 52 | 53 | // CommonJS 54 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 55 | })(); 56 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushScala.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | // Contributed by Yegor Jbanov and David Bernard. 25 | 26 | var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' + 27 | 'override try lazy for var catch throw type extends class while with new final yield abstract ' + 28 | 'else do if return protected private this package false'; 29 | 30 | var keyops = '[_:=><%#@]+'; 31 | 32 | this.regexList = [ 33 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 34 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 35 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // multi-line strings 36 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double-quoted string 37 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 38 | { regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value' }, // numbers 39 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 40 | { regex: new RegExp(keyops, 'gm'), css: 'keyword' } // scala keyword 41 | ]; 42 | } 43 | 44 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 45 | Brush.aliases = ['scala']; 46 | 47 | SyntaxHighlighter.brushes.Scala = Brush; 48 | 49 | // CommonJS 50 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 51 | })(); 52 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushSql.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var funcs = 'abs avg case cast coalesce convert count current_timestamp ' + 25 | 'current_user day isnull left lower month nullif replace right ' + 26 | 'session_user space substring sum system_user upper user year'; 27 | 28 | var keywords = 'absolute action add after alter as asc at authorization begin bigint ' + 29 | 'binary bit by cascade char character check checkpoint close collate ' + 30 | 'column commit committed connect connection constraint contains continue ' + 31 | 'create cube current current_date current_time cursor database date ' + 32 | 'deallocate dec decimal declare default delete desc distinct double drop ' + 33 | 'dynamic else end end-exec escape except exec execute false fetch first ' + 34 | 'float for force foreign forward free from full function global goto grant ' + 35 | 'group grouping having hour ignore index inner insensitive insert instead ' + 36 | 'int integer intersect into is isolation key last level load local max min ' + 37 | 'minute modify move name national nchar next no numeric of off on only ' + 38 | 'open option order out output partial password precision prepare primary ' + 39 | 'prior privileges procedure public read real references relative repeatable ' + 40 | 'restrict return returns revoke rollback rollup rows rule schema scroll ' + 41 | 'second section select sequence serializable set size smallint static ' + 42 | 'statistics table temp temporary then time timestamp to top transaction ' + 43 | 'translation trigger true truncate uncommitted union unique update values ' + 44 | 'varchar varying view when where with work'; 45 | 46 | var operators = 'all and any between cross in join like not null or outer some'; 47 | 48 | this.regexList = [ 49 | { regex: /--(.*)$/gm, css: 'comments' }, // one line and multiline comments 50 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings 51 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // single quoted strings 52 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' }, // functions 53 | { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such 54 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 55 | ]; 56 | }; 57 | 58 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 59 | Brush.aliases = ['sql']; 60 | 61 | SyntaxHighlighter.brushes.Sql = Brush; 62 | 63 | // CommonJS 64 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 65 | })(); 66 | 67 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushVb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' + 25 | 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' + 26 | 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' + 27 | 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' + 28 | 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' + 29 | 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' + 30 | 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' + 31 | 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' + 32 | 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' + 33 | 'Overloads Overridable Overrides ParamArray Preserve Private Property ' + 34 | 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' + 35 | 'Return Select Set Shadows Shared Short Single Static Step Stop String ' + 36 | 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' + 37 | 'Variant When While With WithEvents WriteOnly Xor'; 38 | 39 | this.regexList = [ 40 | { regex: /'.*$/gm, css: 'comments' }, // one line comments 41 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 42 | { regex: /^\s*#.*$/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 43 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // vb keyword 44 | ]; 45 | 46 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 47 | }; 48 | 49 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 50 | Brush.aliases = ['vb', 'vbnet']; 51 | 52 | SyntaxHighlighter.brushes.Vb = Brush; 53 | 54 | // CommonJS 55 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 56 | })(); 57 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shBrushXml.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | function process(match, regexInfo) 25 | { 26 | var constructor = SyntaxHighlighter.Match, 27 | code = match[0], 28 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code), 29 | result = [] 30 | ; 31 | 32 | if (match.attributes != null) 33 | { 34 | var attributes, 35 | regex = new XRegExp('(? [\\w:\\-\\.]+)' + 36 | '\\s*=\\s*' + 37 | '(? ".*?"|\'.*?\'|\\w+)', 38 | 'xg'); 39 | 40 | while ((attributes = regex.exec(code)) != null) 41 | { 42 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1')); 43 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string')); 44 | } 45 | } 46 | 47 | if (tag != null) 48 | result.push( 49 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword') 50 | ); 51 | 52 | return result; 53 | } 54 | 55 | this.regexList = [ 56 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // 57 | { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // 58 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process } 59 | ]; 60 | }; 61 | 62 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 63 | Brush.aliases = ['xml', 'xhtml', 'xslt', 'html']; 64 | 65 | SyntaxHighlighter.brushes.Xml = Brush; 66 | 67 | // CommonJS 68 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 69 | })(); 70 | -------------------------------------------------------------------------------- /WebContent/bootstrap/syntaxhighlighter/scripts/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2 a!=1?a.E():1}c=c.I(":");3 g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R c)e[c[j]]="r";k=f(d(k,5.C));l=f(d(l,5.D));m=f(d(m,5.s));o=f(d(o,5.Q));n=f(d(n,5["x-y"]));2{P:g,C:d(t[e.O],k),D:d(t[e.N],l),s:d({"r":r}[e.s],m),"x-y":d(4(a,b){9(3 h=T S("^"+b+"\\\\[(?\\\\w+)\\\\]$","U"),i=1,p=0;p 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 403 - 缺少权限 8 | 9 | 10 | 11 |
12 |

你没有访问该页面的权限.

13 | 14 |
15 | 16 | -------------------------------------------------------------------------------- /WebContent/common/404.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 404 - 页面不存在 8 | 9 | 10 | 11 |
12 |

页面不存在.

13 | 14 |
15 | 16 | -------------------------------------------------------------------------------- /WebContent/common/500.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | <%@ page import="org.slf4j.Logger,org.slf4j.LoggerFactory" %> 4 | 5 | <% 6 | Throwable ex = null; 7 | if (exception != null) 8 | ex = exception; 9 | if (request.getAttribute("javax.servlet.error.exception") != null) 10 | ex = (Throwable) request.getAttribute("javax.servlet.error.exception"); 11 | 12 | //记录日志 13 | Logger logger = LoggerFactory.getLogger("500.jsp"); 14 | logger.error(ex.getMessage(), ex); 15 | %> 16 | 17 | 18 | 19 | 20 | 500 - 系统内部错误 21 | 22 | 23 | 24 |

系统发生内部错误.

25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /WebContent/common/footer.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ page import="org.springside.modules.security.springsecurity.SpringSecurityUtils" %> 4 | <%@ include file="/common/taglibs.jsp" %> 5 | 6 |
7 |
  主页  约吗  论坛 标签
8 | 9 |
10 | 支持 | 帮助   11 |
12 | 13 |
-------------------------------------------------------------------------------- /WebContent/common/header.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ page import="org.springside.modules.security.springsecurity.SpringSecurityUtils" %> 4 | <%@ include file="/common/taglibs.jsp" %> 5 | 6 |
7 |
  主页  约吗  论坛 标签
8 | 9 |
10 | <%boolean loginVa=SpringSecurityUtils.getCurrentUser()==null; %> 11 | <%if(loginVa==true){%> 12 | 登录 13 | <%}else{ %> 14 | 你好,   登出 15 | <%} %> 16 | | 捐赠 | 帮助   17 |
18 | 19 |
-------------------------------------------------------------------------------- /WebContent/common/meta.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WebContent/common/taglibs.jsp: -------------------------------------------------------------------------------- 1 | <%@ taglib prefix="s" uri="/struts-tags" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %> 4 | <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> 5 | 6 | -------------------------------------------------------------------------------- /WebContent/css/bbs.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/css/bbs.css -------------------------------------------------------------------------------- /WebContent/css/donate.css: -------------------------------------------------------------------------------- 1 | .donate{ 2 | text-align: center; 3 | margin-top:50px; 4 | margin-bottom: 50px; 5 | } 6 | 7 | .infoBorder { 8 | border:1px solid #336699; 9 | } 10 | 11 | .infoMarginTop{ 12 | margin-top: 20px; 13 | } 14 | 15 | .infoMarginBottom{ 16 | margin-bottom: 20px; 17 | } 18 | 19 | .infoBadgeDiv{ 20 | height:625px; 21 | } 22 | 23 | .donateInfo{ 24 | text-align: center; 25 | } -------------------------------------------------------------------------------- /WebContent/css/forget.css: -------------------------------------------------------------------------------- 1 | .forget-table-main{ 2 | height:40px; 3 | padding:5px; 4 | } 5 | 6 | .forget-table1{ 7 | width:33.3%; 8 | height:100%; 9 | text-align: center; 10 | line-height: 25px; 11 | background-color: #22C65B; 12 | color:#ffffff; 13 | border:1px solid #336699; 14 | border-left:1px solid #336699; 15 | border-right:1px solid #ffffff; 16 | border-bottom:1px solid #336699; 17 | } 18 | 19 | .forget-table2{ 20 | width:33.3%; 21 | height:100%; 22 | text-align: center; 23 | line-height: 25px; 24 | background-color: #22C65B; 25 | color:#ffffff; 26 | border:1px solid #336699; 27 | border-left:1px solid #FFFFFF; 28 | border-right:1px solid #ffffff; 29 | border-bottom:1px solid #336699; 30 | } 31 | 32 | .forget-table3{ 33 | width:33.3%; 34 | height:100%; 35 | text-align: center; 36 | line-height: 25px; 37 | background-color: #22C65B; 38 | color:#ffffff; 39 | border:1px solid #336699; 40 | border-left:1px solid #FFFFFF; 41 | border-right:1px solid #336699; 42 | border-bottom:1px solid #336699; 43 | } 44 | 45 | .border1pxnobottom{ 46 | border:1px solid #336699; 47 | border-left:1px solid #336699; 48 | border-right:1px solid #336699; 49 | border-bottom:1px solid #FFFFFF; 50 | } 51 | 52 | .forget-table2-red{ 53 | background-color: red; 54 | } 55 | 56 | .forget-table3-red{ 57 | background-color: red; 58 | } 59 | 60 | .reset-table-main{ 61 | border:1px solid #336699; 62 | background-color: #22C65B; 63 | color:#ffffff; 64 | text-align: center; 65 | line-height: 25px; 66 | 67 | } 68 | 69 | .errorMsg{ 70 | margin-top:10px; 71 | color:red; 72 | } -------------------------------------------------------------------------------- /WebContent/css/help.css: -------------------------------------------------------------------------------- 1 | .infoBorder { 2 | border:1px solid #336699; 3 | } 4 | 5 | .infoMarginTop{ 6 | margin-top: 20px; 7 | } 8 | 9 | .infoMarginBottom{ 10 | margin-bottom: 20px; 11 | } 12 | 13 | .infoHelpDiv{ 14 | height:985px; 15 | } 16 | 17 | .infoHelpDiv2{ 18 | height:625px; 19 | } 20 | 21 | .helpFont24PX{ 22 | font-size: 24px; 23 | } 24 | 25 | .helpFont16PX{ 26 | font-size: 14px; 27 | } 28 | 29 | .helpFont18PX{ 30 | font-size: 18px; 31 | } 32 | 33 | .colorBlue{ 34 | color:#0080c0; 35 | } -------------------------------------------------------------------------------- /WebContent/css/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/css/index.css -------------------------------------------------------------------------------- /WebContent/css/register.css: -------------------------------------------------------------------------------- 1 | 2 | .showborder { 3 | border:1px solid #336699; 4 | } 5 | 6 | .rowheight150{ 7 | height:150px; 8 | } 9 | 10 | .rowheight350{ 11 | height:350px; 12 | } 13 | 14 | .spanheight5{ 15 | height:5px; 16 | } 17 | 18 | .center{ 19 | height:460px; 20 | border:1px solid #336699; 21 | border-right:1px solid #ffffff; 22 | border-bottom:1px solid #ffffff; 23 | padding:40px; 24 | } -------------------------------------------------------------------------------- /WebContent/css/style.css: -------------------------------------------------------------------------------- 1 | /* global */ 2 | a {color: #4d87ce;} 3 | 4 | th, td {border-color: #999;} 5 | 6 | table.noborder th, table.noborder td {border: none;} 7 | 8 | .error,.success { padding: .5em; margin-bottom: 1em; margin-top: 1em; border: 2px solid #ddd; } 9 | .error { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; } 10 | .success { background: #E6EFC2; color: #264409; border-color: #C6D880; } 11 | .error a { color: #8a1f11; } 12 | .success a { color: #264409; } 13 | 14 | /* form */ 15 | input[type=text], input[type=password], textarea, select { 16 | background-color:#fff; 17 | border:1px solid #bbb; 18 | padding:2px; 19 | } 20 | 21 | input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus { 22 | border-color:#666; 23 | } 24 | 25 | /* header */ 26 | #title h1 { 27 | font-size: 153.9%; 28 | letter-spacing: .1em; 29 | margin:0.5em 0; 30 | } 31 | 32 | #title h2 { 33 | color: #999; 34 | letter-spacing: .1em; 35 | margin:0.5em 0; 36 | } 37 | 38 | #menu ul { 39 | margin:0 0 0 0; 40 | padding: 0.5em; 41 | font-weight: bold; 42 | background: #BACE87; 43 | border-top: 2px solid #658A16; 44 | border-bottom: 2px solid #658A16; 45 | } 46 | 47 | #menu li {display: inline;} 48 | 49 | #menu ul a { 50 | padding: 0.5em; 51 | text-decoration: none; 52 | color: #fff; 53 | } 54 | 55 | #menu a:hover {background: #658A16;} 56 | 57 | /* body */ 58 | #filter,#content {margin-top:1em;} 59 | 60 | /* footer */ 61 | #ft { 62 | margin-top: 15px; 63 | padding: 15px 0px 0px 0px; 64 | font-size: 95%; 65 | text-align: center; 66 | border-top: 2px solid #658A16; 67 | } 68 | 69 | #ft a {color: #999;} -------------------------------------------------------------------------------- /WebContent/css/userinfo.css: -------------------------------------------------------------------------------- 1 | .infoLeve{ 2 | height:160px; 3 | padding-left:10px; 4 | padding-top:10px; 5 | } 6 | 7 | .infoBorder { 8 | border:1px solid #336699; 9 | } 10 | 11 | .infoMarginTop{ 12 | margin-top: 20px; 13 | } 14 | 15 | .infoMarginBottom{ 16 | margin-bottom: 20px; 17 | } 18 | 19 | .infoBadgeDiv{ 20 | height:625px; 21 | } 22 | 23 | .infoBedge{ 24 | height:160px; 25 | padding-left:10px; 26 | padding-top:10px; 27 | 28 | } 29 | 30 | .baseInfoTitle{ 31 | margin-top:30px; 32 | margin-left:30px; 33 | } 34 | 35 | .infoRight{ 36 | height:625px; 37 | margin-bottom: 20px; 38 | } 39 | 40 | .textBold{ 41 | font-weight: bold; 42 | } 43 | 44 | .btnEdit{ 45 | margin-right:25px; 46 | line-height: 10px; 47 | } 48 | 49 | .baseInfoText{ 50 | margin-top:30px; 51 | margin-left:30px; 52 | text-align: right; 53 | } 54 | 55 | .baseInfoInput{ 56 | text-align: left; 57 | } 58 | 59 | .baseInfoTextDiv{ 60 | margin-bottom: 15px; 61 | color:#808080; 62 | } 63 | 64 | .baseInfoTextDivValue{ 65 | margin-bottom: 15px; 66 | } 67 | 68 | .inputBaseInfoTextDivValue{ 69 | margin-bottom: 11px; 70 | } 71 | 72 | .inputSignatureTextWidth{ 73 | width:395px; 74 | } 75 | 76 | .inputJobAndQQTextWidth{ 77 | width:140px; 78 | } 79 | 80 | .imgLevel{ 81 | margin-top:5px; 82 | } 83 | 84 | .experienceDiv{ 85 | margin-top:5px; 86 | } 87 | 88 | .rankDiv{ 89 | margin-top:5px; 90 | } 91 | 92 | .getBadgeText{ 93 | color:#ff8000; 94 | } 95 | 96 | .badgeInfoText{ 97 | margin-top:10px; 98 | margin-left:10px; 99 | margin-bottom:10px; 100 | } 101 | 102 | .badgeFullImgDiv{ 103 | margin-top:20px; 104 | margin-left:20px; 105 | } 106 | 107 | .badgeSmallImgDiv{ 108 | margin-top:10px; 109 | margin-left:10px; 110 | } 111 | 112 | .getBadgeText{ 113 | margin-top:10px; 114 | text-align: center; 115 | } 116 | 117 | .BadgeAlt{ 118 | margin-top:10px; 119 | width:145px; 120 | color:#ff8000; 121 | } -------------------------------------------------------------------------------- /WebContent/images/badge/badge1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/badge/badge1.jpg -------------------------------------------------------------------------------- /WebContent/images/badge/badge2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/badge/badge2.gif -------------------------------------------------------------------------------- /WebContent/images/badge/badge2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/badge/badge2.jpg -------------------------------------------------------------------------------- /WebContent/images/badge/full_img/badge1full.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/badge/full_img/badge1full.jpg -------------------------------------------------------------------------------- /WebContent/images/badge/full_img/badge2full.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/badge/full_img/badge2full.jpg -------------------------------------------------------------------------------- /WebContent/images/icons/huoyan.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/icons/huoyan.fw.png -------------------------------------------------------------------------------- /WebContent/images/icons/huoyan.fwlg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/icons/huoyan.fwlg.jpg -------------------------------------------------------------------------------- /WebContent/images/icons/shuishou.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/icons/shuishou.gif -------------------------------------------------------------------------------- /WebContent/images/icons/spring.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/icons/spring.jpg -------------------------------------------------------------------------------- /WebContent/images/icons/spring2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/icons/spring2.jpg -------------------------------------------------------------------------------- /WebContent/images/levelImg/level1.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level1.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level2.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level2.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level3.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level3.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level4.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level4.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level5.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level5.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level6.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level6.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level7.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level7.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level8.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level8.fw.png -------------------------------------------------------------------------------- /WebContent/images/levelImg/level9.fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/images/levelImg/level9.fw.png -------------------------------------------------------------------------------- /WebContent/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | <% response.sendRedirect("mypace/index.action"); %> -------------------------------------------------------------------------------- /WebContent/js/index.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $("button[name='btnPageNo']").text($("input[name='page.pageNo']").val()); 3 | 4 | $("button[name='btnNextPage']").click(function(){ 5 | var nextPage=$("input[name='hiddenNextPage']").val(); 6 | jumpPageTopic(nextPage); 7 | }); 8 | 9 | $("button[name='btnPrePage']").click(function(){ 10 | var prePage=$("input[name='hiddenPrePage']").val(); 11 | jumpPageTopic(prePage); 12 | }); 13 | 14 | $("button[name='btnFirstPage']").click(function(){ 15 | jumpPageTopic(1); 16 | }); 17 | 18 | $("button[name='btnLastPage']").click(function(){ 19 | var lastPage=$("input[name='hiddenLasttPage']").val(); 20 | jumpPageTopic(lastPage); 21 | }); 22 | 23 | 24 | $("#btnGo").click(function(){ 25 | 26 | var goPage=$("#goNumber").val(); 27 | if(goPage==""){ 28 | alert("请输入数字"); 29 | return false; 30 | } 31 | var b=validateNum(goPage); 32 | var lastPage=$("input[name='hiddenLasttPage']").val(); 33 | if(!b){ 34 | alert("请输入数字"); 35 | return false; 36 | }else if(goPage>lastPage){ 37 | alert("超过最大页数"); 38 | return false; 39 | } 40 | jumpPageTopic(goPage); 41 | }); 42 | 43 | //点击标签跳转到该板块 44 | $('.nodeTypeBtn').each( 45 | function() { 46 | $(this).click( 47 | function() { 48 | 49 | var nodeHiddenValue=$(this).next($('.nodeInputHidden')).val(); 50 | var ctx = $("#ctx").attr("value"); 51 | location.href = ctx+"/mypace/bbs/topic!showNodeTopic.action?nodeValue="+nodeHiddenValue; 52 | }) 53 | }) 54 | }) 55 | 56 | function jumpPageTopic(pageNo) { 57 | 58 | 59 | $("#pageNo").val(pageNo); 60 | 61 | var ctx = $("#ctx").attr("value"); 62 | 63 | var newAction = ctx + "/mypace/bbs/topic.action"; 64 | 65 | var frm = $("#topicForm"); 66 | 67 | frm.attr("action", newAction); 68 | 69 | frm.attr("method","post"); 70 | 71 | frm.submit(); 72 | 73 | } 74 | 75 | function validateNum(str){ 76 | var s = /^[0-9]*$/; 77 | return s.test(str); 78 | } -------------------------------------------------------------------------------- /WebContent/js/mypace/nodeIndex.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $("button[name='btnPageNo']").text($("input[name='page.pageNo']").val()); 3 | 4 | $("button[name='btnNextPage']").click(function(){ 5 | var nextPage=$("input[name='hiddenNextPage']").val(); 6 | jumpPageNodeTopic(nextPage); 7 | }); 8 | 9 | $("button[name='btnPrePage']").click(function(){ 10 | var prePage=$("input[name='hiddenPrePage']").val(); 11 | jumpPageNodeTopic(prePage); 12 | }); 13 | 14 | $("button[name='btnFirstPage']").click(function(){ 15 | jumpPageNodeTopic(1); 16 | }); 17 | 18 | $("button[name='btnLastPage']").click(function(){ 19 | var lastPage=$("input[name='hiddenLasttPage']").val(); 20 | jumpPageNodeTopic(lastPage); 21 | }); 22 | 23 | 24 | $("#btnGo").click(function(){ 25 | 26 | var goPage=$("#goNumber").val(); 27 | if(goPage==""){ 28 | alert("请输入数字"); 29 | return false; 30 | } 31 | var b=validateNum(goPage); 32 | var lastPage=$("input[name='hiddenLasttPage']").val(); 33 | if(!b){ 34 | alert("请输入数字"); 35 | return false; 36 | }else if(goPage>lastPage){ 37 | alert("超过最大页数"); 38 | return false; 39 | } 40 | jumpPageNodeTopic(goPage); 41 | }); 42 | 43 | 44 | }) 45 | 46 | function jumpPageNodeTopic(pageNo) { 47 | 48 | 49 | $("#pageNo").val(pageNo); 50 | 51 | var frm = $("#showNodeTopicForm"); 52 | 53 | frm.submit(); 54 | 55 | } 56 | 57 | function validateNum(str){ 58 | var s = /^[0-9]*$/; 59 | return s.test(str); 60 | } -------------------------------------------------------------------------------- /WebContent/js/mypace/userinfo.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $(".infoInputValueControl").hide(); 3 | 4 | //生日初始化 5 | $.ms_DatePicker({ 6 | YearSelector: "#select_year2", 7 | MonthSelector: "#select_month2", 8 | DaySelector: "#select_day2" 9 | }); 10 | 11 | $("#btnEdit").click(function(){ 12 | 13 | $(".infoTextValueControl").hide(); 14 | $(".infoInputValueControl").show(); 15 | }) 16 | 17 | $("#btnCancel").click(function(){ 18 | 19 | $(".infoTextValueControl").show(); 20 | $(".infoInputValueControl").hide(); 21 | }) 22 | 23 | $("#btnSubmit").click(function(){ 24 | //job 25 | var jobcheck=$("input[name='jobInfo']").val(); 26 | if(jobcheck.length>10){ 27 | $("#jobMsg").css("color","red"); 28 | $("#jobMsg").html("职业描述字符太长!") 29 | return false; 30 | }else{ 31 | $("#jobMsg").html(""); 32 | } 33 | //qq 34 | var qqcheck=$("input[name='qqInfo']").val(); 35 | if(qqcheck.length>11){ 36 | $("#qqMsg").css("color","red"); 37 | $("#qqMsg").html("QQ字符太长!") 38 | return false; 39 | }else{ 40 | $("#qqMsg").html(""); 41 | } 42 | //签名 43 | var signaturecheck=$("input[name='signatureInfo']").val(); 44 | if(signaturecheck.length>35){ 45 | $("#signatureMsg").css("color","red"); 46 | $("#signatureMsg").html("签名描述字符太长!") 47 | return false; 48 | }else{ 49 | $("#signatureMsg").html(""); 50 | } 51 | }) 52 | 53 | 54 | // 55 | }); -------------------------------------------------------------------------------- /WebContent/js/validate/images/checked.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/js/validate/images/checked.gif -------------------------------------------------------------------------------- /WebContent/js/validate/images/unchecked.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/js/validate/images/unchecked.gif -------------------------------------------------------------------------------- /WebContent/js/validate/jquery.validate.css: -------------------------------------------------------------------------------- 1 | label.error { 2 | color: red; 3 | font-weight: bold; 4 | background: transparent url(images/unchecked.gif) no-repeat scroll 0 0; 5 | padding-left: 18px; 6 | } 7 | 8 | label.checked { 9 | background: transparent url(images/checked.gif) no-repeat scroll 0 0; 10 | } -------------------------------------------------------------------------------- /WebContent/js/validate/messages_cn.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: CN 4 | */ 5 | jQuery.extend(jQuery.validator.messages, { 6 | required: "必选字段", 7 | remote: "请修正该字段", 8 | email: "请输入正确格式的电子邮件", 9 | url: "请输入合法的网址", 10 | date: "请输入合法的日期", 11 | dateISO: "请输入合法的日期 (ISO).", 12 | number: "请输入合法的数字", 13 | digits: "只能输入整数", 14 | creditcard: "请输入合法的信用卡号", 15 | equalTo: "请再次输入相同的值", 16 | accept: "请输入拥有合法后缀名的字符串", 17 | maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"), 18 | minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"), 19 | rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), 20 | range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), 21 | max: jQuery.validator.format("请输入一个最大为 {0} 的值"), 22 | min: jQuery.validator.format("请输入一个最小为 {0} 的值") 23 | }); -------------------------------------------------------------------------------- /WebContent/mysql/1_createDB.sql: -------------------------------------------------------------------------------- 1 | create database myspringbbssampledb; 2 | 3 | CREATE USER 'myspringbbs'@'localhost' IDENTIFIED BY 'myspringbbs'; 4 | 5 | GRANT All ON myspringbbssampledb.* TO 'myspringbbs'@'localhost'; 6 | -------------------------------------------------------------------------------- /WebContent/mysql/4_initData2.sql: -------------------------------------------------------------------------------- 1 | use myspringbbssampledb; 2 | 3 | -- 等级数据 4 | -- insert into community_level (id,experience,levels) values (1,0,1); 5 | -- insert into community_level (id,experience,levels) values (2,30,2); 6 | -- insert into community_level (id,experience,levels) values (3,100,3); 7 | -- insert into community_level (id,experience,levels) values (4,290,4); 8 | -- insert into community_level (id,experience,levels) values (5,600,5); 9 | -- insert into community_level (id,experience,levels) values (6,1050,6); 10 | -- insert into community_level (id,experience,levels) values (7,1650,7); 11 | -- insert into community_level (id,experience,levels) values (8,2650,8); 12 | -- insert into community_level (id,experience,levels) values (9,7650,9); 13 | 14 | update community_level t set t.experience = 0, t.levels = 1 where t.id = 1; 15 | 16 | update community_level t set t.experience = 30, t.levels = 2 where t.id = 2; 17 | 18 | update community_level t set t.experience = 100, t.levels = 3 where t.id = 3; 19 | 20 | update community_level t set t.experience = 290, t.levels = 4 where t.id = 4; 21 | 22 | update community_level t set t.experience = 600, t.levels = 5 where t.id = 5; 23 | 24 | update community_level t set t.experience = 1050, t.levels = 6 where t.id = 6; 25 | 26 | update community_level t set t.experience = 1650, t.levels = 7 where t.id = 7; 27 | 28 | update community_level t set t.experience = 2650, t.levels = 8 where t.id = 8; 29 | 30 | update community_level t set t.experience = 7650, t.levels = 9 where t.id = 9; 31 | 32 | 33 | 34 | -- 徽章数据 35 | 36 | insert into badge (id,name,url,alt,full_url) values (1,'论坛达人勋章','images/badge/badge1.jpg','论坛等级达到level4可以领取。','images/badge/full_img/badge1full.jpg'); 37 | insert into badge (id,name,url,alt,full_url) values (2,'论坛鼓励特别奖杯','images/badge/badge2.gif','鼓励赞助特别奖杯。','images/badge/full_img/badge2full.jpg'); -------------------------------------------------------------------------------- /WebContent/mysql/springbbsbackup20160822.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/WebContent/mysql/springbbsbackup20160822.sql -------------------------------------------------------------------------------- /WebContent/util/verify/image.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8"%> 2 | <%! 3 | Color getRandColor(int fc,int bc){//随机获得颜色,RGB格式 4 | Random random = new Random(); 5 | if(fc>255) fc=255; 6 | if(bc>255) bc=255; 7 | int r=fc+random.nextInt(bc-fc); 8 | int g=fc+random.nextInt(bc-fc); 9 | int b=fc+random.nextInt(bc-fc); 10 | return new Color(r,g,b); 11 | } 12 | %> 13 | <% 14 | //清除缓存,每次访问该页面时都从服务器端读取 15 | response.setHeader("Pragma","No-cache"); 16 | response.setHeader("Cache-Control","no-cache"); 17 | response.setDateHeader("Expires", 0); 18 | 19 | // 定义显示图片的宽度和高度 20 | int width=60, height=20; 21 | BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 22 | 23 | // 画图画板 24 | Graphics g = image.getGraphics(); 25 | 26 | //定义一个随机数 27 | Random random = new Random(); 28 | 29 | // 设置画板背景颜色 30 | g.setColor(getRandColor(200,250)); 31 | //设置画板的填充范围 32 | g.fillRect(0, 0, width, height); 33 | 34 | //设置字体 35 | g.setFont(new Font("Times New Roman",Font.PLAIN,18)); 36 | 37 | // 设置线条颜色并画线,155条 38 | g.setColor(getRandColor(160,200)); 39 | for (int i=0;i<155;i++) 40 | { 41 | int x = random.nextInt(width); 42 | int y = random.nextInt(height); 43 | int xl = random.nextInt(12); 44 | int yl = random.nextInt(12); 45 | g.drawLine(x,y,x+xl,y+yl); 46 | } 47 | 48 | // 显示数字,4位长度 49 | String sRand=""; 50 | for (int i=0;i<4;i++){ 51 | String rand=String.valueOf(random.nextInt(10)); 52 | sRand+=rand; 53 | // 设置每个数字的颜色 54 | g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); 55 | //在画板上写数字,起始位置 56 | g.drawString(rand,13*i+6,16); 57 | } 58 | 59 | // 保存进session 60 | session.setAttribute("yzkeyword",sRand); 61 | //System.out.println("yzm:"+sRand); 62 | 63 | 64 | // 显示图片 65 | g.dispose(); 66 | 67 | %> 68 | 69 | <% 70 | //转换成一张图片,格式为JPEG 71 | ImageIO.write(image, "JPEG", response.getOutputStream()); 72 | out.clear();//清空缓存的内容。 73 | 74 | pageContext.pushBody(); 75 | %> -------------------------------------------------------------------------------- /build/classes/application.properties: -------------------------------------------------------------------------------- 1 | #h2 version database settings 2 | #jdbc.driver=org.h2.Driver 3 | jdbc.driver=com.mysql.jdbc.Driver 4 | #jdbc.url=jdbc:h2:tcp://localhost/~/MySpace 5 | jdbc.url=jdbc:mysql://localhost:3306/myspringbbssampledb?useUnicode=true&characterEncoding=utf8 6 | #jdbc.username=sa 7 | jdbc.username=myspringbbs 8 | #jdbc.password= 9 | jdbc.password=myspringbbs 10 | #hibernate.dialect=org.hibernate.dialect.H2Dialect 11 | hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 12 | 13 | #oracle version database settings 14 | #jdbc.driver=oracle.jdbc.driver.OracleDriver 15 | #jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XE 16 | #jdbc.username=MySpace 17 | #jdbc.password=MySpace 18 | #hibernate.dialect=org.hibernate.dialect.Oracle10gDialect 19 | 20 | #mysql version database setting 21 | #jdbc.driver=com.mysql.jdbc.Driver 22 | #jdbc.url=jdbc:mysql://localhost/MySpace?useUnicode=true&characterEncoding=utf-8 23 | #jdbc.username=root 24 | #jdbc.password= 25 | #hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 26 | 27 | #hibernate settings 28 | hibernate.show_sql=true 29 | hibernate.format_sql=true 30 | 31 | #dbcp settings 32 | dbcp.maxIdle=5 33 | dbcp.maxActive=40 34 | -------------------------------------------------------------------------------- /build/classes/applicationContext-security.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | SpringSecurity安全配置 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/account/AuthorityDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/account/AuthorityDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/account/RoleDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/account/RoleDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/account/UserDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/account/UserDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/account/UserInfoDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/account/UserInfoDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/BadgeDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/BadgeDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/BadgeShowDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/BadgeShowDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/CheckCommentAdDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/CheckCommentAdDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/CheckTopicAdDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/CheckTopicAdDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/CommentAdDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/CommentAdDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/CommentDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/CommentDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/CommunityLevelDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/CommunityLevelDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/NodeDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/NodeDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/TopicAdDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/TopicAdDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/dao/bbs/TopicDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/dao/bbs/TopicDao.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/account/AcctAuthority.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/account/AcctAuthority.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/account/AcctRole.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/account/AcctRole.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/account/AcctUser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/account/AcctUser.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/account/AcctUserInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/account/AcctUserInfo.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/account/UserDetails/MyUserDetails.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/account/UserDetails/MyUserDetails.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/Badge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/Badge.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/BadgeShow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/BadgeShow.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/CheckCommentAd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/CheckCommentAd.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/CheckTopicAd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/CheckTopicAd.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/Comment.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/Comment.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/CommentAd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/CommentAd.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/CommunityLevel.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/CommunityLevel.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/Node.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/Section.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/Section.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/Topic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/Topic.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/entity/bbs/TopicAd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/entity/bbs/TopicAd.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/service/account/AccountManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/service/account/AccountManager.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/service/account/MyUserDetailsServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/service/account/MyUserDetailsServiceImpl.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/service/account/UserDetailsServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/service/account/UserDetailsServiceImpl.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/service/bbs/BbsManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/service/bbs/BbsManager.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/service/filter/ImageFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/service/filter/ImageFilter.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/email/EmailUtils$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/email/EmailUtils$1.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/email/EmailUtils.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/email/EmailUtils.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/email/GenerateLinkUtils.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/email/GenerateLinkUtils.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/email/password.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/email/password.dat -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.gjt.mm.mysql.Driver 8 | myspringbbs 9 | jdbc:mysql://localhost:3306/myspringbbssampledb 10 | myspringbbs 11 | org.hibernate.dialect.MySQLInnoDBDialect 12 | 13 | 14 | -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/hibernate/hibernate.properties -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate.reveng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate2.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.gjt.mm.mysql.Driver 8 | myspringbbs 9 | jdbc:mysql://localhost:3306/myspringbbssampledb 10 | myspringbbs 11 | org.hibernate.dialect.MySQLInnoDBDialect 12 | 13 | 14 | -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate2.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/hibernate/hibernate2.properties -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/hibernate/hibernate2.reveng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/level/LevelImgUpload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/level/LevelImgUpload.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/level/LevelUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/level/LevelUtil.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/md5/EncryptUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/md5/EncryptUtil.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/md5/Md5PasswordEncoderUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/md5/Md5PasswordEncoderUtil.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/sort/ComparatorAuthority.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/sort/ComparatorAuthority.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/utils/zstring/MyStringUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/utils/zstring/MyStringUtil.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/ForgetAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/ForgetAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/IndexAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/IndexAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/LoginAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/LoginAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/UserAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/UserAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/BadgeAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/BadgeAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/CommentAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/CommentAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/CommunityadminAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/CommunityadminAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/HelpAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/HelpAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/ShowlevelimgAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/ShowlevelimgAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/TopicAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/TopicAction.class -------------------------------------------------------------------------------- /build/classes/cn/tiger/web/mypace/bbs/UserinfoAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/cn/tiger/web/mypace/bbs/UserinfoAction.class -------------------------------------------------------------------------------- /build/classes/ehcache/ehcache-hibernate-local.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /build/classes/log4j.properties: -------------------------------------------------------------------------------- 1 | # Output pattern : date [thread] priority category - message 2 | log4j.rootLogger=WARN, Console, RollingFile 3 | 4 | #Console 5 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 6 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 8 | 9 | #RollingFile 10 | log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender 11 | log4j.appender.RollingFile.File=logs/MySpringSecuritySample.log 12 | log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout 13 | log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 14 | 15 | #Project defalult level 16 | log4j.logger.cn.tigerz=INFO -------------------------------------------------------------------------------- /build/classes/spring/application.test.properties: -------------------------------------------------------------------------------- 1 | #jdbc settings 2 | jdbc.driver=com.mysql.jdbc.Driver 3 | jdbc.url=jdbc:mysql://localhost:3306/myspringbbssampledb?useUnicode=true&characterEncoding=utf8 4 | jdbc.username=myspringbbs 5 | jdbc.password=myspringbbs 6 | hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 7 | 8 | #selenium settings 9 | selenium.driver=htmlunit 10 | #selenium.driver=firefox 11 | #selenium.driver=ie 12 | #selenium.driver=remote:localhost:3000:firefox 13 | hibernate.show_sql=true 14 | hibernate.format_sql=true -------------------------------------------------------------------------------- /build/classes/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | AUTOMATIC 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 36 | 37 | -------------------------------------------------------------------------------- /build/classes/test/cn/tiger/service/bbs/AccountManagerTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/test/cn/tiger/service/bbs/AccountManagerTest.class -------------------------------------------------------------------------------- /build/classes/test/cn/tiger/service/bbs/BbsManagerTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/test/cn/tiger/service/bbs/BbsManagerTest.class -------------------------------------------------------------------------------- /build/classes/test/cn/tiger/service/bbs/TestDigestUtils.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/build/classes/test/cn/tiger/service/bbs/TestDigestUtils.class -------------------------------------------------------------------------------- /logs/MySpringSecuritySample.log.2016-06-04: -------------------------------------------------------------------------------- 1 | 2016-06-04 00:40:04,468 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.account.AcctAuthority]; using defaults. 2 | 2016-06-04 00:40:04,597 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.Section]; using defaults. 3 | 2016-06-04 00:40:04,602 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.TopicAd]; using defaults. 4 | 2016-06-04 00:40:04,607 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.CheckTopicAd]; using defaults. 5 | 2016-06-04 00:40:04,610 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.account.AcctUser]; using defaults. 6 | 2016-06-04 00:40:04,624 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.Comment]; using defaults. 7 | 2016-06-04 00:40:04,630 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.Topic]; using defaults. 8 | 2016-06-04 00:40:04,639 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.bbs.Node]; using defaults. 9 | 2016-06-04 00:40:04,644 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.account.AcctRole]; using defaults. 10 | 2016-06-04 00:40:04,653 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.account.AcctRole.authorityList]; using defaults. 11 | 2016-06-04 00:40:04,692 [main] WARN [org.hibernate.cache.EhCacheProvider] - Could not find configuration [cn.tiger.entity.account.AcctUser.roleList]; using defaults. 12 | 2016-06-04 00:40:04,928 [main] WARN [org.springframework.aop.framework.Cglib2AopProxy] - Unable to proxy method [public final void org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests.setApplicationContext(org.springframework.context.ApplicationContext)] because it is final: All calls to this method via a proxy will be routed directly to the proxy. 13 | -------------------------------------------------------------------------------- /src/application.properties: -------------------------------------------------------------------------------- 1 | #h2 version database settings 2 | #jdbc.driver=org.h2.Driver 3 | jdbc.driver=com.mysql.jdbc.Driver 4 | #jdbc.url=jdbc:h2:tcp://localhost/~/MySpace 5 | jdbc.url=jdbc:mysql://localhost:3306/myspringbbssampledb?useUnicode=true&characterEncoding=utf8 6 | #jdbc.username=sa 7 | jdbc.username=myspringbbs 8 | #jdbc.password= 9 | jdbc.password=myspringbbs 10 | #hibernate.dialect=org.hibernate.dialect.H2Dialect 11 | hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 12 | 13 | #oracle version database settings 14 | #jdbc.driver=oracle.jdbc.driver.OracleDriver 15 | #jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XE 16 | #jdbc.username=MySpace 17 | #jdbc.password=MySpace 18 | #hibernate.dialect=org.hibernate.dialect.Oracle10gDialect 19 | 20 | #mysql version database setting 21 | #jdbc.driver=com.mysql.jdbc.Driver 22 | #jdbc.url=jdbc:mysql://localhost/MySpace?useUnicode=true&characterEncoding=utf-8 23 | #jdbc.username=root 24 | #jdbc.password= 25 | #hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 26 | 27 | #hibernate settings 28 | hibernate.show_sql=true 29 | hibernate.format_sql=true 30 | 31 | #dbcp settings 32 | dbcp.maxIdle=5 33 | dbcp.maxActive=40 34 | -------------------------------------------------------------------------------- /src/applicationContext-security.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | SpringSecurity安全配置 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/account/AuthorityDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.account; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.account.AcctAuthority; 7 | 8 | /** 9 | * 授权对象的泛型DAO. 10 | * 11 | * @author calvin 12 | */ 13 | @Component 14 | public class AuthorityDao extends HibernateDao { 15 | } 16 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/account/RoleDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.account; 2 | 3 | import java.util.List; 4 | 5 | import org.hibernate.Query; 6 | import org.hibernate.Session; 7 | import org.springframework.stereotype.Component; 8 | import org.springside.modules.orm.hibernate.HibernateDao; 9 | 10 | import cn.tiger.entity.account.AcctRole; 11 | import cn.tiger.entity.account.AcctUser; 12 | 13 | /** 14 | * 角色对象的泛型DAO. 15 | * 16 | * @author calvin 17 | */ 18 | @Component 19 | public class RoleDao extends HibernateDao { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/account/UserDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.account; 2 | 3 | import java.util.Iterator; 4 | import java.util.List; 5 | 6 | import org.hibernate.Query; 7 | import org.hibernate.Session; 8 | import org.springframework.stereotype.Component; 9 | import org.springside.modules.orm.hibernate.HibernateDao; 10 | 11 | import cn.tiger.entity.account.AcctUser; 12 | import cn.tiger.entity.bbs.CheckCommentAd; 13 | import cn.tiger.utils.md5.Md5PasswordEncoderUtil; 14 | 15 | /** 16 | * 用户对象的泛型DAO�?. 17 | * 18 | * @author calvin 19 | */ 20 | @Component 21 | public class UserDao extends HibernateDao { 22 | 23 | public AcctUser findUserByUserNameAndEmail(String loginName,String email){ 24 | 25 | String hql="from AcctUser u where u.loginName=:loginName and u.email=:email"; 26 | Session session = sessionFactory.getCurrentSession(); 27 | 28 | Query query=session.createQuery(hql); 29 | query.setString("loginName", loginName); 30 | query.setString("email", email); 31 | 32 | AcctUser acctUser=(AcctUser) query.uniqueResult(); 33 | 34 | if(acctUser==null){ 35 | System.out.println("acctUser is null"); 36 | } 37 | 38 | return acctUser; 39 | 40 | } 41 | 42 | public AcctUser findUserByUserNameAndPassword(String loginName,String password){ 43 | 44 | String hql="from AcctUser u where u.loginName=:loginName and u.password=:password"; 45 | Session session = sessionFactory.getCurrentSession(); 46 | 47 | Query query=session.createQuery(hql); 48 | query.setString("loginName", loginName); 49 | query.setString("password", Md5PasswordEncoderUtil.zencodePassword(password, null)); 50 | 51 | AcctUser acctUser=(AcctUser) query.uniqueResult(); 52 | 53 | if(acctUser==null){ 54 | System.out.println("acctUser is null"); 55 | } 56 | 57 | return acctUser; 58 | 59 | } 60 | 61 | public int getUserRankBySql(Long userId){ 62 | 63 | List list =null; 64 | 65 | int result=0; 66 | 67 | Session session = sessionFactory.getCurrentSession(); 68 | 69 | String sql="select id,experience,(select count(1) from acct_user where experience>= (select experience from acct_user where id = ? order by experience desc limit 1)) as rank from acct_user where id = ?"; 70 | 71 | Query query = session.createSQLQuery(sql); 72 | 73 | query.setLong(0, userId); 74 | query.setLong(1, userId); 75 | 76 | list = query.list(); 77 | 78 | for(Iterator iterator = list.iterator();iterator.hasNext();){ 79 | //每个集合元素都是一个数组 80 | Object[] objects = (Object[]) iterator.next(); 81 | //System.out.println("id="+objects[0]); 82 | //System.out.println("experience="+objects[1]); 83 | //System.out.println("rank="+objects[2]); 84 | //System.out.println("----------------------------"); 85 | result=Integer.valueOf(objects[2].toString()); 86 | 87 | } 88 | return result; 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/account/UserInfoDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.account; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.account.AcctUserInfo; 7 | 8 | @Component 9 | public class UserInfoDao extends HibernateDao { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/BadgeDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.bbs.Badge; 7 | 8 | @Component 9 | public class BadgeDao extends HibernateDao{ 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/BadgeShowDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.hibernate.Query; 4 | import org.hibernate.Session; 5 | import org.springframework.stereotype.Component; 6 | import org.springside.modules.orm.hibernate.HibernateDao; 7 | 8 | import cn.tiger.entity.bbs.BadgeShow; 9 | 10 | @Component 11 | public class BadgeShowDao extends HibernateDao{ 12 | 13 | public BadgeShow findBadgeShowByUserIdAndBadgeId(Long userId,Long badgeId){ 14 | 15 | String hql="from BadgeShow b where b.userId=:userId and b.badgeId=:badgeId"; 16 | Session session = sessionFactory.getCurrentSession(); 17 | 18 | Query query=session.createQuery(hql); 19 | query.setLong("userId", userId); 20 | query.setLong("badgeId", badgeId); 21 | 22 | BadgeShow badgeShow=(BadgeShow) query.uniqueResult(); 23 | 24 | return badgeShow; 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/CheckCommentAdDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import java.util.List; 4 | 5 | import org.hibernate.Query; 6 | import org.hibernate.Session; 7 | import org.springframework.stereotype.Component; 8 | import org.springside.modules.orm.hibernate.HibernateDao; 9 | 10 | import cn.tiger.entity.bbs.CheckCommentAd; 11 | 12 | @Component 13 | public class CheckCommentAdDao extends HibernateDao{ 14 | 15 | public CheckCommentAd getCheckCommentAd(Long UserId,Long commentId){ 16 | String hql="from CheckCommentAd c where c.userId=:userId and c.commentId=:commentId"; 17 | Session session = sessionFactory.getCurrentSession(); 18 | 19 | Query query=session.createQuery(hql); 20 | query.setLong("userId", UserId); 21 | query.setLong("commentId", commentId); 22 | 23 | List list = query.list(); 24 | 25 | CheckCommentAd c = null; 26 | if (list.size() != 0) { 27 | c = list.get(0); 28 | } 29 | 30 | return c; 31 | 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/CheckTopicAdDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import java.util.List; 4 | 5 | import org.hibernate.Criteria; 6 | import org.hibernate.HibernateException; 7 | import org.hibernate.Query; 8 | import org.hibernate.Session; 9 | import org.hibernate.criterion.CriteriaQuery; 10 | import org.hibernate.criterion.Criterion; 11 | import org.hibernate.criterion.MatchMode; 12 | import org.hibernate.criterion.Restrictions; 13 | import org.hibernate.engine.TypedValue; 14 | import org.springframework.stereotype.Component; 15 | import org.springside.modules.orm.hibernate.HibernateDao; 16 | 17 | import cn.tiger.entity.bbs.CheckTopicAd; 18 | 19 | @Component 20 | public class CheckTopicAdDao extends HibernateDao{ 21 | 22 | public CheckTopicAd getCheckTopicAd(Long UserId,Long TopicId){ 23 | String hql="from CheckTopicAd c where c.userId=:userId and c.topicId=:topicId"; 24 | Session session = sessionFactory.getCurrentSession(); 25 | 26 | Query query=session.createQuery(hql); 27 | query.setLong("userId", UserId); 28 | query.setLong("topicId", TopicId); 29 | 30 | List list = query.list(); 31 | 32 | CheckTopicAd c = null; 33 | if (list.size() != 0) { 34 | c = list.get(0); 35 | } 36 | 37 | return c; 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/CommentAdDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.bbs.CommentAd; 7 | 8 | @Component 9 | public class CommentAdDao extends HibernateDao{ 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/CommentDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.stereotype.Component; 6 | import org.springside.modules.orm.Page; 7 | import org.springside.modules.orm.PropertyFilter; 8 | import org.springside.modules.orm.hibernate.HibernateDao; 9 | 10 | import cn.tiger.entity.bbs.Comment; 11 | 12 | /** 13 | * 用户对象的泛型DAO. 14 | * 15 | * @author calvin 16 | */ 17 | @Component 18 | public class CommentDao extends HibernateDao { 19 | 20 | /*public Page getCommentsByTopic(final Page page,List filters) { 21 | String hql="select c from Comment c order by c.createTime DESC"; 22 | return findPage(page,hql,filters); 23 | }*/ 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/CommunityLevelDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.bbs.CommunityLevel; 7 | 8 | @Component 9 | public class CommunityLevelDao extends HibernateDao{ 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/NodeDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.bbs.Node; 7 | 8 | /** 9 | * 用户对象的泛型DAO�?. 10 | * 11 | * @author calvin 12 | */ 13 | @Component 14 | public class NodeDao extends HibernateDao { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/TopicAdDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import org.springframework.stereotype.Component; 4 | import org.springside.modules.orm.hibernate.HibernateDao; 5 | 6 | import cn.tiger.entity.bbs.TopicAd; 7 | 8 | @Component 9 | public class TopicAdDao extends HibernateDao{ 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/cn/tiger/dao/bbs/TopicDao.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.dao.bbs; 2 | 3 | import java.util.List; 4 | 5 | import org.hibernate.Query; 6 | import org.hibernate.Session; 7 | import org.springframework.stereotype.Component; 8 | import org.springside.modules.orm.Page; 9 | import org.springside.modules.orm.PropertyFilter; 10 | import org.springside.modules.orm.hibernate.HibernateDao; 11 | 12 | import cn.tiger.entity.account.AcctUser; 13 | import cn.tiger.entity.bbs.Topic; 14 | 15 | /** 16 | * 用户对象的泛型DAO. 17 | * 18 | * @author calvin 19 | */ 20 | @Component 21 | public class TopicDao extends HibernateDao { 22 | 23 | public Page findPageTopic(final Page page) { 24 | String hql="select t from Topic t order by t.isTop DESC,t.createTime DESC,t.lastCommentAt DESC"; 25 | return findPage(page,hql); 26 | } 27 | 28 | public Page findPageNodeTopic(final Page page,Long nodeValue) { 29 | String hql="select t from Topic t where t.node.id=? order by t.isTop DESC,t.createTime DESC,t.lastCommentAt DESC"; 30 | return findPage(page,hql,nodeValue); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/account/AcctAuthority.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/account/AcctAuthority.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/account/AcctRole.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/account/AcctRole.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/account/AcctUser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/account/AcctUser.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/account/AcctUserInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/account/AcctUserInfo.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/account/UserDetails/MyUserDetails.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.account.UserDetails; 2 | 3 | import java.util.Collection; 4 | 5 | import org.springframework.security.core.GrantedAuthority; 6 | import org.springframework.security.core.userdetails.User; 7 | 8 | public class MyUserDetails extends User{ 9 | 10 | private String userNameAlias; 11 | 12 | public MyUserDetails(String username, String password, boolean enabled, boolean accountNonExpired, 13 | boolean credentialsNonExpired, boolean accountNonLocked, Collection authorities) 14 | throws IllegalArgumentException { 15 | super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); 16 | } 17 | 18 | public String getUserNameAlias() { 19 | return userNameAlias; 20 | } 21 | 22 | public void setUserNameAlias(String userNameAlias) { 23 | this.userNameAlias = userNameAlias; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/Badge.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-5-25 12:13:56 by Hibernate Tools 3.5.0.Final 3 | 4 | import java.util.HashSet; 5 | import java.util.Set; 6 | 7 | import javax.persistence.Column; 8 | import javax.persistence.Entity; 9 | import javax.persistence.GeneratedValue; 10 | import javax.persistence.GenerationType; 11 | import javax.persistence.Id; 12 | import javax.persistence.Table; 13 | 14 | import org.hibernate.annotations.Cache; 15 | import org.hibernate.annotations.CacheConcurrencyStrategy; 16 | 17 | 18 | /** 19 | * Section generated by hbm2java 20 | */ 21 | @Entity 22 | @Table(name = "badge") 23 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 24 | public class Badge implements java.io.Serializable { 25 | 26 | private Long id; 27 | private String name; 28 | private String url; 29 | private String alt; 30 | private String full_url; 31 | 32 | public Badge() { 33 | } 34 | 35 | @Id 36 | @GeneratedValue(strategy=GenerationType.AUTO) 37 | public Long getId() { 38 | return this.id; 39 | } 40 | 41 | public void setId(Long id) { 42 | this.id = id; 43 | } 44 | 45 | public synchronized String getName() { 46 | return name; 47 | } 48 | 49 | public synchronized void setName(String name) { 50 | this.name = name; 51 | } 52 | 53 | public synchronized String getUrl() { 54 | return url; 55 | } 56 | 57 | public synchronized void setUrl(String url) { 58 | this.url = url; 59 | } 60 | 61 | public synchronized String getAlt() { 62 | return alt; 63 | } 64 | 65 | public synchronized void setAlt(String alt) { 66 | this.alt = alt; 67 | } 68 | 69 | @Column(name="full_url") 70 | public String getFull_url() { 71 | return full_url; 72 | } 73 | 74 | public void setFull_url(String full_url) { 75 | this.full_url = full_url; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/BadgeShow.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/bbs/BadgeShow.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/CheckCommentAd.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-6-4 23:16:12 by Hibernate Tools 3.5.0.Final 3 | 4 | import javax.persistence.Column; 5 | import javax.persistence.Entity; 6 | import javax.persistence.GeneratedValue; 7 | import javax.persistence.GenerationType; 8 | import javax.persistence.Id; 9 | import javax.persistence.Table; 10 | 11 | import org.hibernate.annotations.Cache; 12 | import org.hibernate.annotations.CacheConcurrencyStrategy; 13 | 14 | /** 15 | * CheckCommentAd generated by hbm2java 16 | */ 17 | @Entity 18 | @Table(name = "check_comment_ad") 19 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 20 | public class CheckCommentAd implements java.io.Serializable { 21 | 22 | private Long id; 23 | private long userId; 24 | private long commentId; 25 | 26 | public CheckCommentAd() { 27 | } 28 | 29 | @Id 30 | @GeneratedValue(strategy=GenerationType.AUTO) 31 | public Long getId() { 32 | return this.id; 33 | } 34 | 35 | public void setId(Long id) { 36 | this.id = id; 37 | } 38 | 39 | @Column(name="user_id") 40 | public long getUserId() { 41 | return this.userId; 42 | } 43 | 44 | public void setUserId(long userId) { 45 | this.userId = userId; 46 | } 47 | 48 | @Column(name="comment_id") 49 | public long getCommentId() { 50 | return this.commentId; 51 | } 52 | 53 | public void setCommentId(long commentId) { 54 | this.commentId = commentId; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/CheckTopicAd.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/bbs/CheckTopicAd.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/Comment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/bbs/Comment.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/CommentAd.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-6-4 23:16:12 by Hibernate Tools 3.5.0.Final 3 | 4 | import javax.persistence.Column; 5 | import javax.persistence.Entity; 6 | import javax.persistence.FetchType; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.JoinColumn; 11 | import javax.persistence.OneToOne; 12 | import javax.persistence.Table; 13 | 14 | import org.hibernate.annotations.Cache; 15 | import org.hibernate.annotations.CacheConcurrencyStrategy; 16 | 17 | /** 18 | * CommentAd generated by hbm2java 19 | */ 20 | @Entity 21 | @Table(name = "comment_ad") 22 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 23 | public class CommentAd implements java.io.Serializable { 24 | 25 | private Long id; 26 | private long agreeCount; 27 | private long dsagreeCount; 28 | 29 | private Comment comment; 30 | 31 | public CommentAd() { 32 | } 33 | 34 | @Id 35 | @GeneratedValue(strategy=GenerationType.AUTO) 36 | public Long getId() { 37 | return this.id; 38 | } 39 | 40 | public void setId(Long id) { 41 | this.id = id; 42 | } 43 | 44 | @Column(name="agree_count") 45 | public long getAgreeCount() { 46 | return this.agreeCount; 47 | } 48 | 49 | public void setAgreeCount(long agreeCount) { 50 | this.agreeCount = agreeCount; 51 | } 52 | 53 | @Column(name="dsagree_count") 54 | public long getDsagreeCount() { 55 | return this.dsagreeCount; 56 | } 57 | 58 | public void setDsagreeCount(long dsagreeCount) { 59 | this.dsagreeCount = dsagreeCount; 60 | } 61 | 62 | @OneToOne(fetch=FetchType.LAZY) 63 | @JoinColumn(name="comment_id") 64 | public Comment getComment() { 65 | return comment; 66 | } 67 | 68 | public void setComment(Comment comment) { 69 | this.comment = comment; 70 | } 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/CommunityLevel.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-8-10 23:09:16 by Hibernate Tools 3.5.0.Final 3 | 4 | import javax.persistence.Basic; 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.FetchType; 8 | import javax.persistence.GeneratedValue; 9 | import javax.persistence.GenerationType; 10 | import javax.persistence.Id; 11 | import javax.persistence.Lob; 12 | import javax.persistence.Table; 13 | 14 | import org.hibernate.annotations.Cache; 15 | import org.hibernate.annotations.CacheConcurrencyStrategy; 16 | 17 | /** 18 | * CommunityLevel generated by hbm2java 19 | */ 20 | @Entity 21 | @Table(name = "community_level") 22 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 23 | public class CommunityLevel implements java.io.Serializable { 24 | 25 | private Long id; 26 | private long experience; 27 | private int levels; 28 | private byte[] img; 29 | 30 | public CommunityLevel() { 31 | } 32 | 33 | @Id 34 | @GeneratedValue(strategy=GenerationType.AUTO) 35 | public Long getId() { 36 | return this.id; 37 | } 38 | 39 | public void setId(Long id) { 40 | this.id = id; 41 | } 42 | 43 | @Column(name="experience") 44 | public long getExperience() { 45 | return this.experience; 46 | } 47 | 48 | public void setExperience(long experience) { 49 | this.experience = experience; 50 | } 51 | 52 | @Column(name="levels") 53 | public int getLevels() { 54 | return this.levels; 55 | } 56 | 57 | public void setLevels(int levels) { 58 | this.levels = levels; 59 | } 60 | 61 | @Lob 62 | @Basic(fetch=FetchType.LAZY) 63 | @Column(name="img", columnDefinition="BLOB", nullable=true) 64 | public byte[] getImg() { 65 | return img; 66 | } 67 | 68 | public void setImg(byte[] img) { 69 | this.img = img; 70 | } 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/bbs/Node.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/Section.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-5-25 12:13:56 by Hibernate Tools 3.5.0.Final 3 | 4 | import java.util.HashSet; 5 | import java.util.Set; 6 | 7 | import javax.persistence.Column; 8 | import javax.persistence.Entity; 9 | import javax.persistence.GeneratedValue; 10 | import javax.persistence.GenerationType; 11 | import javax.persistence.Id; 12 | import javax.persistence.OneToMany; 13 | import javax.persistence.Table; 14 | 15 | import org.hibernate.annotations.Cache; 16 | import org.hibernate.annotations.CacheConcurrencyStrategy; 17 | import org.hibernate.type.TrueFalseType; 18 | 19 | 20 | /** 21 | * Section generated by hbm2java 22 | */ 23 | @Entity 24 | @Table(name = "section") 25 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 26 | public class Section implements java.io.Serializable { 27 | 28 | private Long id; 29 | private String name; 30 | private Integer sort; 31 | 32 | private Set nodes = new HashSet(0); 33 | 34 | public Section() { 35 | } 36 | 37 | @Id 38 | @GeneratedValue(strategy=GenerationType.AUTO) 39 | public Long getId() { 40 | return this.id; 41 | } 42 | 43 | public void setId(Long id) { 44 | this.id = id; 45 | } 46 | 47 | @Column(unique = true,nullable = false) 48 | public String getName() { 49 | return this.name; 50 | } 51 | 52 | public void setName(String name) { 53 | this.name = name; 54 | } 55 | 56 | public Integer getSort() { 57 | return this.sort; 58 | } 59 | 60 | public void setSort(Integer sort) { 61 | this.sort = sort; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/Topic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/entity/bbs/Topic.java -------------------------------------------------------------------------------- /src/cn/tiger/entity/bbs/TopicAd.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.entity.bbs; 2 | // Generated 2016-6-3 15:51:46 by Hibernate Tools 3.5.0.Final 3 | 4 | import javax.persistence.Column; 5 | import javax.persistence.Entity; 6 | import javax.persistence.GeneratedValue; 7 | import javax.persistence.GenerationType; 8 | import javax.persistence.Id; 9 | import javax.persistence.JoinColumn; 10 | import javax.persistence.ManyToOne; 11 | import javax.persistence.Table; 12 | 13 | import org.hibernate.annotations.Cache; 14 | import org.hibernate.annotations.CacheConcurrencyStrategy; 15 | 16 | /** 17 | * TopicAd generated by hbm2java 18 | */ 19 | @Entity 20 | @Table(name = "topic_ad") 21 | @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 22 | public class TopicAd implements java.io.Serializable { 23 | 24 | private Long id; 25 | //private long topicId; 26 | private long agreeCount; 27 | private long dsagreeCount; 28 | private Topic topic; 29 | 30 | public TopicAd() { 31 | } 32 | 33 | @Id 34 | @GeneratedValue(strategy=GenerationType.AUTO) 35 | public Long getId() { 36 | return this.id; 37 | } 38 | 39 | public void setId(Long id) { 40 | this.id = id; 41 | } 42 | 43 | @Column(name="agree_count") 44 | public long getAgreeCount() { 45 | return this.agreeCount; 46 | } 47 | 48 | public void setAgreeCount(long agreeCount) { 49 | this.agreeCount = agreeCount; 50 | } 51 | 52 | @Column(name="dsagree_count") 53 | public long getDsagreeCount() { 54 | return this.dsagreeCount; 55 | } 56 | 57 | public void setDsagreeCount(long dsagreeCount) { 58 | this.dsagreeCount = dsagreeCount; 59 | } 60 | 61 | @ManyToOne 62 | @JoinColumn(name="topic_id",unique=true) 63 | public Topic getTopic() { 64 | return topic; 65 | } 66 | 67 | public void setTopic(Topic topic) { 68 | this.topic = topic; 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /src/cn/tiger/service/account/AccountManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/service/account/AccountManager.java -------------------------------------------------------------------------------- /src/cn/tiger/service/account/MyUserDetailsServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.service.account; 2 | 3 | import java.util.Set; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.dao.DataAccessException; 7 | import org.springframework.security.core.GrantedAuthority; 8 | import org.springframework.security.core.authority.GrantedAuthorityImpl; 9 | import org.springframework.security.core.userdetails.UserDetails; 10 | import org.springframework.security.core.userdetails.UserDetailsService; 11 | import org.springframework.security.core.userdetails.UsernameNotFoundException; 12 | import org.springframework.transaction.annotation.Transactional; 13 | 14 | import com.google.common.collect.Sets; 15 | 16 | import cn.tiger.entity.account.AcctAuthority; 17 | import cn.tiger.entity.account.AcctRole; 18 | import cn.tiger.entity.account.AcctUser; 19 | import cn.tiger.entity.account.UserDetails.MyUserDetails; 20 | import cn.tiger.utils.md5.EncryptUtil; 21 | 22 | @Transactional(readOnly = true) 23 | public class MyUserDetailsServiceImpl implements UserDetailsService{ 24 | 25 | private AccountManager accountManager; 26 | 27 | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { 28 | 29 | AcctUser user = accountManager.findUserByLoginNameOrEmail(username); 30 | if (user == null) { 31 | throw new UsernameNotFoundException("用户" + username + " 不存在"); 32 | } 33 | Set grantedAuths = obtainGrantedAuthorities(user); 34 | 35 | boolean enabled = true; 36 | boolean accountNonExpired = true; 37 | boolean credentialsNonExpired = true; 38 | boolean accountNonLocked = true; 39 | 40 | MyUserDetails userdetails = new MyUserDetails(user.getLoginName(), user.getPassword(), enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, grantedAuths); 41 | 42 | userdetails.setUserNameAlias(user.getName()); 43 | 44 | return userdetails; 45 | } 46 | 47 | private Set obtainGrantedAuthorities(AcctUser user) { 48 | Set authSet = Sets.newHashSet(); 49 | for (AcctRole role : user.getRoleList()) { 50 | for (AcctAuthority authority : role.getAuthorityList()) { 51 | authSet.add(new GrantedAuthorityImpl(authority.getPrefixedName())); 52 | } 53 | } 54 | return authSet; 55 | } 56 | 57 | @Autowired 58 | public void setAccountManager(AccountManager accountManager) { 59 | this.accountManager = accountManager; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/cn/tiger/service/account/UserDetailsServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.service.account; 2 | 3 | import java.util.Set; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.dao.DataAccessException; 7 | import org.springframework.security.core.GrantedAuthority; 8 | import org.springframework.security.core.authority.GrantedAuthorityImpl; 9 | import org.springframework.security.core.userdetails.UserDetails; 10 | import org.springframework.security.core.userdetails.UserDetailsService; 11 | import org.springframework.security.core.userdetails.UsernameNotFoundException; 12 | import org.springframework.transaction.annotation.Transactional; 13 | 14 | import com.google.common.collect.Sets; 15 | 16 | import cn.tiger.entity.account.AcctAuthority; 17 | import cn.tiger.entity.account.AcctRole; 18 | import cn.tiger.entity.account.AcctUser; 19 | /** 20 | * 实现SpringSecurity的UserDetailsService接口,实现获取用户Detail信息的回调函�?. 21 | * 22 | * @author calvin 23 | */ 24 | @Transactional(readOnly = true) 25 | public class UserDetailsServiceImpl implements UserDetailsService { 26 | 27 | private AccountManager accountManager; 28 | 29 | /** 30 | * 获取用户Details信息的回调函�?. 31 | */ 32 | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { 33 | 34 | AcctUser user = accountManager.findUserByLoginName(username); 35 | if (user == null) { 36 | throw new UsernameNotFoundException("用户" + username + " 不存在"); 37 | } 38 | Set grantedAuths = obtainGrantedAuthorities(user); 39 | 40 | //-- MySpace示例中无以下属�??, 暂时全部设为true. --// 41 | boolean enabled = true; 42 | boolean accountNonExpired = true; 43 | boolean credentialsNonExpired = true; 44 | boolean accountNonLocked = true; 45 | 46 | UserDetails userdetails = new org.springframework.security.core.userdetails.User(user.getLoginName(), user 47 | .getPassword(), enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, grantedAuths); 48 | 49 | return userdetails; 50 | } 51 | 52 | /** 53 | * 获得用户�?有角色的权限集合. 54 | */ 55 | private Set obtainGrantedAuthorities(AcctUser user) { 56 | Set authSet = Sets.newHashSet(); 57 | for (AcctRole role : user.getRoleList()) { 58 | for (AcctAuthority authority : role.getAuthorityList()) { 59 | authSet.add(new GrantedAuthorityImpl(authority.getPrefixedName())); 60 | } 61 | } 62 | return authSet; 63 | } 64 | 65 | @Autowired 66 | public void setAccountManager(AccountManager accountManager) { 67 | this.accountManager = accountManager; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/cn/tiger/service/bbs/BbsManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/service/bbs/BbsManager.java -------------------------------------------------------------------------------- /src/cn/tiger/service/filter/ImageFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/service/filter/ImageFilter.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/email/EmailUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/email/EmailUtils.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/email/GenerateLinkUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/email/GenerateLinkUtils.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/email/password.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/email/password.dat -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.gjt.mm.mysql.Driver 8 | myspringbbs 9 | jdbc:mysql://localhost:3306/myspringbbssampledb 10 | myspringbbs 11 | org.hibernate.dialect.MySQLInnoDBDialect 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/hibernate/hibernate.properties -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate.reveng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate2.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.gjt.mm.mysql.Driver 8 | myspringbbs 9 | jdbc:mysql://localhost:3306/myspringbbssampledb 10 | myspringbbs 11 | org.hibernate.dialect.MySQLInnoDBDialect 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate2.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/hibernate/hibernate2.properties -------------------------------------------------------------------------------- /src/cn/tiger/utils/hibernate/hibernate2.reveng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/cn/tiger/utils/level/LevelImgUpload.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/level/LevelImgUpload.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/level/LevelUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/level/LevelUtil.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/md5/EncryptUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/md5/EncryptUtil.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/md5/Md5PasswordEncoderUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/md5/Md5PasswordEncoderUtil.java -------------------------------------------------------------------------------- /src/cn/tiger/utils/sort/ComparatorAuthority.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.utils.sort; 2 | 3 | import java.util.Comparator; 4 | 5 | import cn.tiger.entity.account.AcctAuthority; 6 | 7 | public class ComparatorAuthority implements Comparator { 8 | 9 | @Override 10 | public int compare(Object o1, Object o2) { 11 | // TODO Auto-generated method stub 12 | 13 | AcctAuthority a = (AcctAuthority) o1; 14 | AcctAuthority b = (AcctAuthority) o2; 15 | 16 | int flag = a.getId().compareTo(b.getId()); 17 | 18 | return flag; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/cn/tiger/utils/zstring/MyStringUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/utils/zstring/MyStringUtil.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/ForgetAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/ForgetAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/IndexAction.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.web.mypace; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import org.apache.struts2.convention.annotation.Namespace; 7 | import org.apache.struts2.convention.annotation.Result; 8 | import org.apache.struts2.convention.annotation.Results; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.security.core.context.SecurityContextHolder; 11 | import org.springside.modules.orm.PropertyFilter; 12 | 13 | import com.opensymphony.xwork2.ActionSupport; 14 | 15 | import cn.tiger.entity.account.AcctUser; 16 | import cn.tiger.entity.account.UserDetails.MyUserDetails; 17 | import cn.tiger.service.account.AccountManager; 18 | 19 | @Namespace("/mypace") 20 | @Results( { @Result(name = "success", location = "bbs/topic.action", type = "redirectAction") 21 | }) 22 | public class IndexAction extends ActionSupport{ 23 | 24 | public String execute() throws Exception { 25 | return SUCCESS; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/LoginAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/LoginAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/UserAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/UserAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/BadgeAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/BadgeAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/CommentAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/CommentAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/CommunityadminAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/CommunityadminAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/HelpAction.java: -------------------------------------------------------------------------------- 1 | package cn.tiger.web.mypace.bbs; 2 | 3 | import org.apache.struts2.convention.annotation.Namespace; 4 | import org.apache.struts2.convention.annotation.Result; 5 | import org.apache.struts2.convention.annotation.Results; 6 | 7 | import com.opensymphony.xwork2.ActionSupport; 8 | 9 | @Namespace("/mypace/bbs") 10 | @Results( { 11 | @Result(name = "help", location = "/WEB-INF/zz7/mypace/help/help.jsp", type = "dispatcher"), 12 | @Result(name = "support", location = "/WEB-INF/zz7/mypace/help/support.jsp", type = "dispatcher") 13 | }) 14 | public class HelpAction extends ActionSupport{ 15 | 16 | public String help(){ 17 | return "help"; 18 | } 19 | 20 | public String support(){ 21 | return "support"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/ShowlevelimgAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/ShowlevelimgAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/TopicAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/TopicAction.java -------------------------------------------------------------------------------- /src/cn/tiger/web/mypace/bbs/UserinfoAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzili90/SpringBBS/5952038f2d9f9efb4e7a742410086cb224cca55c/src/cn/tiger/web/mypace/bbs/UserinfoAction.java -------------------------------------------------------------------------------- /src/ehcache/ehcache-hibernate-local.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Output pattern : date [thread] priority category - message 2 | log4j.rootLogger=WARN, Console, RollingFile 3 | 4 | #Console 5 | log4j.appender.Console=org.apache.log4j.ConsoleAppender 6 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 8 | 9 | #RollingFile 10 | log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender 11 | log4j.appender.RollingFile.File=logs/MySpringSecuritySample.log 12 | log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout 13 | log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 14 | 15 | #Project defalult level 16 | log4j.logger.cn.tigerz=INFO -------------------------------------------------------------------------------- /src/spring/application.test.properties: -------------------------------------------------------------------------------- 1 | #jdbc settings 2 | jdbc.driver=com.mysql.jdbc.Driver 3 | jdbc.url=jdbc:mysql://localhost:3306/myspringbbssampledb?useUnicode=true&characterEncoding=utf8 4 | jdbc.username=myspringbbs 5 | jdbc.password=myspringbbs 6 | hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 7 | 8 | #selenium settings 9 | selenium.driver=htmlunit 10 | #selenium.driver=firefox 11 | #selenium.driver=ie 12 | #selenium.driver=remote:localhost:3000:firefox 13 | hibernate.show_sql=true 14 | hibernate.format_sql=true -------------------------------------------------------------------------------- /src/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | AUTOMATIC 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 36 | 37 | -------------------------------------------------------------------------------- /src/test/cn/tiger/service/bbs/AccountManagerTest.java: -------------------------------------------------------------------------------- 1 | package test.cn.tiger.service.bbs; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import java.util.ArrayList; 6 | import java.util.HashSet; 7 | import java.util.Iterator; 8 | import java.util.List; 9 | import java.util.Set; 10 | 11 | import javax.sql.DataSource; 12 | 13 | import org.junit.AfterClass; 14 | import org.junit.Before; 15 | import org.junit.Test; 16 | import org.springframework.beans.factory.annotation.Autowired; 17 | import org.springframework.test.annotation.Rollback; 18 | import org.springframework.test.context.ContextConfiguration; 19 | import org.springside.modules.orm.Page; 20 | import org.springside.modules.orm.PropertyFilter; 21 | import org.springside.modules.test.spring.SpringTxTestCase; 22 | 23 | import cn.tiger.entity.account.AcctUser; 24 | import cn.tiger.entity.bbs.Badge; 25 | import cn.tiger.entity.bbs.CheckTopicAd; 26 | import cn.tiger.entity.bbs.CommunityLevel; 27 | import cn.tiger.entity.bbs.Topic; 28 | import cn.tiger.entity.bbs.TopicAd; 29 | import cn.tiger.service.account.AccountManager; 30 | import cn.tiger.service.bbs.BbsManager; 31 | 32 | @ContextConfiguration(locations={"/spring/applicationContext-test.xml"}) 33 | public class AccountManagerTest extends SpringTxTestCase{ 34 | 35 | private static DataSource dataSourceHolder = null; 36 | 37 | @Autowired 38 | private AccountManager accountManager; 39 | 40 | @Autowired 41 | private BbsManager bbsManager; 42 | 43 | @Before 44 | public void loadDefaultData() throws Exception { 45 | 46 | } 47 | 48 | @AfterClass 49 | public static void cleanDefaultData() throws Exception { 50 | } 51 | 52 | @Test 53 | public void test() { 54 | System.out.println("test"); 55 | } 56 | 57 | @Test 58 | @Rollback(false) 59 | public void testAddBadges(){ 60 | 61 | AcctUser user=accountManager.getUser(3L); 62 | Badge badge=bbsManager.getBadgeById(2L); 63 | user.getBadges().add(badge); 64 | accountManager.saveUser(user); 65 | 66 | } 67 | 68 | @Test 69 | @Rollback(false) 70 | public void testShowBadges(){ 71 | 72 | AcctUser user=accountManager.getUser(3L); 73 | Set set=user.getBadges(); 74 | 75 | Iterator it=set.iterator(); 76 | 77 | while(it.hasNext()){ 78 | Badge badge=it.next(); 79 | System.out.println(badge.getName()); 80 | } 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /src/test/cn/tiger/service/bbs/TestDigestUtils.java: -------------------------------------------------------------------------------- 1 | package test.cn.tiger.service.bbs; 2 | 3 | import org.apache.commons.codec.digest.DigestUtils; 4 | 5 | public class TestDigestUtils { 6 | 7 | public static void main(String[] args) { 8 | // TODO Auto-generated method stub 9 | String s=DigestUtils.md5Hex("leehodna$1471533379000$29910165-e741-4d69-9e79-d9a007b0baba"); 10 | System.out.println(s); 11 | } 12 | 13 | } 14 | --------------------------------------------------------------------------------