# TyEnWord **Repository Path**: tyxia/TyEnWord ## Basic Information - **Project Name**: TyEnWord - **Description**: 基于 Struts2、Hibernate 的简易 背单词 网站. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: http://tyenword.tianyiyan.com/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2015-07-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README TyEnWord ---------- EDIT BY luckytianyiyan@gmail.com 2015/6/22 22:31:14 这是一个简易的背单词网站.它仅处于一个Demo阶段. 你可以通过 [tyenword.tianyiyan.com](http://tyenword.tianyiyan.com/) 查看它的效果.这是示例站点. 服务端使用 Struts2、Hibernate. 前端使用了 Bootstrap3, 以及部分 HTML5 的新元素,以及 AddThis 的分享功能. > 我为这个小家伙写了一个Python脚本 [**EnglishInput**](http://git.oschina.net/luckytianyiyan/EnglishInput). > 用来代替手工录入书本单词(显然手工录入很蠢). > [**EnglishInput**](http://git.oschina.net/luckytianyiyan/EnglishInput) 可以解析书本CD,将有用的数据提取出来并录入数据库. 运行环境 ---------- - JDK 1.8 - Tomcat 8 - MySQL 5.5 - Struts2 2.3.24 - Hibernate 4.2.7 Final (With MySQL-Connector-Java 5.1.35) GetStart ---------- - Step.1 修改 **邮箱** 配置 将 src/config-default.properties 文件复制一份,并重命名为 config.properties 接着按照配置文件的注释说明修改 这里我们假设使用sina邮箱. 邮箱为`test@sina.com`, 密码为 `pwd123`,服务器地址为`http://localhost:8080` email=test@sina.com emailPasswd=pwd123 serverHost=http\://localhost\:8080 更多的设置,详情见 `config-default.properties` 注释 注意:新浪邮箱,默认未开启smtp服务。需要手动开启!具体步骤如下: 1. 登陆邮箱后,右上角点击 设置 按钮 2. 在页面左边树形导航中点击 服务端pop/imap/smtp 按钮 3. 将服务开启并保存 - Step.2 修改 **Hibernate** 配置 src/hibernate.cfg.xml username passwd jdbc:mysql://localhost/ty_en_word - Step.3 运行程序 不出意外, 这时 Hibernate 已经在你的对应数据库中,将结构创建好了. 打开主页,并没有书本内容。 这时你可以往数据库录入书本内容了. 你可以使用下面的方式快速获得测试数据: 1. 如果你有 英语课本的CD(当前只支持 外研社 新视野 大学英语 第二版) 你可以通过 EnglishInput ,简单的配置后,运行它,将会帮你把内容自动录进数据库. 详情可以 [点击这里](http://git.oschina.net/luckytianyiyan/EnglishInput) 跳转到 EnglishInput 项目页. 2. 在[项目的附件](http://git.oschina.net/luckytianyiyan/TyEnWord/attach_files)中,有 大英1 到 大英4 的书本数据. 这是一个SQL文件,直接导入到你的数据库就好. > Note: template 文件夹下是我做的页面模板. Debug ---------- - Email Debug 打开 src/config.properties mailDebug=true - Hibernate Debug 打开 src/hibernate.cfg.xml true true 部分Jar包说明 ---------- - mail.jar 提供邮件发送 - mysql-connector-java-5.1.35-bin.jar 提供mysql链接,用于Hibernate组件 - fastjson-1.2.6.jar 阿里工程师开发的Json拓展包,相比其它Json拓展包,它没有其它依赖,性能更佳 - struts2-json-plugin-2.3.24.jar struts2的Json支持,主要用于Ajax支持 工具脚本 ---------- - **EnglishInput** 脚本 这是一个Python 2.7写的书本录入脚本 如果你手上有、或能找到书本的配套CD, 通过它能够快速录入数据. [**点击这里**](http://git.oschina.net/luckytianyiyan/EnglishInput) 可以跳转到EnglishInput项目页. - 清除所有数据库表 -- User DROP TABLE IF EXISTS email_verification; DROP TABLE IF EXISTS user; -- Book DROP TABLE IF EXISTS phrase_meaning; DROP TABLE IF EXISTS word_meaning; DROP TABLE IF EXISTS word; DROP TABLE IF EXISTS phrase; DROP TABLE IF EXISTS book; - 删除用户 DELETE FROM email_verification; DELETE FROM user; - 删除所有书本信息 DELETE FROM phrase_meaning; DELETE FROM word_meaning; DELETE FROM word; DELETE FROM phrase; DELETE FROM book; Notes ---------- 1. 这个小家伙是我在黑作坊(宿舍)里花了一点时间,边学边炮制出来的东西. 它仅能当做一个Demo,并不具备正式投入使用的价值. 2. 它本身存在一些明显的问题. 1. 里面我做了一个简单而却没用上的小功能 -- **在线用户统计** 然而,它并不是线程安全的.所以数据并不准确. 2. 细心的话,会发现 没有找回密码的功能(因为我偷懒了). 如果你想实现它,并不困难,参照**邮箱验证**功能,做一个就行. 3. 混乱的前端资源. 前端并没有细心的做,css是粗糙的. 4. 验证邮件的发送毫无限制 我并未设置 **重新发送验证邮件** 的间隔时间.如果你需要,可以自己加上. 可以脑补如果 **重新发送** 按钮被狂点的结果. 3. **请不要在我的 [示例站点](http://tyenword.tianyiyan.com/) 上测试我上面告诉你的一切.**