├── .gitattributes ├── .gitignore ├── README.md ├── englishload.sql ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ └── englishload │ │ │ ├── common │ │ │ ├── Const.java │ │ │ ├── JsonTools.java │ │ │ ├── MD5.java │ │ │ ├── MD5State.java │ │ │ └── RandomCodeUtil.java │ │ │ ├── controller │ │ │ ├── .gitignore │ │ │ ├── AdminController.java │ │ │ ├── ArticleController.java │ │ │ ├── ButtletinController.java │ │ │ ├── CommentController.java │ │ │ ├── CourseController.java │ │ │ ├── FirstController.java │ │ │ ├── HearingController.java │ │ │ ├── JsonTest.java │ │ │ ├── LoginController.java │ │ │ ├── UserSettingController.java │ │ │ ├── WordbooksController.java │ │ │ ├── WordbooksWordsController.java │ │ │ └── WordsController.java │ │ │ ├── exception │ │ │ ├── CustomException.java │ │ │ └── CustomExceptionResolver.java │ │ │ ├── interceptor │ │ │ └── LoginInterceptor.java │ │ │ ├── mapper │ │ │ ├── ArticleMapper.java │ │ │ ├── ArticleMapper.xml │ │ │ ├── BulletinMapper.java │ │ │ ├── BulletinMapper.xml │ │ │ ├── CommentMapper.java │ │ │ ├── CommentMapper.xml │ │ │ ├── CourseMapper.java │ │ │ ├── CourseMapper.xml │ │ │ ├── CourseUserMapper.java │ │ │ ├── CourseUserMapper.xml │ │ │ ├── CoursecategoryMapper.java │ │ │ ├── CoursecategoryMapper.xml │ │ │ ├── GradecategoryCourseMapper.java │ │ │ ├── GradecategoryCourseMapper.xml │ │ │ ├── GradecategoryHearingMapper.java │ │ │ ├── GradecategoryHearingMapper.xml │ │ │ ├── GradecategoryMapper.java │ │ │ ├── GradecategoryMapper.xml │ │ │ ├── GradecategoryWordsMapper.java │ │ │ ├── GradecategoryWordsMapper.xml │ │ │ ├── HearingCustomMapper.java │ │ │ ├── HearingCustomMapper.xml │ │ │ ├── HearingMapper.java │ │ │ ├── HearingMapper.xml │ │ │ ├── PermissionMapper.java │ │ │ ├── PermissionMapper.xml │ │ │ ├── PermissionMapperCustom.java │ │ │ ├── PermissionMapperCustom.xml │ │ │ ├── RoleMapper.java │ │ │ ├── RoleMapper.xml │ │ │ ├── RolePermissionMapper.java │ │ │ ├── RolePermissionMapper.xml │ │ │ ├── UserMapper.java │ │ │ ├── UserMapper.xml │ │ │ ├── WordbooksCustomMapper.java │ │ │ ├── WordbooksCustomMapper.xml │ │ │ ├── WordbooksMapper.java │ │ │ ├── WordbooksMapper.xml │ │ │ ├── WordbooksWordsCustomMapper.java │ │ │ ├── WordbooksWordsCustomMapper.xml │ │ │ ├── WordbooksWordsMapper.java │ │ │ ├── WordbooksWordsMapper.xml │ │ │ ├── WordsCustomMapper.java │ │ │ ├── WordsCustomMapper.xml │ │ │ ├── WordsMapper.java │ │ │ └── WordsMapper.xml │ │ │ ├── po │ │ │ ├── ActiveUser.java │ │ │ ├── Article.java │ │ │ ├── ArticleExample.java │ │ │ ├── Bulletin.java │ │ │ ├── BulletinExample.java │ │ │ ├── Comment.java │ │ │ ├── CommentCustom.java │ │ │ ├── CommentExample.java │ │ │ ├── Course.java │ │ │ ├── CourseExample.java │ │ │ ├── CourseUser.java │ │ │ ├── CourseUserExample.java │ │ │ ├── Coursecategory.java │ │ │ ├── CoursecategoryExample.java │ │ │ ├── Gradecategory.java │ │ │ ├── GradecategoryCourse.java │ │ │ ├── GradecategoryCourseExample.java │ │ │ ├── GradecategoryExample.java │ │ │ ├── GradecategoryHearing.java │ │ │ ├── GradecategoryHearingExample.java │ │ │ ├── GradecategoryWords.java │ │ │ ├── GradecategoryWordsExample.java │ │ │ ├── Hearing.java │ │ │ ├── HearingCustom.java │ │ │ ├── HearingExample.java │ │ │ ├── HearingWithBLOBs.java │ │ │ ├── Permission.java │ │ │ ├── PermissionExample.java │ │ │ ├── Role.java │ │ │ ├── RoleExample.java │ │ │ ├── RolePermission.java │ │ │ ├── RolePermissionExample.java │ │ │ ├── User.java │ │ │ ├── UserExample.java │ │ │ ├── Wordbooks.java │ │ │ ├── WordbooksCustom.java │ │ │ ├── WordbooksExample.java │ │ │ ├── WordbooksWords.java │ │ │ ├── WordbooksWordsCustom.java │ │ │ ├── WordbooksWordsExample.java │ │ │ ├── Words.java │ │ │ ├── WordsCustom.java │ │ │ └── WordsExample.java │ │ │ ├── realm │ │ │ ├── CustomizedToken.java │ │ │ ├── MyFormAuthenticationFilte.java │ │ │ └── MyRealm.java │ │ │ ├── service │ │ │ ├── ArticleService.java │ │ │ ├── BulletinService.java │ │ │ ├── CommentService.java │ │ │ ├── CourseService.java │ │ │ ├── CourseUserService.java │ │ │ ├── GradecategoryCourseService.java │ │ │ ├── HearingService.java │ │ │ ├── UserService.java │ │ │ ├── WordbooksService.java │ │ │ ├── WordbooksWordsService.java │ │ │ ├── WordsService.java │ │ │ └── impl │ │ │ │ ├── ArticleServiceImpl.java │ │ │ │ ├── BulletinServiceImpl.java │ │ │ │ ├── CommentServiceImpl.java │ │ │ │ ├── CourseServiceImpl.java │ │ │ │ ├── CourseUserServiceImpl.java │ │ │ │ ├── GradecategoryCourseServiceImpl.java │ │ │ │ ├── HearingServiceImpl.java │ │ │ │ ├── UserServiceImpl.java │ │ │ │ ├── WordbooksServiceImpl.java │ │ │ │ ├── WordbooksWordsServiceImpl.java │ │ │ │ └── WordsServiceImpl.java │ │ │ └── util │ │ │ ├── BaseEntity.java │ │ │ ├── BeanUtil.java │ │ │ ├── PagedResult.java │ │ │ └── RequestUtil.java │ ├── resources │ │ ├── properties │ │ │ ├── jdbc.properties │ │ │ └── log4j.properties │ │ ├── shiro-ehcache.xml │ │ ├── spring-mybatis │ │ │ ├── mybatis-config.xml │ │ │ └── spring-mybatis.xml │ │ ├── spring-shiro │ │ │ └── spring-shiro.xml │ │ └── springmvc-servlet │ │ │ └── springmvc-servlet.xml │ └── webapp │ │ ├── WEB-INF │ │ ├── admin │ │ │ ├── adminheader.jsp │ │ │ ├── bulletin.jsp │ │ │ ├── bulletinUpdate.jsp │ │ │ ├── course.jsp │ │ │ ├── courseAdd.jsp │ │ │ ├── index.jsp │ │ │ ├── login.jsp │ │ │ ├── plan.jsp │ │ │ └── user.jsp │ │ ├── article │ │ │ └── articleList.jsp │ │ ├── bulletin │ │ │ ├── bulletinEdit.jsp │ │ │ ├── bulletinList.jsp │ │ │ └── bulletinShow.jsp │ │ ├── common │ │ │ ├── error404.jsp │ │ │ └── success.jsp │ │ ├── course │ │ │ ├── courseindex.jsp │ │ │ ├── courselist.jsp │ │ │ ├── courseplay.jsp │ │ │ ├── courseupload.jsp │ │ │ └── uploadtest.jsp │ │ ├── first.jsp │ │ ├── hearing │ │ │ ├── hearingList.jsp │ │ │ ├── hearingPlay.jsp │ │ │ ├── hearingevery.jsp │ │ │ ├── hearingindex.jsp │ │ │ └── randomHearing.jsp │ │ ├── user │ │ │ ├── sucessreg.jsp │ │ │ ├── userList.jsp │ │ │ ├── useradd.jsp │ │ │ ├── useredit.jsp │ │ │ ├── userreg.jsp │ │ │ ├── usersetting.jsp │ │ │ ├── usersetting2.jsp │ │ │ ├── usersetting_changeinfo.jsp │ │ │ ├── usersetting_changepwd.jsp │ │ │ ├── usersetting_courses.jsp │ │ │ ├── usersetting_header.jsp │ │ │ ├── usersetting_upload.jsp │ │ │ ├── usersetting_wordbookslist.jsp │ │ │ └── usertest.jsp │ │ ├── web.xml │ │ ├── wordbooks │ │ │ ├── wordbooks.jsp │ │ │ ├── wordbooksAdd.jsp │ │ │ ├── wordbooksEdit.jsp │ │ │ └── wordbooksList.jsp │ │ ├── wordbookswords │ │ │ ├── wordbooksWordsAdd.jsp │ │ │ ├── wordbooksWordsDel.jsp │ │ │ └── wordbooksWordsList.jsp │ │ └── words │ │ │ ├── WordsTest.jsp │ │ │ ├── wordIndex.jsp │ │ │ ├── wordLearning.jsp │ │ │ └── wordstudy.jsp │ │ ├── ceshi.jsp │ │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-combined.min.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── camera.css │ │ │ ├── font-awesome.min.css │ │ │ ├── isotope.css │ │ │ └── style.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ ├── glyphicons-halflings-regular.woff2 │ │ │ ├── pc6-dongqingheitixz.zip │ │ │ └── pc6-wrzhtztxz.zip │ │ ├── jquery-3.1.1.js │ │ └── js │ │ │ ├── bootstrap-paginator.min.js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── camera.min.js │ │ │ ├── custom.js │ │ │ ├── fancybox │ │ │ ├── Descr.WD3 │ │ │ ├── blank.gif │ │ │ ├── fancybox_loading.gif │ │ │ ├── fancybox_loading_402x.gif │ │ │ ├── fancybox_overlay.png │ │ │ ├── fancybox_sprite.png │ │ │ ├── fancybox_sprite_402x.png │ │ │ ├── jquery.fancybox.css │ │ │ └── jquery.fancybox.pack.js │ │ │ ├── google-map.js │ │ │ ├── html5shiv.js │ │ │ ├── jquery-1.9.1.min.js │ │ │ ├── jquery.cslider.js │ │ │ ├── jquery.easing.1.3.js │ │ │ ├── jquery.isotope.min.js │ │ │ ├── jquery.min.js │ │ │ ├── jquery.mobile.customized.min.js │ │ │ ├── modernizr-latest.js │ │ │ ├── npm.js │ │ │ └── respond.min.js │ │ ├── front │ │ ├── about.jsp │ │ ├── contact.jsp │ │ ├── courses.jsp │ │ ├── header.jsp │ │ ├── listening.jsp │ │ └── words.jsp │ │ ├── images │ │ ├── 1.jpg │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── about.jpg │ │ ├── add_note.jpg │ │ ├── admin_login │ │ │ ├── adm.png │ │ │ ├── avtar.png │ │ │ ├── background.jpg │ │ │ ├── close.png │ │ │ ├── key.png │ │ │ └── pass.png │ │ ├── arrow.png │ │ ├── arrows.png │ │ ├── avatar.jpg │ │ ├── background.jpg │ │ ├── bg.png │ │ ├── bg_header.jpg │ │ ├── blank.gif │ │ ├── camera-loader.gif │ │ ├── camera_skins.png │ │ ├── favicon.png │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ ├── img3.jpg │ │ ├── login.jpg │ │ ├── logo.png │ │ ├── news2.jpg │ │ ├── news3.jpg │ │ ├── news4.jpg │ │ ├── note_cover.jpg │ │ ├── photo-1.jpg │ │ ├── photo-2.jpg │ │ ├── photo-3.jpg │ │ ├── photo-4.jpg │ │ ├── picture1.png │ │ ├── playbutton.png │ │ ├── portfolio │ │ │ ├── img1.jpg │ │ │ ├── img2.jpg │ │ │ ├── img3.jpg │ │ │ ├── img4.jpg │ │ │ ├── img5.jpg │ │ │ ├── img6.jpg │ │ │ ├── img7.jpg │ │ │ ├── img8.jpg │ │ │ └── img9.jpg │ │ ├── post_01.jpg │ │ ├── searchCourse.png │ │ ├── slides │ │ │ ├── _notes │ │ │ │ └── dwsync.xml │ │ │ ├── img1.jpg │ │ │ ├── img2.jpg │ │ │ ├── img3.jpg │ │ │ └── thumbs │ │ │ │ ├── _notes │ │ │ │ └── dwsync.xml │ │ │ │ ├── big_bunny_fake.jpg │ │ │ │ ├── bridge.jpg │ │ │ │ ├── header_bg.png │ │ │ │ ├── leaf.jpg │ │ │ │ ├── road.jpg │ │ │ │ ├── sea.jpg │ │ │ │ ├── shelter.jpg │ │ │ │ └── tree.jpg │ │ ├── user_setting.jpg │ │ └── user_word_list.jpg │ │ ├── index.jsp │ │ ├── js │ │ ├── audioplayer.js │ │ ├── audioplayer.min.js │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── video.min.js │ │ ├── json │ │ ├── bulletin.json │ │ └── test.json │ │ ├── jsonTest.jsp │ │ ├── refuse.jsp │ │ └── styles │ │ ├── audioplayer.css │ │ ├── basic.css │ │ ├── demo.css │ │ ├── demo2.css │ │ ├── login.css │ │ ├── reset.css │ │ ├── test.css │ │ └── video-js.min.css └── test │ └── java │ ├── TestUnity │ └── CommentTest.java │ ├── chenyinghuiTest │ └── WordsCustomMapperTest.java │ └── com │ └── englishload │ ├── jdbctest │ ├── CourseMapperTest.java │ └── UserMapperTest.java │ └── usertest │ ├── SpringTestCase.java │ ├── UserServiceTest.java │ └── UserTest.java └── target ├── classes ├── com │ └── englishload │ │ ├── common │ │ ├── Const.class │ │ ├── JsonTools.class │ │ ├── MD5.class │ │ ├── MD5State.class │ │ └── RandomCodeUtil.class │ │ ├── controller │ │ ├── .gitignore │ │ ├── AdminController.class │ │ ├── ArticleController.class │ │ ├── ButtletinController.class │ │ ├── CommentController.class │ │ ├── CourseController.class │ │ ├── FirstController.class │ │ ├── HearingController.class │ │ ├── JsonTest.class │ │ ├── LoginController.class │ │ ├── UserController.class │ │ ├── UserSettingController.class │ │ ├── WordbooksController.class │ │ ├── WordbooksWordsController.class │ │ └── WordsController.class │ │ ├── exception │ │ ├── CustomException.class │ │ └── CustomExceptionResolver.class │ │ ├── interceptor │ │ └── LoginInterceptor.class │ │ ├── mapper │ │ ├── ArticleMapper.class │ │ ├── ArticleMapper.xml │ │ ├── BulletinMapper.class │ │ ├── BulletinMapper.xml │ │ ├── CommentMapper.class │ │ ├── CommentMapper.xml │ │ ├── CourseMapper.class │ │ ├── CourseMapper.xml │ │ ├── CourseUserMapper.class │ │ ├── CourseUserMapper.xml │ │ ├── CoursecategoryMapper.class │ │ ├── CoursecategoryMapper.xml │ │ ├── GradecategoryCourseMapper.class │ │ ├── GradecategoryCourseMapper.xml │ │ ├── GradecategoryHearingMapper.class │ │ ├── GradecategoryHearingMapper.xml │ │ ├── GradecategoryMapper.class │ │ ├── GradecategoryMapper.xml │ │ ├── GradecategoryWordsMapper.class │ │ ├── GradecategoryWordsMapper.xml │ │ ├── HearingCustomMapper.class │ │ ├── HearingCustomMapper.xml │ │ ├── HearingMapper.class │ │ ├── HearingMapper.xml │ │ ├── PermissionMapper.class │ │ ├── PermissionMapper.xml │ │ ├── PermissionMapperCustom.class │ │ ├── PermissionMapperCustom.xml │ │ ├── RoleMapper.class │ │ ├── RoleMapper.xml │ │ ├── RolePermissionMapper.class │ │ ├── RolePermissionMapper.xml │ │ ├── UserMapper.class │ │ ├── UserMapper.xml │ │ ├── WordbooksCustomMapper.class │ │ ├── WordbooksCustomMapper.xml │ │ ├── WordbooksMapper.class │ │ ├── WordbooksMapper.xml │ │ ├── WordbooksWordsCustomMapper.class │ │ ├── WordbooksWordsCustomMapper.xml │ │ ├── WordbooksWordsMapper.class │ │ ├── WordbooksWordsMapper.xml │ │ ├── WordsCustomMapper.class │ │ ├── WordsCustomMapper.xml │ │ ├── WordsMapper.class │ │ └── WordsMapper.xml │ │ ├── po │ │ ├── ActiveUser.class │ │ ├── Article.class │ │ ├── ArticleExample$Criteria.class │ │ ├── ArticleExample$Criterion.class │ │ ├── ArticleExample$GeneratedCriteria.class │ │ ├── ArticleExample.class │ │ ├── Bulletin.class │ │ ├── BulletinExample$Criteria.class │ │ ├── BulletinExample$Criterion.class │ │ ├── BulletinExample$GeneratedCriteria.class │ │ ├── BulletinExample.class │ │ ├── Comment.class │ │ ├── CommentCustom.class │ │ ├── CommentExample$Criteria.class │ │ ├── CommentExample$Criterion.class │ │ ├── CommentExample$GeneratedCriteria.class │ │ ├── CommentExample.class │ │ ├── Course.class │ │ ├── CourseExample$Criteria.class │ │ ├── CourseExample$Criterion.class │ │ ├── CourseExample$GeneratedCriteria.class │ │ ├── CourseExample.class │ │ ├── CourseUser.class │ │ ├── CourseUserExample$Criteria.class │ │ ├── CourseUserExample$Criterion.class │ │ ├── CourseUserExample$GeneratedCriteria.class │ │ ├── CourseUserExample.class │ │ ├── Coursecategory.class │ │ ├── CoursecategoryExample$Criteria.class │ │ ├── CoursecategoryExample$Criterion.class │ │ ├── CoursecategoryExample$GeneratedCriteria.class │ │ ├── CoursecategoryExample.class │ │ ├── Gradecategory.class │ │ ├── GradecategoryCourse.class │ │ ├── GradecategoryCourseExample$Criteria.class │ │ ├── GradecategoryCourseExample$Criterion.class │ │ ├── GradecategoryCourseExample$GeneratedCriteria.class │ │ ├── GradecategoryCourseExample.class │ │ ├── GradecategoryExample$Criteria.class │ │ ├── GradecategoryExample$Criterion.class │ │ ├── GradecategoryExample$GeneratedCriteria.class │ │ ├── GradecategoryExample.class │ │ ├── GradecategoryHearing.class │ │ ├── GradecategoryHearingExample$Criteria.class │ │ ├── GradecategoryHearingExample$Criterion.class │ │ ├── GradecategoryHearingExample$GeneratedCriteria.class │ │ ├── GradecategoryHearingExample.class │ │ ├── GradecategoryWords.class │ │ ├── GradecategoryWordsExample$Criteria.class │ │ ├── GradecategoryWordsExample$Criterion.class │ │ ├── GradecategoryWordsExample$GeneratedCriteria.class │ │ ├── GradecategoryWordsExample.class │ │ ├── Hearing.class │ │ ├── HearingCustom.class │ │ ├── HearingExample$Criteria.class │ │ ├── HearingExample$Criterion.class │ │ ├── HearingExample$GeneratedCriteria.class │ │ ├── HearingExample.class │ │ ├── HearingWithBLOBs.class │ │ ├── Permission.class │ │ ├── PermissionExample$Criteria.class │ │ ├── PermissionExample$Criterion.class │ │ ├── PermissionExample$GeneratedCriteria.class │ │ ├── PermissionExample.class │ │ ├── Role.class │ │ ├── RoleExample$Criteria.class │ │ ├── RoleExample$Criterion.class │ │ ├── RoleExample$GeneratedCriteria.class │ │ ├── RoleExample.class │ │ ├── RolePermission.class │ │ ├── RolePermissionExample$Criteria.class │ │ ├── RolePermissionExample$Criterion.class │ │ ├── RolePermissionExample$GeneratedCriteria.class │ │ ├── RolePermissionExample.class │ │ ├── User.class │ │ ├── UserExample$Criteria.class │ │ ├── UserExample$Criterion.class │ │ ├── UserExample$GeneratedCriteria.class │ │ ├── UserExample.class │ │ ├── Wordbooks.class │ │ ├── WordbooksCustom.class │ │ ├── WordbooksExample$Criteria.class │ │ ├── WordbooksExample$Criterion.class │ │ ├── WordbooksExample$GeneratedCriteria.class │ │ ├── WordbooksExample.class │ │ ├── WordbooksWords.class │ │ ├── WordbooksWordsCustom.class │ │ ├── WordbooksWordsExample$Criteria.class │ │ ├── WordbooksWordsExample$Criterion.class │ │ ├── WordbooksWordsExample$GeneratedCriteria.class │ │ ├── WordbooksWordsExample.class │ │ ├── Words.class │ │ ├── WordsCustom.class │ │ ├── WordsExample$Criteria.class │ │ ├── WordsExample$Criterion.class │ │ ├── WordsExample$GeneratedCriteria.class │ │ └── WordsExample.class │ │ ├── realm │ │ ├── CustomizedToken.class │ │ ├── MyFormAuthenticationFilte.class │ │ └── MyRealm.class │ │ ├── service │ │ ├── ArticleService.class │ │ ├── BulletinService.class │ │ ├── CommentService.class │ │ ├── CourseService.class │ │ ├── CourseUserService.class │ │ ├── GradecategoryCourseService.class │ │ ├── HearingService.class │ │ ├── UserService.class │ │ ├── WordbooksService.class │ │ ├── WordbooksWordsService.class │ │ ├── WordsService.class │ │ └── impl │ │ │ ├── ArticleServiceImpl.class │ │ │ ├── BulletinServiceImpl.class │ │ │ ├── CommentServiceImpl.class │ │ │ ├── CourseServiceImpl.class │ │ │ ├── CourseUserServiceImpl.class │ │ │ ├── GradecategoryCourseServiceImpl.class │ │ │ ├── HearingServiceImpl.class │ │ │ ├── UserServiceImpl.class │ │ │ ├── WordbooksServiceImpl.class │ │ │ ├── WordbooksWordsServiceImpl.class │ │ │ └── WordsServiceImpl.class │ │ └── util │ │ ├── BaseEntity$PropertyInfo.class │ │ ├── BaseEntity.class │ │ ├── BeanUtil.class │ │ ├── PagedResult.class │ │ └── RequestUtil.class ├── properties │ ├── jdbc.properties │ └── log4j.properties ├── shiro-ehcache.xml ├── spring-mybatis │ ├── mybatis-config.xml │ └── spring-mybatis.xml ├── spring-shiro │ └── spring-shiro.xml └── springmvc-servlet │ └── springmvc-servlet.xml ├── m2e-wtp └── web-resources │ └── META-INF │ ├── MANIFEST.MF │ └── maven │ └── EnglishLoad │ └── EnglishLoad │ ├── pom.properties │ └── pom.xml └── test-classes ├── TestUnity └── CommentTest.class ├── chenyinghuiTest └── WordsCustomMapperTest.class └── com └── englishload ├── jdbctest ├── CourseMapperTest.class └── UserMapperTest.class └── usertest ├── SpringTestCase.class ├── UserServiceTest.class └── UserTest.class /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EnglishLoad 2 | 实训-基于SSM框架的在线英语学习 3 | 注意点: 4 | 技术框架:Spring +SpringMVC+MyBatis+Shiro+BootStrap 5 | jdk:1.81 6 | Tomcat 8 7 | Maven 8 | github 9 | 10 | #chenyinghui 11 | 修改记录: 12 | 1.将user表的username属性字段改成unique 13 | 14 | #taojian 15 | 修改记录: 16 | 1.增加权限表,用户角色和权限之间的关联表,并修改了用户表的一些字段,增加了salt盐字段
17 | 2.修改用户增加功能,将用户的增加的密码和盐进行md5校验,并存放数据库中
18 | 3.shiro认证和授权的部分配置完成,目前后台登录,用户名taojian,密码111111
19 | 4,数据库表重新导入,授权部分利用注解的方式进行完成
20 | 5.修改生词本,根据用户登录,获取用户id,并自动查询用户的生词本。
21 | 6.用户自动登录记住我功能完成
22 | 7.session会话和ehcache缓存整合完善
23 | 8.分页pageHelper完成
24 | 9.增加课程的字段pic,修改用户更新功能
25 | 10.制作视频播放页面,个人用户页面
26 | 11.增加课程的courseintro字段,并修改逆向工程的代码。
27 | 12.shiro整合后台跳转页面。
28 | 13.课程视频播放,从数据库整合完成
29 | 14.前台登陆名zhangsan,密码111111,注册整合完成
30 | 15.课程上传功能完成
31 | 16.点击视频增加点击率,并按照人气排序。
32 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/common/Const.java: -------------------------------------------------------------------------------- 1 | package com.englishload.common; 2 | 3 | 4 | public class Const { 5 | //nihao test 6 | public static final String REDIRECT_HOME = "/"; 7 | public static final String SESSION_USER = "USER"; //保存用户 8 | public static final String LAST_PAGE = "LAST_PAGE"; // 9 | // 保存cookie的cookieName 10 | public static final String COOKIEDOMAINNAME = "2015_V_5_SSM"; //自己随便定义 11 | // 加密cookie时的网站自定码 12 | public static final String WEBKEY = "2015_V_5_SSM"; //自己随便定义 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/common/JsonTools.java: -------------------------------------------------------------------------------- 1 | package com.englishload.common; 2 | import com.alibaba.fastjson.*; 3 | 4 | public class JsonTools { 5 | /** 6 | * 将字符串转换成json对象 7 | * @param object 8 | * @return 9 | */ 10 | public static String createJsonString(Object object){ 11 | String jsonString = ""; 12 | try { 13 | jsonString = JSON.toJSONString(object); 14 | } catch (Exception e) { 15 | } 16 | return jsonString; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/common/MD5State.java: -------------------------------------------------------------------------------- 1 | package com.englishload.common; 2 | 3 | class MD5State { 4 | 5 | public MD5State(MD5State from) { 6 | this(); 7 | for (int i = 0; i < buffer.length; i++) 8 | buffer[i] = from.buffer[i]; 9 | 10 | for (int i = 0; i < state.length; i++) 11 | state[i] = from.state[i]; 12 | 13 | for (int i = 0; i < count.length; i++) 14 | count[i] = from.count[i]; 15 | 16 | } 17 | 18 | public MD5State() { 19 | buffer = new byte[64]; 20 | count = new int[2]; 21 | state = new int[4]; 22 | state[0] = 0x67452301; 23 | state[1] = 0xefcdab89; 24 | state[2] = 0x98badcfe; 25 | state[3] = 0x10325476; 26 | count[0] = count[1] = 0; 27 | } 28 | 29 | byte buffer[]; 30 | int count[]; 31 | int state[]; 32 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/controller/.gitignore: -------------------------------------------------------------------------------- 1 | /UserController.java 2 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/controller/ArticleController.java: -------------------------------------------------------------------------------- 1 | package com.englishload.controller; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.ui.Model; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | import org.springframework.web.servlet.ModelAndView; 10 | 11 | import com.englishload.po.Article; 12 | import com.englishload.po.Bulletin; 13 | import com.englishload.po.WordsCustom; 14 | import com.englishload.service.ArticleService; 15 | 16 | @Controller 17 | @RequestMapping(value="/article") 18 | public class ArticleController { 19 | @Autowired 20 | private ArticleService articleService; 21 | //查询所有的文章(随机) 22 | @RequestMapping(value="/articleList") 23 | public ModelAndView bulletinList(){ 24 | Article article=articleService.findOneArticle(); 25 | ModelAndView mv=new ModelAndView(); 26 | mv.addObject("article",article); 27 | mv.setViewName("article/articleList"); 28 | return mv; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/controller/FirstController.java: -------------------------------------------------------------------------------- 1 | package com.englishload.controller; 2 | 3 | import org.apache.shiro.SecurityUtils; 4 | import org.apache.shiro.subject.Subject; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.ui.Model; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | 9 | import com.englishload.po.ActiveUser; 10 | 11 | 12 | 13 | 14 | @Controller 15 | public class FirstController { 16 | //系统首页 17 | @RequestMapping("/first.action") 18 | public String first(Model model)throws Exception{ 19 | 20 | //从shiro的session中取activeUser 21 | Subject subject = SecurityUtils.getSubject(); 22 | //取身份信息 23 | ActiveUser activeUser = (ActiveUser) subject.getPrincipal(); 24 | //通过model传到页面 25 | model.addAttribute("activeUser", activeUser); 26 | 27 | return "/first"; 28 | } 29 | 30 | //欢迎页面 31 | @RequestMapping("/welcome") 32 | public String welcome(Model model)throws Exception{ 33 | 34 | return "/welcome"; 35 | 36 | } 37 | 38 | @RequestMapping("/test") 39 | public String test(Model model)throws Exception{ 40 | 41 | return "ceshi"; 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/controller/JsonTest.java: -------------------------------------------------------------------------------- 1 | package com.englishload.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestBody; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | import org.springframework.web.bind.annotation.ResponseBody; 7 | 8 | import com.englishload.po.User; 9 | 10 | 11 | 12 | @Controller 13 | public class JsonTest { 14 | 15 | //请求json串(用户信息),输出json(用户信息) 16 | //@RequestBody将请求的用户信息的json串转成itemsCustom对象 17 | //@ResponseBody将itemsCustom转成json输出 18 | @RequestMapping("/requestJson") 19 | public @ResponseBody User requestJson(@RequestBody User user){ 20 | 21 | //@ResponseBody将User转成json输出 22 | return user; 23 | } 24 | 25 | //请求key/value,输出json 26 | @RequestMapping("/responseJson") 27 | public @ResponseBody User responseJson(User User){ 28 | 29 | //@ResponseBody将User转成json输出 30 | return User; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/exception/CustomException.java: -------------------------------------------------------------------------------- 1 | package com.englishload.exception; 2 | 3 | 4 | public class CustomException extends Exception { 5 | 6 | //异常信息 7 | private String message; 8 | 9 | public CustomException(String message){ 10 | super(message); 11 | this.message = message; 12 | 13 | } 14 | 15 | public String getMessage() { 16 | return message; 17 | } 18 | 19 | public void setMessage(String message) { 20 | this.message = message; 21 | } 22 | 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/ArticleMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Article; 4 | import com.englishload.po.ArticleExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface ArticleMapper { 9 | int countByExample(ArticleExample example); 10 | 11 | int deleteByExample(ArticleExample example); 12 | 13 | int deleteByPrimaryKey(Integer articleId); 14 | 15 | int insert(Article record); 16 | 17 | int insertSelective(Article record); 18 | 19 | List
selectByExampleWithBLOBs(ArticleExample example); 20 | 21 | List
selectByExample(ArticleExample example); 22 | 23 | Article selectByPrimaryKey(Integer articleId); 24 | 25 | int updateByExampleSelective(@Param("record") Article record, @Param("example") ArticleExample example); 26 | 27 | int updateByExampleWithBLOBs(@Param("record") Article record, @Param("example") ArticleExample example); 28 | 29 | int updateByExample(@Param("record") Article record, @Param("example") ArticleExample example); 30 | 31 | int updateByPrimaryKeySelective(Article record); 32 | 33 | int updateByPrimaryKeyWithBLOBs(Article record); 34 | 35 | int updateByPrimaryKey(Article record); 36 | //随机一篇文章 37 | Article findOneArticle(); 38 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/BulletinMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Bulletin; 4 | import com.englishload.po.BulletinExample; 5 | import com.englishload.po.User; 6 | 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Param; 9 | 10 | public interface BulletinMapper { 11 | int countByExample(BulletinExample example); 12 | 13 | int deleteByExample(BulletinExample example); 14 | 15 | /* 16 | * 根据id删除指定的公告 17 | */ 18 | int deleteByPrimaryKey(Integer bulletinId); 19 | 20 | int insert(Bulletin record); 21 | 22 | int insertSelective(Bulletin record); 23 | 24 | List selectByExample(BulletinExample example); 25 | 26 | Bulletin selectByPrimaryKey(Integer bulletinId); 27 | 28 | int updateByExampleSelective(@Param("record") Bulletin record, @Param("example") BulletinExample example); 29 | 30 | int updateByExample(@Param("record") Bulletin record, @Param("example") BulletinExample example); 31 | 32 | int updateByPrimaryKeySelective(Bulletin record); 33 | 34 | int updateByPrimaryKey(Bulletin record); 35 | /** 36 | * 此方法对应于数据库中的表 ,bulletin 37 | * 查询所有数据库记录 38 | */ 39 | List findAll(); 40 | //模糊搜索 41 | List selectByBulletinParName(@Param("title") String title); 42 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/CommentMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Bulletin; 4 | import com.englishload.po.Comment; 5 | import com.englishload.po.CommentCustom; 6 | import com.englishload.po.CommentExample; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Param; 9 | 10 | public interface CommentMapper { 11 | int countByExample(CommentExample example); 12 | 13 | int deleteByExample(CommentExample example); 14 | 15 | int deleteByPrimaryKey(Integer commentId); 16 | 17 | 18 | 19 | int insertSelective(Comment record); 20 | 21 | List selectByExampleWithBLOBs(CommentExample example); 22 | 23 | List selectByExample(CommentExample example); 24 | 25 | Comment selectByPrimaryKey(Integer commentId); 26 | 27 | int updateByExampleSelective(@Param("record") Comment record, @Param("example") CommentExample example); 28 | 29 | int updateByExampleWithBLOBs(@Param("record") Comment record, @Param("example") CommentExample example); 30 | 31 | int updateByExample(@Param("record") Comment record, @Param("example") CommentExample example); 32 | 33 | int updateByPrimaryKeySelective(Comment record); 34 | 35 | int updateByPrimaryKeyWithBLOBs(Comment record); 36 | 37 | int updateByPrimaryKey(Comment record); 38 | 39 | //根据user_id删除记录 40 | int deleteByUserId(Integer userId); 41 | //显示所有的评论信息,获得用户名和课程名称 42 | List findAll(int courseId); 43 | //增加一条记录 44 | int insert(Comment record); 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/CourseMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Course; 4 | import com.englishload.po.CourseExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface CourseMapper { 9 | int countByExample(CourseExample example); 10 | 11 | int deleteByExample(CourseExample example); 12 | 13 | int deleteByPrimaryKey(Integer courseId); 14 | 15 | int insert(Course record); 16 | 17 | int insertSelective(Course record); 18 | 19 | List selectByExample(CourseExample example); 20 | 21 | Course selectByPrimaryKey(Integer courseId); 22 | 23 | int updateByExampleSelective(@Param("record") Course record, @Param("example") CourseExample example); 24 | 25 | int updateByExample(@Param("record") Course record, @Param("example") CourseExample example); 26 | 27 | int updateByPrimaryKeySelective(Course record); 28 | 29 | int updateByPrimaryKey(Course record); 30 | 31 | //根据点击率进行排序 32 | public List selectByCourseClickRate(); 33 | //根据课程名就行模糊搜索 34 | public List selectByCourseParName(@Param("coursename") String coursename); 35 | //根据课程分类显示相应课程 36 | public List selectByCourseCategory(String categoryname); 37 | //根据课程等级显示相应课程 38 | public List selectByCourseGrade(String gradename); 39 | //根据课程等级和课程分类显示相应课程 40 | public List selectByCourseGradeAndCategory(@Param("categoryname") String categoryname,@Param("gradename") String gradename); 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/CourseUserMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Course; 4 | import com.englishload.po.CourseUser; 5 | import com.englishload.po.CourseUserExample; 6 | import java.util.List; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | public interface CourseUserMapper { 10 | int countByExample(CourseUserExample example); 11 | 12 | int deleteByExample(CourseUserExample example); 13 | 14 | int deleteByPrimaryKey(Integer courseUserId); 15 | 16 | int insert(CourseUser record); 17 | 18 | int insertSelective(CourseUser record); 19 | 20 | List selectByExample(CourseUserExample example); 21 | 22 | CourseUser selectByPrimaryKey(Integer courseUserId); 23 | 24 | int updateByExampleSelective(@Param("record") CourseUser record, @Param("example") CourseUserExample example); 25 | 26 | int updateByExample(@Param("record") CourseUser record, @Param("example") CourseUserExample example); 27 | 28 | int updateByPrimaryKeySelective(CourseUser record); 29 | 30 | int updateByPrimaryKey(CourseUser record); 31 | 32 | //delete by userId 33 | int deleteByUserId(Integer userId); 34 | //插入上传课程记录 35 | int insertCourseUser(CourseUser record); 36 | //查找用户浏览过的课程按照日期降序排序 37 | List findUserWatchedCourse(int userId); 38 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/CoursecategoryMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Coursecategory; 4 | import com.englishload.po.CoursecategoryExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface CoursecategoryMapper { 9 | int countByExample(CoursecategoryExample example); 10 | 11 | int deleteByExample(CoursecategoryExample example); 12 | 13 | int deleteByPrimaryKey(Integer categoryId); 14 | 15 | int insert(Coursecategory record); 16 | 17 | int insertSelective(Coursecategory record); 18 | 19 | List selectByExample(CoursecategoryExample example); 20 | 21 | Coursecategory selectByPrimaryKey(Integer categoryId); 22 | 23 | int updateByExampleSelective(@Param("record") Coursecategory record, @Param("example") CoursecategoryExample example); 24 | 25 | int updateByExample(@Param("record") Coursecategory record, @Param("example") CoursecategoryExample example); 26 | 27 | int updateByPrimaryKeySelective(Coursecategory record); 28 | 29 | int updateByPrimaryKey(Coursecategory record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/GradecategoryCourseMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.CourseUser; 4 | import com.englishload.po.GradecategoryCourse; 5 | import com.englishload.po.GradecategoryCourseExample; 6 | import java.util.List; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | public interface GradecategoryCourseMapper { 10 | int countByExample(GradecategoryCourseExample example); 11 | 12 | int deleteByExample(GradecategoryCourseExample example); 13 | 14 | int deleteByPrimaryKey(Integer gradecategoryCourseId); 15 | 16 | int insert(GradecategoryCourse record); 17 | 18 | int insertSelective(GradecategoryCourse record); 19 | 20 | List selectByExample(GradecategoryCourseExample example); 21 | 22 | GradecategoryCourse selectByPrimaryKey(Integer gradecategoryCourseId); 23 | 24 | int updateByExampleSelective(@Param("record") GradecategoryCourse record, @Param("example") GradecategoryCourseExample example); 25 | 26 | int updateByExample(@Param("record") GradecategoryCourse record, @Param("example") GradecategoryCourseExample example); 27 | 28 | int updateByPrimaryKeySelective(GradecategoryCourse record); 29 | 30 | int updateByPrimaryKey(GradecategoryCourse record); 31 | 32 | int insertGradecategoryCourse(GradecategoryCourse record); 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/GradecategoryHearingMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.GradecategoryHearing; 4 | import com.englishload.po.GradecategoryHearingExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface GradecategoryHearingMapper { 9 | int countByExample(GradecategoryHearingExample example); 10 | 11 | int deleteByExample(GradecategoryHearingExample example); 12 | 13 | int deleteByPrimaryKey(Integer gradecategoryHearingId); 14 | 15 | int insert(GradecategoryHearing record); 16 | 17 | int insertSelective(GradecategoryHearing record); 18 | 19 | List selectByExample(GradecategoryHearingExample example); 20 | 21 | GradecategoryHearing selectByPrimaryKey(Integer gradecategoryHearingId); 22 | 23 | int updateByExampleSelective(@Param("record") GradecategoryHearing record, @Param("example") GradecategoryHearingExample example); 24 | 25 | int updateByExample(@Param("record") GradecategoryHearing record, @Param("example") GradecategoryHearingExample example); 26 | 27 | int updateByPrimaryKeySelective(GradecategoryHearing record); 28 | 29 | int updateByPrimaryKey(GradecategoryHearing record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/GradecategoryMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Gradecategory; 4 | import com.englishload.po.GradecategoryExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface GradecategoryMapper { 9 | int countByExample(GradecategoryExample example); 10 | 11 | int deleteByExample(GradecategoryExample example); 12 | 13 | int deleteByPrimaryKey(Integer gradeId); 14 | 15 | int insert(Gradecategory record); 16 | 17 | int insertSelective(Gradecategory record); 18 | 19 | List selectByExample(GradecategoryExample example); 20 | 21 | Gradecategory selectByPrimaryKey(Integer gradeId); 22 | 23 | int updateByExampleSelective(@Param("record") Gradecategory record, @Param("example") GradecategoryExample example); 24 | 25 | int updateByExample(@Param("record") Gradecategory record, @Param("example") GradecategoryExample example); 26 | 27 | int updateByPrimaryKeySelective(Gradecategory record); 28 | 29 | int updateByPrimaryKey(Gradecategory record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/GradecategoryWordsMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.GradecategoryWords; 4 | import com.englishload.po.GradecategoryWordsExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface GradecategoryWordsMapper { 9 | int countByExample(GradecategoryWordsExample example); 10 | 11 | int deleteByExample(GradecategoryWordsExample example); 12 | 13 | int deleteByPrimaryKey(Integer gradecategoryWordsId); 14 | 15 | int insert(GradecategoryWords record); 16 | 17 | int insertSelective(GradecategoryWords record); 18 | 19 | List selectByExample(GradecategoryWordsExample example); 20 | 21 | GradecategoryWords selectByPrimaryKey(Integer gradecategoryWordsId); 22 | 23 | int updateByExampleSelective(@Param("record") GradecategoryWords record, @Param("example") GradecategoryWordsExample example); 24 | 25 | int updateByExample(@Param("record") GradecategoryWords record, @Param("example") GradecategoryWordsExample example); 26 | 27 | int updateByPrimaryKeySelective(GradecategoryWords record); 28 | 29 | int updateByPrimaryKey(GradecategoryWords record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/HearingCustomMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.mapper; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.HearingCustom; 9 | 10 | /** 11 | * @author Sarah 12 | * @date 2017年2月14日下午1:17:44 13 | * @filename HearingCustomMapper.java 14 | * @description 15 | */ 16 | public interface HearingCustomMapper { 17 | 18 | //每日一听 19 | HearingCustom randomHearing(); 20 | //显示全部听力 21 | List findHearingList(); 22 | //根据听力等级id显示听力 23 | List findHearingByGrade(int gradeId); 24 | //根据听力id查找听力 25 | HearingCustom findHearingById(int hearingId); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/HearingCustomMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 17 | 20 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/HearingMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Hearing; 4 | import com.englishload.po.HearingExample; 5 | import com.englishload.po.HearingWithBLOBs; 6 | import java.util.List; 7 | import org.apache.ibatis.annotations.Param; 8 | 9 | public interface HearingMapper { 10 | int countByExample(HearingExample example); 11 | 12 | int deleteByExample(HearingExample example); 13 | 14 | int deleteByPrimaryKey(Integer hearingId); 15 | 16 | int insert(HearingWithBLOBs record); 17 | 18 | int insertSelective(HearingWithBLOBs record); 19 | 20 | List selectByExampleWithBLOBs(HearingExample example); 21 | 22 | List selectByExample(HearingExample example); 23 | 24 | HearingWithBLOBs selectByPrimaryKey(Integer hearingId); 25 | 26 | int updateByExampleSelective(@Param("record") HearingWithBLOBs record, @Param("example") HearingExample example); 27 | 28 | int updateByExampleWithBLOBs(@Param("record") HearingWithBLOBs record, @Param("example") HearingExample example); 29 | 30 | int updateByExample(@Param("record") Hearing record, @Param("example") HearingExample example); 31 | 32 | int updateByPrimaryKeySelective(HearingWithBLOBs record); 33 | 34 | int updateByPrimaryKeyWithBLOBs(HearingWithBLOBs record); 35 | 36 | int updateByPrimaryKey(Hearing record); 37 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/PermissionMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Permission; 4 | import com.englishload.po.PermissionExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface PermissionMapper { 9 | int countByExample(PermissionExample example); 10 | 11 | int deleteByExample(PermissionExample example); 12 | 13 | int deleteByPrimaryKey(Long id); 14 | 15 | int insert(Permission record); 16 | 17 | int insertSelective(Permission record); 18 | 19 | List selectByExample(PermissionExample example); 20 | 21 | Permission selectByPrimaryKey(Long id); 22 | 23 | int updateByExampleSelective(@Param("record") Permission record, @Param("example") PermissionExample example); 24 | 25 | int updateByExample(@Param("record") Permission record, @Param("example") PermissionExample example); 26 | 27 | int updateByPrimaryKeySelective(Permission record); 28 | 29 | int updateByPrimaryKey(Permission record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/PermissionMapperCustom.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.Permission; 6 | 7 | /** 8 | * 9 | * @author taojian 10 | * @time 2017年1月22日下午9:07:17 11 | * @ClassName PermissionMapperCustom.java 12 | * @description PermissionMapperCustom 13 | */ 14 | 15 | public interface PermissionMapperCustom{ 16 | 17 | //根据用户id查询菜单 18 | public List findMenuListByUserId(int userid)throws Exception; 19 | //根据用户id查询权限url 20 | public List findPermissionListByUserId(int userid)throws Exception; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/PermissionMapperCustom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 23 | 24 | 25 | 43 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/RoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Role; 4 | import com.englishload.po.RoleExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface RoleMapper { 9 | int countByExample(RoleExample example); 10 | 11 | int deleteByExample(RoleExample example); 12 | 13 | int deleteByPrimaryKey(Integer roleId); 14 | 15 | int insert(Role record); 16 | 17 | int insertSelective(Role record); 18 | 19 | List selectByExample(RoleExample example); 20 | 21 | Role selectByPrimaryKey(Integer roleId); 22 | 23 | int updateByExampleSelective(@Param("record") Role record, @Param("example") RoleExample example); 24 | 25 | int updateByExample(@Param("record") Role record, @Param("example") RoleExample example); 26 | 27 | int updateByPrimaryKeySelective(Role record); 28 | 29 | int updateByPrimaryKey(Role record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/RolePermissionMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.RolePermission; 4 | import com.englishload.po.RolePermissionExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface RolePermissionMapper { 9 | int countByExample(RolePermissionExample example); 10 | 11 | int deleteByExample(RolePermissionExample example); 12 | 13 | int deleteByPrimaryKey(Integer id); 14 | 15 | int insert(RolePermission record); 16 | 17 | int insertSelective(RolePermission record); 18 | 19 | List selectByExample(RolePermissionExample example); 20 | 21 | RolePermission selectByPrimaryKey(Integer id); 22 | 23 | int updateByExampleSelective(@Param("record") RolePermission record, @Param("example") RolePermissionExample example); 24 | 25 | int updateByExample(@Param("record") RolePermission record, @Param("example") RolePermissionExample example); 26 | 27 | int updateByPrimaryKeySelective(RolePermission record); 28 | 29 | int updateByPrimaryKey(RolePermission record); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordbooksCustomMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.mapper; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.WordbooksCustom; 9 | 10 | /** 11 | * @author Sarah 12 | * @date 2017年1月13日下午2:09:33 13 | * @filename WordbooksCustomMapper.java 14 | * @description 15 | */ 16 | public interface WordbooksCustomMapper { 17 | //用户查看生词本 18 | List findWordbooks(int userId); 19 | //创建生词本 20 | int createWordbooks(WordbooksCustom wordbooksCustom); 21 | //根据生词本id,删除生词本 22 | int deleteWordbooksById(int wbookId); 23 | //根据用户名删除该用户的所有生词本 24 | int deleteUserAllWordbooks(int userId); 25 | //根据生词本id,查询生词本 26 | WordbooksCustom findWordbooksById(int wbookId); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordbooksCustomMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | select LAST_INSERT_ID() 19 | 20 | 21 | insert into wordbooks(wordbooks.user_id,wordbooks.wname,wordbooks.wexpress,wordbooks.wdate) values (#{userId},#{wname},#{wexpress},current_timestamp()) 22 | 23 | 24 | delete from wordbooks where wbook_id=#{wbookId}; 25 | 26 | 27 | delete from wordbooks where user_id=#{value}; 28 | 29 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordbooksMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Wordbooks; 4 | import com.englishload.po.WordbooksExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface WordbooksMapper { 9 | int countByExample(WordbooksExample example); 10 | 11 | int deleteByExample(WordbooksExample example); 12 | 13 | int deleteByPrimaryKey(Integer wbookId); 14 | 15 | int insert(Wordbooks record); 16 | 17 | int insertSelective(Wordbooks record); 18 | 19 | List selectByExample(WordbooksExample example); 20 | 21 | Wordbooks selectByPrimaryKey(Integer wbookId); 22 | 23 | int updateByExampleSelective(@Param("record") Wordbooks record, @Param("example") WordbooksExample example); 24 | 25 | int updateByExample(@Param("record") Wordbooks record, @Param("example") WordbooksExample example); 26 | 27 | int updateByPrimaryKeySelective(Wordbooks record); 28 | 29 | int updateByPrimaryKey(Wordbooks record); 30 | 31 | //delete by userId 32 | int deleteByUserId(Integer userId); 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordbooksWordsCustomMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.mapper; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.WordbooksWordsCustom; 9 | import com.englishload.po.WordsCustom; 10 | 11 | /** 12 | * @author Sarah 13 | * @date 2017年1月16日上午10:13:51 14 | * @filename WordbooksWordsCustomMapper.java 15 | * @description 16 | */ 17 | public interface WordbooksWordsCustomMapper { 18 | 19 | //从生词本中删除相应单词 20 | int deleteWordbooksWord(WordbooksWordsCustom wordbooksWordsCustom); 21 | //删除生词本中所有单词 22 | int deleteWordbooksAllWords(int wbooksId); 23 | //添加单词到相应生词本 24 | int insertWordbooksWords(WordbooksWordsCustom wordbooksWordsCustom); 25 | //查看生词本中的所有单词 26 | List findWordbooksWords(int wbookId); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordbooksWordsMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.WordbooksWords; 4 | import com.englishload.po.WordbooksWordsExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface WordbooksWordsMapper { 9 | int countByExample(WordbooksWordsExample example); 10 | 11 | int deleteByExample(WordbooksWordsExample example); 12 | 13 | int deleteByPrimaryKey(Integer wordbooksWordsId); 14 | 15 | int insert(WordbooksWords record); 16 | 17 | int insertSelective(WordbooksWords record); 18 | 19 | List selectByExample(WordbooksWordsExample example); 20 | 21 | WordbooksWords selectByPrimaryKey(Integer wordbooksWordsId); 22 | 23 | int updateByExampleSelective(@Param("record") WordbooksWords record, @Param("example") WordbooksWordsExample example); 24 | 25 | int updateByExample(@Param("record") WordbooksWords record, @Param("example") WordbooksWordsExample example); 26 | 27 | int updateByPrimaryKeySelective(WordbooksWords record); 28 | 29 | int updateByPrimaryKey(WordbooksWords record); 30 | //根据用户id删除记录 31 | int deleteByUserId(Integer userId); 32 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordsCustomMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.WordsCustom; 6 | 7 | public interface WordsCustomMapper { 8 | //随机生成一个单词 9 | WordsCustom randomWord(); 10 | //随机生成全部单词 11 | List randomWordsList(); 12 | //通过等级id随机显示单词 13 | List randomWordsListByGrade(int gradeId); 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordsCustomMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 27 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/mapper/WordsMapper.java: -------------------------------------------------------------------------------- 1 | package com.englishload.mapper; 2 | 3 | import com.englishload.po.Words; 4 | import com.englishload.po.WordsExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface WordsMapper { 9 | int countByExample(WordsExample example); 10 | 11 | int deleteByExample(WordsExample example); 12 | 13 | int deleteByPrimaryKey(Integer wordId); 14 | 15 | int insert(Words record); 16 | 17 | int insertSelective(Words record); 18 | 19 | List selectByExampleWithBLOBs(WordsExample example); 20 | 21 | List selectByExample(WordsExample example); 22 | 23 | Words selectByPrimaryKey(Integer wordId); 24 | 25 | int updateByExampleSelective(@Param("record") Words record, @Param("example") WordsExample example); 26 | 27 | int updateByExampleWithBLOBs(@Param("record") Words record, @Param("example") WordsExample example); 28 | 29 | int updateByExample(@Param("record") Words record, @Param("example") WordsExample example); 30 | 31 | int updateByPrimaryKeySelective(Words record); 32 | 33 | int updateByPrimaryKeyWithBLOBs(Words record); 34 | 35 | int updateByPrimaryKey(Words record); 36 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/ActiveUser.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Iterator; 4 | import java.util.List; 5 | 6 | import com.sun.org.apache.bcel.internal.generic.NEW; 7 | 8 | public class ActiveUser implements java.io.Serializable { 9 | private int userid;//用户id(主键) 10 | private String usercode;// 用户账号 11 | private String username;// 用户名称 12 | 13 | 14 | private int roleid;//角色 15 | private List menus;// 菜单 16 | private List permissions;// 权限 17 | 18 | public String getUsername() { 19 | return username; 20 | } 21 | 22 | public void setUsername(String username) { 23 | this.username = username; 24 | } 25 | 26 | 27 | public String getUsercode() { 28 | return usercode; 29 | } 30 | 31 | public void setUsercode(String usercode) { 32 | this.usercode = usercode; 33 | } 34 | 35 | public int getUserid() { 36 | return userid; 37 | } 38 | 39 | public void setUserid(int userid) { 40 | this.userid = userid; 41 | } 42 | 43 | public List getMenus() { 44 | return menus; 45 | } 46 | 47 | public void setMenus(List menus) { 48 | this.menus = menus; 49 | } 50 | 51 | public List getPermissions() { 52 | return permissions; 53 | } 54 | 55 | public void setPermissions(List permissions) { 56 | this.permissions = permissions; 57 | } 58 | 59 | public void setRoleid(int roleid) { 60 | this.roleid = roleid; 61 | } 62 | 63 | public int getRoleid() { 64 | return roleid; 65 | } 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Article.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Date; 4 | 5 | public class Article { 6 | private Integer articleId; 7 | 8 | private String title; 9 | 10 | private String author; 11 | 12 | private Date uptime; 13 | 14 | private String content; 15 | 16 | public Integer getArticleId() { 17 | return articleId; 18 | } 19 | 20 | public void setArticleId(Integer articleId) { 21 | this.articleId = articleId; 22 | } 23 | 24 | public String getTitle() { 25 | return title; 26 | } 27 | 28 | public void setTitle(String title) { 29 | this.title = title == null ? null : title.trim(); 30 | } 31 | 32 | public String getAuthor() { 33 | return author; 34 | } 35 | 36 | public void setAuthor(String author) { 37 | this.author = author == null ? null : author.trim(); 38 | } 39 | 40 | public Date getUptime() { 41 | return uptime; 42 | } 43 | 44 | public void setUptime(Date uptime) { 45 | this.uptime = uptime; 46 | } 47 | 48 | public String getContent() { 49 | return content; 50 | } 51 | 52 | public void setContent(String content) { 53 | this.content = content == null ? null : content.trim(); 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Bulletin.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Date; 4 | 5 | public class Bulletin { 6 | private Integer bulletinId; 7 | 8 | private String title; 9 | 10 | private String content; 11 | 12 | private Date date; 13 | 14 | public Integer getBulletinId() { 15 | return bulletinId; 16 | } 17 | 18 | public void setBulletinId(Integer bulletinId) { 19 | this.bulletinId = bulletinId; 20 | } 21 | 22 | public String getTitle() { 23 | return title; 24 | } 25 | 26 | public void setTitle(String title) { 27 | this.title = title == null ? null : title.trim(); 28 | } 29 | 30 | public String getContent() { 31 | return content; 32 | } 33 | 34 | public void setContent(String content) { 35 | this.content = content == null ? null : content.trim(); 36 | } 37 | 38 | public Date getDate() { 39 | return date; 40 | } 41 | 42 | public void setDate(Date date) { 43 | this.date = date; 44 | } 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Comment.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Date; 4 | 5 | public class Comment { 6 | private Integer commentId; 7 | 8 | private Date commentime; 9 | 10 | private Integer userId; 11 | 12 | private Integer courseId; 13 | 14 | private String commentext; 15 | 16 | public Integer getCommentId() { 17 | return commentId; 18 | } 19 | 20 | public void setCommentId(Integer commentId) { 21 | this.commentId = commentId; 22 | } 23 | 24 | public Date getCommentime() { 25 | return commentime; 26 | } 27 | 28 | public void setCommentime(Date commentime) { 29 | this.commentime = commentime; 30 | } 31 | 32 | public Integer getUserId() { 33 | return userId; 34 | } 35 | 36 | public void setUserId(Integer userId) { 37 | this.userId = userId; 38 | } 39 | 40 | public Integer getCourseId() { 41 | return courseId; 42 | } 43 | 44 | public void setCourseId(Integer courseId) { 45 | this.courseId = courseId; 46 | } 47 | 48 | public String getCommentext() { 49 | return commentext; 50 | } 51 | 52 | public void setCommentext(String commentext) { 53 | this.commentext = commentext == null ? null : commentext.trim(); 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/CommentCustom.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | /* 3 | * 继承Comment,根据user_id显示用户名称 4 | */ 5 | public class CommentCustom extends Comment{ 6 | private String username; 7 | 8 | public String getUsername() { 9 | return username; 10 | } 11 | 12 | public void setUsername(String username) { 13 | this.username = username; 14 | } 15 | 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/CourseUser.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Date; 4 | 5 | public class CourseUser { 6 | private Integer courseUserId; 7 | 8 | private Integer userId; 9 | 10 | private Integer courseId; 11 | 12 | private Date watchdate; 13 | 14 | private Integer watchduration; 15 | 16 | public Integer getCourseUserId() { 17 | return courseUserId; 18 | } 19 | 20 | public void setCourseUserId(Integer courseUserId) { 21 | this.courseUserId = courseUserId; 22 | } 23 | 24 | public Integer getUserId() { 25 | return userId; 26 | } 27 | 28 | public void setUserId(Integer userId) { 29 | this.userId = userId; 30 | } 31 | 32 | public Integer getCourseId() { 33 | return courseId; 34 | } 35 | 36 | public void setCourseId(Integer courseId) { 37 | this.courseId = courseId; 38 | } 39 | 40 | public Date getWatchdate() { 41 | return watchdate; 42 | } 43 | 44 | public void setWatchdate(Date watchdate) { 45 | this.watchdate = watchdate; 46 | } 47 | 48 | public Integer getWatchduration() { 49 | return watchduration; 50 | } 51 | 52 | public void setWatchduration(Integer watchduration) { 53 | this.watchduration = watchduration; 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Coursecategory.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class Coursecategory { 4 | private Integer categoryId; 5 | 6 | private String categoryname; 7 | 8 | public Integer getCategoryId() { 9 | return categoryId; 10 | } 11 | 12 | public void setCategoryId(Integer categoryId) { 13 | this.categoryId = categoryId; 14 | } 15 | 16 | public String getCategoryname() { 17 | return categoryname; 18 | } 19 | 20 | public void setCategoryname(String categoryname) { 21 | this.categoryname = categoryname == null ? null : categoryname.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Gradecategory.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class Gradecategory { 4 | private Integer gradeId; 5 | 6 | private String gradename; 7 | 8 | public Integer getGradeId() { 9 | return gradeId; 10 | } 11 | 12 | public void setGradeId(Integer gradeId) { 13 | this.gradeId = gradeId; 14 | } 15 | 16 | public String getGradename() { 17 | return gradename; 18 | } 19 | 20 | public void setGradename(String gradename) { 21 | this.gradename = gradename == null ? null : gradename.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/GradecategoryCourse.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class GradecategoryCourse { 4 | private Integer gradecategoryCourseId; 5 | 6 | private Integer gradeId; 7 | 8 | private Integer courseId; 9 | 10 | public Integer getGradecategoryCourseId() { 11 | return gradecategoryCourseId; 12 | } 13 | 14 | public void setGradecategoryCourseId(Integer gradecategoryCourseId) { 15 | this.gradecategoryCourseId = gradecategoryCourseId; 16 | } 17 | 18 | public Integer getGradeId() { 19 | return gradeId; 20 | } 21 | 22 | public void setGradeId(Integer gradeId) { 23 | this.gradeId = gradeId; 24 | } 25 | 26 | public Integer getCourseId() { 27 | return courseId; 28 | } 29 | 30 | public void setCourseId(Integer courseId) { 31 | this.courseId = courseId; 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/GradecategoryHearing.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class GradecategoryHearing { 4 | private Integer gradecategoryHearingId; 5 | 6 | private Integer gradeId; 7 | 8 | private Integer hearingId; 9 | 10 | public Integer getGradecategoryHearingId() { 11 | return gradecategoryHearingId; 12 | } 13 | 14 | public void setGradecategoryHearingId(Integer gradecategoryHearingId) { 15 | this.gradecategoryHearingId = gradecategoryHearingId; 16 | } 17 | 18 | public Integer getGradeId() { 19 | return gradeId; 20 | } 21 | 22 | public void setGradeId(Integer gradeId) { 23 | this.gradeId = gradeId; 24 | } 25 | 26 | public Integer getHearingId() { 27 | return hearingId; 28 | } 29 | 30 | public void setHearingId(Integer hearingId) { 31 | this.hearingId = hearingId; 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/GradecategoryWords.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class GradecategoryWords { 4 | private Integer gradecategoryWordsId; 5 | 6 | private Integer wordId; 7 | 8 | private Integer gradeId; 9 | 10 | public Integer getGradecategoryWordsId() { 11 | return gradecategoryWordsId; 12 | } 13 | 14 | public void setGradecategoryWordsId(Integer gradecategoryWordsId) { 15 | this.gradecategoryWordsId = gradecategoryWordsId; 16 | } 17 | 18 | public Integer getWordId() { 19 | return wordId; 20 | } 21 | 22 | public void setWordId(Integer wordId) { 23 | this.wordId = wordId; 24 | } 25 | 26 | public Integer getGradeId() { 27 | return gradeId; 28 | } 29 | 30 | public void setGradeId(Integer gradeId) { 31 | this.gradeId = gradeId; 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Hearing.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class Hearing { 4 | private Integer hearingId; 5 | 6 | private String hearingaudio; 7 | 8 | private String hearingtitle; 9 | 10 | private String hearingintro; 11 | 12 | private Integer hearingduration; 13 | 14 | public Integer getHearingId() { 15 | return hearingId; 16 | } 17 | 18 | public void setHearingId(Integer hearingId) { 19 | this.hearingId = hearingId; 20 | } 21 | 22 | public String getHearingaudio() { 23 | return hearingaudio; 24 | } 25 | 26 | public void setHearingaudio(String hearingaudio) { 27 | this.hearingaudio = hearingaudio == null ? null : hearingaudio.trim(); 28 | } 29 | 30 | public String getHearingtitle() { 31 | return hearingtitle; 32 | } 33 | 34 | public void setHearingtitle(String hearingtitle) { 35 | this.hearingtitle = hearingtitle == null ? null : hearingtitle.trim(); 36 | } 37 | 38 | public String getHearingintro() { 39 | return hearingintro; 40 | } 41 | 42 | public void setHearingintro(String hearingintro) { 43 | this.hearingintro = hearingintro == null ? null : hearingintro.trim(); 44 | } 45 | 46 | public Integer getHearingduration() { 47 | return hearingduration; 48 | } 49 | 50 | public void setHearingduration(Integer hearingduration) { 51 | this.hearingduration = hearingduration; 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/HearingCustom.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.po; 5 | 6 | /** 7 | * @author Sarah 8 | * @date 2017年2月14日下午1:14:39 9 | * @filename HearingCustom.java 10 | * @description 听力自定义类继承听力类 11 | */ 12 | public class HearingCustom extends Hearing{ 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/HearingWithBLOBs.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class HearingWithBLOBs extends Hearing { 4 | private String hearingeng; 5 | 6 | private String hearingch; 7 | 8 | public String getHearingeng() { 9 | return hearingeng; 10 | } 11 | 12 | public void setHearingeng(String hearingeng) { 13 | this.hearingeng = hearingeng == null ? null : hearingeng.trim(); 14 | } 15 | 16 | public String getHearingch() { 17 | return hearingch; 18 | } 19 | 20 | public void setHearingch(String hearingch) { 21 | this.hearingch = hearingch == null ? null : hearingch.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Role.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class Role { 4 | private Integer roleId; 5 | 6 | private String rolename; 7 | 8 | public Integer getRoleId() { 9 | return roleId; 10 | } 11 | 12 | public void setRoleId(Integer roleId) { 13 | this.roleId = roleId; 14 | } 15 | 16 | public String getRolename() { 17 | return rolename; 18 | } 19 | 20 | public void setRolename(String rolename) { 21 | this.rolename = rolename == null ? null : rolename.trim(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/RolePermission.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class RolePermission { 4 | private Integer id; 5 | 6 | private Integer roleId; 7 | 8 | private Long permissionId; 9 | 10 | public Integer getId() { 11 | return id; 12 | } 13 | 14 | public void setId(Integer id) { 15 | this.id = id; 16 | } 17 | 18 | public Integer getRoleId() { 19 | return roleId; 20 | } 21 | 22 | public void setRoleId(Integer roleId) { 23 | this.roleId = roleId; 24 | } 25 | 26 | public Long getPermissionId() { 27 | return permissionId; 28 | } 29 | 30 | public void setPermissionId(Long permissionId) { 31 | this.permissionId = permissionId; 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/Wordbooks.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | import java.util.Date; 4 | 5 | public class Wordbooks { 6 | private Integer wbookId; 7 | 8 | private Integer userId; 9 | 10 | private String wname; 11 | 12 | private String wexpress; 13 | 14 | private Date wdate; 15 | 16 | public Integer getWbookId() { 17 | return wbookId; 18 | } 19 | 20 | public void setWbookId(Integer wbookId) { 21 | this.wbookId = wbookId; 22 | } 23 | 24 | public Integer getUserId() { 25 | return userId; 26 | } 27 | 28 | public void setUserId(Integer userId) { 29 | this.userId = userId; 30 | } 31 | 32 | public String getWname() { 33 | return wname; 34 | } 35 | 36 | public void setWname(String wname) { 37 | this.wname = wname == null ? null : wname.trim(); 38 | } 39 | 40 | public String getWexpress() { 41 | return wexpress; 42 | } 43 | 44 | public void setWexpress(String wexpress) { 45 | this.wexpress = wexpress == null ? null : wexpress.trim(); 46 | } 47 | 48 | public Date getWdate() { 49 | return wdate; 50 | } 51 | 52 | public void setWdate(Date wdate) { 53 | this.wdate = wdate; 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/WordbooksCustom.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.po; 5 | 6 | /** 7 | * @author Sarah 8 | * @date 2017年1月13日下午2:00:54 9 | * @filename WordsBooksCustom.java 10 | * @description 11 | */ 12 | public class WordbooksCustom extends Wordbooks{ 13 | private Wordbooks wordbooks; 14 | public Wordbooks getWordbooks() { 15 | return wordbooks; 16 | } 17 | public void setWordbooks(Wordbooks wordbooks) { 18 | this.wordbooks = wordbooks; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/WordbooksWords.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | 3 | public class WordbooksWords { 4 | private Integer wordbooksWordsId; 5 | 6 | private Integer wbookId; 7 | 8 | private Integer wordId; 9 | 10 | public Integer getWordbooksWordsId() { 11 | return wordbooksWordsId; 12 | } 13 | 14 | public void setWordbooksWordsId(Integer wordbooksWordsId) { 15 | this.wordbooksWordsId = wordbooksWordsId; 16 | } 17 | 18 | public Integer getWbookId() { 19 | return wbookId; 20 | } 21 | 22 | public void setWbookId(Integer wbookId) { 23 | this.wbookId = wbookId; 24 | } 25 | 26 | public Integer getWordId() { 27 | return wordId; 28 | } 29 | 30 | public void setWordId(Integer wordId) { 31 | this.wordId = wordId; 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/WordbooksWordsCustom.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.po; 5 | 6 | /** 7 | * @author Sarah 8 | * @date 2017年1月16日上午10:10:37 9 | * @filename WordbooksWordsCustom.java 10 | * @description 11 | */ 12 | public class WordbooksWordsCustom extends WordbooksWords{ 13 | 14 | private WordbooksWords wordbooksWords; 15 | private WordsCustom wordsCustom; 16 | 17 | public WordbooksWords getWordbooksWords() { 18 | return wordbooksWords; 19 | } 20 | 21 | public void setWordbooksWords(WordbooksWords wordbooksWords) { 22 | this.wordbooksWords = wordbooksWords; 23 | } 24 | 25 | public WordsCustom getWordsCustom() { 26 | return wordsCustom; 27 | } 28 | 29 | public void setWordsCustom(WordsCustom wordsCustom) { 30 | this.wordsCustom = wordsCustom; 31 | } 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/po/WordsCustom.java: -------------------------------------------------------------------------------- 1 | package com.englishload.po; 2 | //Words继承类 3 | 4 | public class WordsCustom extends Words{ 5 | 6 | private Words words; 7 | 8 | 9 | public Words getWords() { 10 | return words; 11 | } 12 | 13 | public void setWords(Words words) { 14 | this.words = words; 15 | } 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/realm/CustomizedToken.java: -------------------------------------------------------------------------------- 1 | package com.englishload.realm; 2 | 3 | import org.apache.shiro.authc.UsernamePasswordToken; 4 | 5 | public class CustomizedToken extends UsernamePasswordToken { 6 | 7 | //登录类型,判断是普通用户登录,教师登录还是管理员登录 8 | private int loginType; 9 | 10 | public CustomizedToken(final String username, final String password,int loginType) { 11 | super(username,password); 12 | this.loginType = loginType; 13 | } 14 | 15 | public int getLoginType() { 16 | return loginType; 17 | } 18 | 19 | public void setLoginType(int loginType) { 20 | this.loginType = loginType; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/realm/MyFormAuthenticationFilte.java: -------------------------------------------------------------------------------- 1 | package com.englishload.realm; 2 | 3 | import javax.servlet.ServletRequest; 4 | import javax.servlet.ServletResponse; 5 | 6 | import org.apache.shiro.SecurityUtils; 7 | import org.apache.shiro.authc.AuthenticationToken; 8 | import org.apache.shiro.subject.Subject; 9 | import org.apache.shiro.web.filter.authc.FormAuthenticationFilter; 10 | import org.apache.shiro.web.util.WebUtils; 11 | 12 | import com.englishload.po.ActiveUser; 13 | /** 14 | * 15 | * @author taojian 16 | * @time 2017年1月26日下午9:05:13 17 | * @ClassName MyFormAuthenticationFilte.java 18 | * @description 登陆 成功后跳转指定的页面 19 | */ 20 | public class MyFormAuthenticationFilte extends FormAuthenticationFilter{ 21 | 22 | 23 | @Override 24 | protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, 25 | ServletResponse response) throws Exception { 26 | //清楚缓存 27 | WebUtils.getAndClearSavedRequest(request); 28 | subject = SecurityUtils.getSubject(); 29 | //取身份信息 30 | ActiveUser activeUser = (ActiveUser) subject.getPrincipal(); 31 | //管理员登录入口 32 | if(activeUser.getRoleid()==3){ 33 | WebUtils.redirectToSavedRequest(request, response, "/admindex"); 34 | return false; 35 | //老师入口 36 | }else if(activeUser.getRoleid()==2){ 37 | WebUtils.redirectToSavedRequest(request, response, "/loginvalue.action"); 38 | return false; 39 | 40 | //学生管理入口 41 | }else if(activeUser.getRoleid()==1) 42 | WebUtils.redirectToSavedRequest(request, response, "/loginvalue.action"); 43 | return false; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/ArticleService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.Article; 6 | import com.englishload.po.Bulletin; 7 | 8 | public interface ArticleService { 9 | 10 | //随机显示一篇文章 11 | public Article findOneArticle(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/BulletinService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.Bulletin; 6 | 7 | public interface BulletinService { 8 | public void add(Bulletin bulletin); 9 | //更新指定的公告 10 | public void update(Bulletin bulletin); 11 | //根据id删除指定的公告 12 | public void delete(Integer id); 13 | //根据指定的id查看公告 14 | public Bulletin findByID(Integer id); 15 | //显示所有的公告信息列表 16 | public List findAll(); 17 | //根据标题,模糊搜索显示所需要的公告信息列表 18 | public ListselectByBulletinParName(String title); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/CommentService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.Bulletin; 6 | import com.englishload.po.Comment; 7 | import com.englishload.po.CommentCustom; 8 | 9 | public interface CommentService { 10 | //根据课程id显示所有评论信息列表 11 | public List findAll(int courseId); 12 | //增加一条评论 13 | public void insert(Comment record); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/CourseService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import com.englishload.po.Course; 8 | 9 | public interface CourseService { 10 | 11 | //根据ID号查询 12 | 13 | public Course selectByPrimaryKey(Integer id); 14 | 15 | //通过id更新课程信息 16 | public int updateByPrimaryKey(Course record); 17 | 18 | //根据课程名进行模糊搜索 19 | public List selectByCourseParName(String coursename); 20 | 21 | //增加课程信息 22 | public int insertCourse(Course record); 23 | 24 | //通过点击率查询课程 25 | public List selectByCourseClickRate(); 26 | 27 | //根据课程分类显示相应课程 28 | public List selectByCourseCategory(String categoryname); 29 | 30 | //根据课程等级显示相应课程 31 | public List selectByCourseGrade(String gradename); 32 | 33 | //根据课程等级和课程分类显示相应课程 34 | public List selectByCourseGradeAndCategory(@Param("categoryname") String categoryname,@Param("gradename") String gradename); 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/CourseUserService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.service; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.Course; 9 | import com.englishload.po.CourseUser; 10 | 11 | /** 12 | * @author Sarah 13 | * @date 2017年2月14日上午9:59:50 14 | * @filename CourseUserService.java 15 | * @description 16 | */ 17 | public interface CourseUserService { 18 | 19 | public int insertCourseUser(CourseUser record); 20 | 21 | //查找用户浏览过的课程按照日期降序排序 22 | List findUserWatchedCourse(int userId); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/GradecategoryCourseService.java: -------------------------------------------------------------------------------- 1 | 2 | package com.englishload.service; 3 | 4 | import com.englishload.po.GradecategoryCourse; 5 | 6 | /** 7 | * 8 | * @author taojian 9 | * @time 2017年2月16日下午3:30:05 10 | * @ClassName GradecategoryCourseService.java 11 | * @description 课程和类别的关联业务层 12 | */ 13 | public interface GradecategoryCourseService { 14 | 15 | public int insertGradecategoryCourse(GradecategoryCourse record); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/HearingService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.service; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.Hearing; 9 | import com.englishload.po.HearingCustom; 10 | 11 | /** 12 | * @author Sarah 13 | * @date 2017年2月14日下午1:27:53 14 | * @filename HearingService.java 15 | * @description 16 | */ 17 | public interface HearingService { 18 | 19 | //每日一听 20 | public HearingCustom randomHearing(); 21 | //按日期显示听力列表 22 | public List findHearingList(); 23 | //根据听力等级id显示听力 24 | public List findHearingByGrade(int gradeId); 25 | 26 | public Hearing findHearingById(int hearingId); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.Permission; 6 | import com.englishload.po.User; 7 | import com.englishload.util.PagedResult; 8 | 9 | /** 10 | * 11 | * @author taojian 12 | * @time 2017年1月22日下午9:17:50 13 | * @ClassName UserService.java 14 | * @description 用户业务层的一些方法,包括一些权限的认证等信息 15 | */ 16 | 17 | public interface UserService { 18 | 19 | //根据用户名进行查找 20 | public User findUserByName(String username); 21 | 22 | public void add(User user); 23 | 24 | public void update(User user); 25 | 26 | public void delete(Integer id); 27 | 28 | public User findByID(Integer id); 29 | 30 | public List findAll(); 31 | //根据用户名进行模糊查找 32 | public List findUserByParName(String parName); 33 | 34 | public User findSysUserByUserCode(String username)throws Exception; 35 | //根据用户id查询权限范围的菜单 36 | public List findMenuListByUserId(int userid) throws Exception; 37 | 38 | //根据用户id查询权限范围的url 39 | public List findPermissionListByUserId(int userid) throws Exception; 40 | 41 | //分页查找 42 | PagedResult queryByPage(String userName,Integer pageNo,Integer pageSize); 43 | 44 | public List selectUserByUserName(String username); 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/WordbooksService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.service; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.Wordbooks; 9 | import com.englishload.po.WordbooksCustom; 10 | 11 | /** 12 | * @author Sarah 13 | * @date 2017年1月18日下午2:24:29 14 | * @filename WordbooksService.java 15 | * @description 16 | */ 17 | public interface WordbooksService { 18 | 19 | //用户查看生词本 20 | List findWordbooks(int userId); 21 | //创建生词本 22 | int createWordbooks(WordbooksCustom wordbooksCustom); 23 | //根据生词本id,删除生词本 24 | int deleteWordbooksById(int wbookId); 25 | //根据用户名删除该用户的所有生词本 26 | int deleteUserAllWordbooks(int userId); 27 | //根据生词本id,编辑生词本 28 | int editWordbooks(WordbooksCustom wordbooksCustom); 29 | //根据生词本id,查找生词本 30 | WordbooksCustom findWordbooksById(int wbookId); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/WordbooksWordsService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.service; 5 | 6 | import java.util.List; 7 | 8 | import com.englishload.po.WordbooksWordsCustom; 9 | import com.englishload.po.WordsCustom; 10 | 11 | /** 12 | * @author Sarah 13 | * @date 2017年1月21日上午7:20:31 14 | * @filename WordbooksWordsService.java 15 | * @description 16 | */ 17 | public interface WordbooksWordsService { 18 | //从生词本中删除相应单词 19 | int deleteWordbooksWord(WordbooksWordsCustom wordbooksWordsCustom); 20 | //删除生词本中所有单词 21 | int deleteWordbooksAllWords(int wbooksId); 22 | //添加单词到相应生词本 23 | int insertWordbooksWords(WordbooksWordsCustom wordbooksWordsCustom); 24 | //查看生词本中的所有单词 25 | List findWordbooksWords(int wbookId); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/WordsService.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service; 2 | 3 | import java.util.List; 4 | 5 | import com.englishload.po.WordsCustom; 6 | 7 | public interface WordsService { 8 | //随机生成一个单词 9 | WordsCustom randomWord (); 10 | //随机生成全部单词 11 | List randomWordsList(); 12 | //通过等级id随机显示单词 13 | List randomWordsListByGrade(int gradeId); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/impl/ArticleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service.impl; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | import org.springframework.transaction.annotation.Propagation; 8 | import org.springframework.transaction.annotation.Transactional; 9 | 10 | import com.englishload.mapper.ArticleMapper; 11 | import com.englishload.po.Article; 12 | import com.englishload.service.ArticleService; 13 | 14 | @Service 15 | public class ArticleServiceImpl implements ArticleService { 16 | 17 | @Autowired 18 | 19 | private ArticleMapper articleMapper; 20 | @Override 21 | @Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = true) 22 | public Article findOneArticle() { 23 | // 查询所有的文章 24 | return articleMapper.findOneArticle(); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/impl/CommentServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service.impl; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | import org.springframework.transaction.annotation.Propagation; 8 | import org.springframework.transaction.annotation.Transactional; 9 | 10 | import com.englishload.mapper.CommentMapper; 11 | import com.englishload.po.Comment; 12 | import com.englishload.po.CommentCustom; 13 | import com.englishload.service.CommentService; 14 | @Service 15 | public class CommentServiceImpl implements CommentService { 16 | @Autowired 17 | private CommentMapper commentMapper; 18 | 19 | @Override 20 | public List findAll(int courseId) { 21 | // TODO Auto-generated method stub 22 | return commentMapper.findAll(courseId); 23 | } 24 | 25 | @Override 26 | public void insert(Comment record) { 27 | // TODO Auto-generated method stub 28 | commentMapper.insert(record); 29 | } 30 | 31 | 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/impl/CourseUserServiceImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package com.englishload.service.impl; 5 | 6 | import java.util.List; 7 | 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | 11 | import com.englishload.mapper.CourseUserMapper; 12 | import com.englishload.po.Course; 13 | import com.englishload.po.CourseUser; 14 | import com.englishload.service.CourseUserService; 15 | 16 | /** 17 | * @author Sarah 18 | * @date 2017年2月14日上午10:01:46 19 | * @filename CourseUserServiceImpl.java 20 | * @description 21 | */ 22 | @Service 23 | public class CourseUserServiceImpl implements CourseUserService{ 24 | 25 | @Autowired 26 | private CourseUserMapper courseUserMapper; 27 | 28 | /* (non-Javadoc) 29 | * @see com.englishload.service.CourseUserService#insertCourseUser(com.englishload.po.CourseUser) 30 | */ 31 | @Override 32 | public int insertCourseUser(CourseUser record) { 33 | // TODO Auto-generated method stub 34 | return courseUserMapper.insertCourseUser(record); 35 | } 36 | 37 | /* (non-Javadoc) 38 | * @see com.englishload.service.CourseUserService#findUserWatchedCourse(int) 39 | */ 40 | @Override 41 | public List findUserWatchedCourse(int userId) { 42 | // TODO Auto-generated method stub 43 | return courseUserMapper.findUserWatchedCourse(userId); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/impl/GradecategoryCourseServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service.impl; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.stereotype.Service; 5 | 6 | import com.englishload.mapper.GradecategoryCourseMapper; 7 | import com.englishload.po.GradecategoryCourse; 8 | import com.englishload.service.GradecategoryCourseService; 9 | 10 | @Service 11 | public class GradecategoryCourseServiceImpl implements GradecategoryCourseService { 12 | @Autowired 13 | GradecategoryCourseMapper gradecategoryCourseMapper; 14 | @Override 15 | public int insertGradecategoryCourse(GradecategoryCourse record) { 16 | 17 | return gradecategoryCourseMapper.insertGradecategoryCourse(record); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/service/impl/WordsServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.englishload.service.impl; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.context.ApplicationContext; 7 | import org.springframework.context.support.ClassPathXmlApplicationContext; 8 | import org.springframework.stereotype.Service; 9 | 10 | import com.englishload.mapper.WordsCustomMapper; 11 | import com.englishload.po.WordsCustom; 12 | import com.englishload.service.WordsService; 13 | 14 | @Service 15 | public class WordsServiceImpl implements WordsService{ 16 | 17 | @Autowired 18 | private WordsCustomMapper wordsCustomMapper; 19 | 20 | public WordsCustom randomWord() { 21 | // TODO Auto-generated method stub 22 | return wordsCustomMapper.randomWord(); 23 | } 24 | 25 | public List randomWordsList() { 26 | // TODO Auto-generated method stub 27 | return wordsCustomMapper.randomWordsList(); 28 | } 29 | 30 | /* (non-Javadoc) 31 | * @see com.englishload.service.WordsService#randomWordsListByGrade(int) 32 | */ 33 | @Override 34 | public List randomWordsListByGrade(int gradeId) { 35 | // TODO Auto-generated method stub 36 | return wordsCustomMapper.randomWordsListByGrade(gradeId); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/util/BeanUtil.java: -------------------------------------------------------------------------------- 1 | package com.englishload.util; 2 | 3 | import java.util.List; 4 | 5 | import com.github.pagehelper.Page; 6 | 7 | 8 | 9 | 10 | public class BeanUtil { 11 | 12 | public static PagedResult toPagedResult(List datas) { 13 | PagedResult result = new PagedResult(); 14 | if (datas instanceof Page) { 15 | Page page = (Page) datas; 16 | result.setPageNo(page.getPageNum()); 17 | result.setPageSize(page.getPageSize()); 18 | result.setDataList(page.getResult()); 19 | result.setTotal(page.getTotal()); 20 | result.setPages(page.getPages()); 21 | } 22 | else { 23 | result.setPageNo(1); 24 | result.setPageSize(datas.size()); 25 | result.setDataList(datas); 26 | result.setTotal(datas.size()); 27 | } 28 | 29 | return result; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/englishload/util/PagedResult.java: -------------------------------------------------------------------------------- 1 | package com.englishload.util; 2 | 3 | import java.util.List; 4 | 5 | 6 | 7 | 8 | public class PagedResult extends BaseEntity { 9 | 10 | /*serialVersionUID*/ 11 | private static final long serialVersionUID = 1L; 12 | 13 | private List dataList;//数据 14 | 15 | private long pageNo;//当前页 16 | 17 | private long pageSize;//条数 18 | 19 | private long total;//总条数 20 | 21 | private long pages;//总页面数目 22 | 23 | public List getDataList() { 24 | return dataList; 25 | } 26 | 27 | public void setDataList(List dataList) { 28 | this.dataList = dataList; 29 | } 30 | 31 | public long getPageNo() { 32 | return pageNo; 33 | } 34 | 35 | public void setPageNo(long pageNo) { 36 | this.pageNo = pageNo; 37 | } 38 | 39 | public long getPageSize() { 40 | return pageSize; 41 | } 42 | 43 | public void setPageSize(long pageSize) { 44 | this.pageSize = pageSize; 45 | } 46 | 47 | public long getTotal() { 48 | return total; 49 | } 50 | 51 | public void setTotal(long total) { 52 | this.total = total; 53 | } 54 | 55 | public long getPages() { 56 | return pages; 57 | } 58 | 59 | public void setPages(long pages) { 60 | this.pages = pages; 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/resources/properties/jdbc.properties: -------------------------------------------------------------------------------- 1 | driver=com.mysql.jdbc.Driver 2 | url=jdbc:mysql://localhost:3306/englishload?useUnicode=true&characterEncoding=UTF-8 3 | username=root 4 | password=123456 5 | initialSize=0 6 | maxActive=20 7 | maxIdle=20 8 | minIdle=1 9 | maxWait=60000 -------------------------------------------------------------------------------- /src/main/resources/properties/log4j.properties: -------------------------------------------------------------------------------- 1 | # For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml! 2 | # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J. 3 | log4j.rootLogger=debug,console,txt 4 | # Direct Log Messages To Console 5 | log4j.appender.console=org.apache.log4j.ConsoleAppender 6 | log4j.appender.console.Target=System.out 7 | log4j.appender.console.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n 9 | 10 | log4j.appender.txt=org.apache.log4j.RollingFileAppender 11 | log4j.appender.txt.File=${webapp.root}/WEB-INF/log/log.txt 12 | log4j.appender.txt.MaxFileSize=500KB 13 | log4j.appender.txt.MaxBackupIndex=1 14 | log4j.appender.txt.layout=org.apache.log4j.PatternLayout 15 | log4j.appender.txt.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n 16 | 17 | # org.hibernate 18 | #log4j.logger.org.hibernate=debug 19 | # org.hibernate.SQL 20 | #log4j.logger.org.hibernate.SQL=debug 21 | # Log Schema Export Update 22 | #log4j.logger.org.hibernate.tool.hbm2ddl=debug 23 | 24 | 25 | #Spring config 26 | #log4j.logger.org.springframewaork = DEBUG 27 | 28 | #Mybatis config 29 | #log4j.logger.org.mybatis=DUBUG 30 | #log4j.logger.net.openwares.test.mapper = TRACE 31 | #log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG 32 | #log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG 33 | #log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG 34 | #JDBC config 35 | log4j.logger.java.sql.Connection = DEBUG 36 | log4j.logger.java.sql.Statement = DEBUG 37 | log4j.logger.java.sql.PreparedStatement = DEBUG 38 | log4j.logger.java.sql.ResultSet = DEBUG -------------------------------------------------------------------------------- /src/main/resources/shiro-ehcache.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | Insert title here 10 | 11 | 12 | index 13 | 14 | 15 | 16 | 17 | 18 | 19 | 欢迎 20 | 21 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 10 | Login 11 | 12 | 13 | 14 | 15 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/article/articleList.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 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 |
id文章标题公告内容公告时间作者
${article.articleId}${article.title}${article.content}${article.uptime} ${article.author}
37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/bulletin/bulletinEdit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 修改公告 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
标题
内容
29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/common/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 成功提示 8 | 9 | 10 | 操作成功! 11 | 12 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/course/courseupload.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | Insert title here 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 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/course/uploadtest.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | Insert title here 8 | 9 | 10 |
11 |
12 | 13 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/first.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | Insert title here 10 | 11 | 12 | 13 | 14 | 登录成功 15 | 退出登录 16 |

17 | 欢迎当前用户:${activeUser.username} 18 | 当前用户id:${activeUser.userid} 19 | 20 |

21 | 22 | 31 | 32 | 33 |
34 | 用户管理 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/hearing/hearingPlay.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | Insert title here 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/hearing/randomHearing.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | Insert title here 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/user/sucessreg.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | Insert title here 8 | 9 | 10 | 注册成功 11 | 12 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/user/useradd.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 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 |
账号
密码
电话
邮箱
salt
角色
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/user/useredit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 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 |
50 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/user/userreg.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 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 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/user/usersetting_courses.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 |

浏览过的课程

13 |
14 | 23 |
24 |
25 |
26 | 27 | 28 | 29 | 30 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbooks/wordbooksAdd.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 修改信息 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
生词本名称
用户id
生词本描述
33 |
34 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbooks/wordbooksEdit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 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 |
用户id
生词本名称
生词本描述
日期
39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbooks/wordbooksList.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 显示信息 10 | 11 | 12 | 13 | 14 | <%--
15 | 16 | 17 |
--%> 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 36 | 37 | 38 |
生词本id生词本名称描述创建日期
${wordbooksCustom.wbookId}${wordbooksCustom.wname}${wordbooksCustom.wexpress}${wordbooksCustom.wdate} 增加 33 | 修改 34 | 删除 35 |
39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbookswords/wordbooksWordsAdd.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 修改信息 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
单词本id
单词id
28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbookswords/wordbooksWordsDel.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 修改信息 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
单词本id
单词id
28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/wordbookswords/wordbooksWordsList.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 显示信息 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 |
单词id单词名称单词解释单词词性
${wordsCustom.wordId}${wordsCustom.wordname}${wordsCustom.explanation}${wordsCustom.properity} 增加 33 | 删除 34 |
38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/words/wordstudy.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | Insert title here 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
${wordsCustom.wordId}${wordsCustom.wordname}${wordsCustom.explanation}${wordsCustom.audio}${wordsCustom.properity}
22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/ceshi.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 | 5 | 6 | 7 | 8 | 9 | 10 | Video.js | HTML5 Video Player 11 | 12 | 13 | 14 | 15 | 16 | 17 |