play手把手教你创建一个博客项目-01.创建yabe博客项目
play手把手教你创建一个博客项目10完整的应用程序测试

play手把手教你创建一个博客项目10完整的应用程序测试现在,我们差不多终止了博客引擎的编码工作,但对项目来讲还没有完成,为了让我们的代码能够完全正确的工作,我们还需要对项目进行测试。
因此,我们之前差不多为yabe的模型层功能书写的单元测试,同时确信博客引擎的核心功能差不多进行了完好的测试,然而关于一个web应用程序来讲模型层只是其中的一部分,我们还需要确定web接口能否按预期的目标一样正常工作。
也确实是讲还需要测试yabe博客引擎的操纵器层,甚至需要对UI自身进行测试,比如我们的JavaScript代码。
测试操纵器部分Play提供了一种功能,确实是使用JUnit来直截了当测试应用程序的操纵器。
我们把这些测试叫做‘功能性测试’,这是因为我们打算测试web应用程序的完整功能。
差不多上,一个功能性测试将直截了当调用Play的ActionInvoker,和一个HTTP 要求相似。
因此我们需要给出一个HTTP方法、一个URI和多个HTTP参数。
Play 之后会路由这些要求,调用相应的action,同时回发到填写的响应(filled response)。
之后,你就能够对之进行分析,以检查响应内容是否你所预期的。
import org.junit.*;import play.test.*;import play.mvc.*;import play.mvc.Http.*;import models.*;public class ApplicationTest extends FunctionalTest {@Testpublic void testThatIndexPageWorks() {Response response = GET("/");assertIsOk(response);assertContentType("text/html", response);assertCharset("utf-8", response);}}现在看,它依旧一个标准的JUnit测试。
play手把手教你创建一个博客项目-10完整的应用程序测试共10页文档

10.完整的应用程序测试现在,我们已经结束了博客引擎的编码工作,但对项目来说还没有完成,为了让我们的代码能够完全正确的工作,我们还需要对项目进行测试。
当然,我们之前已经为yabe的模型层功能书写的单元测试,并且确信博客引擎的核心功能已经进行了完好的测试,但是对于一个web应用程序来说模型层只是其中的一部分,我们还需要确定web接口能否按预期的目标一样正常工作。
也就是说还需要测试yabe博客引擎的控制器层,甚至需要对UI自身进行测试,比如我们的JavaScript代码。
测试控制器部分Play提供了一种功能,就是使用JUnit来直接测试应用程序的控制器。
我们把这些测试叫做‘功能性测试’,这是因为我们打算测试web应用程序的完整功能。
基本上,一个功能性测试将直接调用Play的ActionInvoker,和一个HTTP 请求相似。
因此我们需要给出一个HTTP方法、一个URI和多个HTTP参数。
Play之后会路由这些请求,调用相应的action,并且回发到填写的响应(filled response)。
之后,你就可以对之进行分析,以检查响应内容是否你所预期的。
接下来让我们书写第一个功能性测试代码,打开yabe/test/ApplicationTest.java单元测试:import org.junit.*;import play.test.*;import play.mvc.*;import play.mvc.Http.*;import models.*;public class ApplicationTest extends FunctionalTest {@Testpublic void testThatIndexPageWorks() {Response response = GET("/");assertIsOk(response);assertContentType("text/html", response);assertCharset("utf-8", response);现在看,它还是一个标准的JUnit测试。
使用WordPress建立个人博客的入门教程

使用WordPress建立个人博客的入门教程第一章:WordPress的介绍与安装在本章中,我将介绍WordPress的基本概念和特点,并介绍如何安装WordPress。
WordPress是一个免费且开源的内容管理系统(CMS),它是建立个人博客的理想选择。
它具有丰富的功能和灵活的插件,适用于不同的个人需求。
要安装WordPress,首先需要选择一个合适的主机和域名,并解释如何在主机上进行安装和配置。
第二章:WordPress主题在本章中,我将介绍WordPress主题的概念和使用方法。
主题是决定博客外观和布局的模板。
我们将讨论如何选择适合自己博客风格的主题,如何安装和激活主题,以及如何自定义主题。
此外,我还会介绍一些流行的WordPress主题和他们的特点。
第三章:插件的使用与管理插件是WordPress的一个重要特点,它们可以增加博客的功能和灵活性。
在本章中,我将介绍插件的概念和使用方法,并列举一些常用的插件。
我还会解释如何安装和管理插件,以及如何自定义和定制插件。
第四章:发布与编辑文章在本章中,我将介绍如何发布和编辑文章。
文章是博客的核心内容,因此了解如何编写和发布文章是非常重要的。
我将介绍WordPress的文章编辑器和格式选项,并讲解一些文章写作技巧。
此外,我还会介绍如何管理文章,包括分类和标签的使用以及如何使用编辑器插件增强写作体验。
第五章:博客优化与推广在本章中,我将介绍博客优化和推广的一些基本概念和方法。
优化和推广是让博客获得更多流量和更多读者的关键。
我将讲解一些基本的SEO原则,如如何使用关键字和描述元数据,以及如何优化网站速度和安全性。
此外,我还会介绍如何使用社交媒体和其他渠道来推广博客。
第六章:管理与维护在本章中,我将介绍一些管理和维护博客的方法和技巧。
管理和维护是保持博客正常运行和持续发展的重要环节。
我将解释如何备份和恢复博客数据,如何升级WordPress和插件,以及如何管理用户和权限。
搭建博客的步骤和技巧

搭建博客的步骤和技巧随着互联网的快速发展和人们越来越注重个人品牌建设,博客作为一个自媒体平台的地位和重要性逐渐凸显。
而如何快速稳妥地搭建自己的博客成为了很多人关注的问题。
下面将介绍一些搭建博客的步骤和技巧。
一、选择合适的博客平台首先,选择一个合适的博客平台是搭建博客的第一步。
目前比较流行的博客平台主要有WordPress、Hexo等。
其中,WordPress 是全球占有率最高的自建博客平台,支援众多插件,还提供丰富的主题和模板,可以根据自己的需求选择不同的配色和样式来打造个性化的博客界面。
而Hexo则是一款基于Node.js编写的博客框架,可以通过命令行快速生成静态页面,速度及效率都有很大的优势。
如果是初学者或是非技术人员建议选择WordPress,如果有一定的技术基础可以选择Hexo。
二、购买域名和服务器在选择好博客平台后,接下来就要购买域名和服务器了。
购买域名可以通过国内的万网、新网等网站,或国外的GoDaddy、Namecheap等注册商来购买,每年大概在一百元左右。
而服务器则需要选择一个稳定的主机才能保证博客的正常运行。
目前比较知名的服务器提供商有阿里云、腾讯云、Linode等,可以根据自己的预算和需求进行选择。
三、安装博客程序和主题在购买了域名和服务器后,就可以开始安装博客程序了。
如果选择的是WordPress平台,可以直接在官网下载压缩包后上传至服务器上,并按照安装向导进行配置。
而Hexo则需要先在本地生成静态页面,然后将生成的文件上传至服务器上。
无论是哪种平台,都可以在安装后选择喜欢的主题来美化博客。
WordPress有海量的免费主题可以选择,Hexo则需要进行自定义,通过CSS、HTML来调整风格。
四、插件和小工具的使用博客的魅力不仅仅在于它的外观,更在于它的功能和交互。
因此,添加一些插件和小工具也是非常重要的。
比如:给博客页面添加搜索框、Google Analytics统计网站流量、添加评论系统等等,这些都可以通过插件或者代码进行实现。
play手把手教你创建一个博客项目完整的应用程序测试

p l a y手把手教你创建一个博客项目完整的应用程序测试Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】10.完整的应用程序测试现在,我们已经结束了博客引擎的编码工作,但对项目来说还没有完成,为了让我们的代码能够完全正确的工作,我们还需要对项目进行测试。
当然,我们之前已经为yabe的模型层功能书写的单元测试,并且确信博客引擎的核心功能已经进行了完好的测试,但是对于一个web应用程序来说模型层只是其中的一部分,我们还需要确定web接口能否按预期的目标一样正常工作。
也就是说还需要测试yabe博客引擎的控制器层,甚至需要对UI自身进行测试,比如我们的JavaScript代码。
测试控制器部分Play提供了一种功能,就是使用JUnit来直接测试应用程序的控制器。
我们把这些测试叫做‘功能性测试’,这是因为我们打算测试web应用程序的完整功能。
基本上,一个功能性测试将直接调用Play的ActionInvoker,和一个HTTP请求相似。
因此我们需要给出一个HTTP方法、一个URI和多个HTTP参数。
Play 之后会路由这些请求,调用相应的action,并且回发到填写的响应(filled response)。
之后,你就可以对之进行分析,以检查响应内容是否你所预期的。
接下来让我们书写第一个功能性测试代码,打开 yabe/test/单元测试:import .*;import .*;import .*;import models.*;public class ApplicationTest extends FunctionalTest {@Testpublic void testThatIndexPageWorks() {Response response = GET("/");assertIsOk(response);assertContentType("text/html", response);assertCharset("utf-8", response);}}现在看,它还是一个标准的JUnit测试。
如何自己开发博客网站

如何自己开发博客网站博客网站是一个具有个人风格和内容的平台,供用户分享个人观点、心情、经验和技巧。
如果你对编程有一定了解并且想要自己开发一个博客网站,本文将为你提供一些建议和方法。
第一步:确定需求和目标在开始开发博客网站之前,你需要明确你的需求和目标。
考虑以下问题:- 你想要一个简单的博客网站还是功能更丰富的社交网站?- 你要为用户提供什么样的内容和功能?- 你希望你的博客网站有什么样的外观和风格?第二步:选择合适的技术栈选择合适的技术栈对于开发博客网站至关重要。
以下是一些常用的技术栈选择:- 后端开发语言:例如Python、JavaScript、Ruby等。
- 前端开发框架:例如React、Angular、Vue等。
- 数据库:例如MySQL、PostgreSQL、MongoDB等。
- 服务器:例如Apache、Nginx等。
根据你的需求和目标,选择适合你的技术栈。
第三步:搭建开发环境在开始开发之前,你需要搭建一个适合的开发环境。
以下是一些常见的开发环境配置:- 安装合适的开发工具和集成开发环境(IDE)。
- 配置数据库和服务器环境。
- 设置版本控制系统(如Git)来管理你的代码库。
确保你的开发环境正常运行,并且能够进行编码和调试。
第四步:设计数据库结构在开发博客网站之前,你需要设计数据库结构来存储用户数据和博客内容。
以下是一些常见的数据库设计原则:- 确定实体和关系:例如用户、博客、评论等。
- 设计表结构和字段:例如用户表、博客表、评论表等。
- 设置合适的关系和索引:例如主外键关系、索引等。
确保你的数据库结构能够满足你的需求,并且能够高效地存储和检索数据。
第五步:开发后端功能在开发博客网站之前,你需要实现一些后端功能来提供用户的登录、注册、发布博客、评论等功能。
以下是一些常见的后端功能:- 用户认证和授权:例如用户注册、登录、注销等。
- 博客管理:例如博客的发布、编辑、删除等。
- 评论系统:例如用户的评论、回复、点赞等。
初学者如何搭建个人博客来记录学习笔记

初学者如何搭建个人博客来记录学习笔记随着互联网的普及,越来越多人开始使用博客来记录学习笔记和分享经验。
对于初学者来说,搭建一个人博客可能是一个有挑战的任务,但是只要掌握了一些基本的技能和知识,便可以轻松地完成这个任务。
一、选择合适的博客平台首先,我们需要选择一个合适的博客平台。
目前市面上有许多知名的平台,如WordPress、Blogger、Medium等。
这些平台提供了各种主题和插件,可以使你的博客很容易地与观众进行交互和管理。
其中,WordPress是最受欢迎的平台之一。
WordPress平台提供了许多功能强大和易于使用的插件。
我们可以使用这些插件来实现很多自定义功能,如保护博客、SEO等。
在选择一个主题之前,我们需要考虑它是否适合我们的需求,并且与我们的内容相匹配。
二、选择一个好的主题一个好的主题可以为您的博客提供美观和易用的用户界面。
在选择主题时,要考虑到它是否适合您的读者,并且是否适合您的内容。
有些主题对于博客的阅读和辅助功能非常好,而有些则更适合于图像和视觉效果。
在WordPress平台上,我们可以通过许多网站免费获得最好的主题。
在搜索适合的主题时,我们可以考虑以下因素:1、设计美观和稳定2、好用的用户界面和交互功能3、适合多种终端使用4、支持搜索引擎优化5、易于自定义三、优化博客的搜索引擎搜索引擎优化是博客成功的关键,使博客排名更高,会有更多的观众访问您的博客。
首先,我们需要选择一个合适的域名。
意义潜在的博客名字可以让人更快地定位到你的博客,也易记忆。
其次,我们需要优化博客的内容,这可以通过使用关键字来改善。
关键字是那些人们常用来搜索相关主题的短语或单词。
在写作过程中,需要确保关键字用的恰当合理,以便网页爬虫更好地识别您的博客主题。
四、保护博客安全保护博客安全是非常重要的,随着您的博客日益成长,受到袭击的威胁也会增加。
因此,在搭建博客时,我们需要考虑到安全问题,并做好保护措施。
我们可以通过以下方式来保护博客安全:1、使用一个好的安全插件,如WP Security2、及时更新WordPress平台和插件3、确保每个人都使用强密码4、备份每个文章通过这些简单的步骤,我们就可以完成博客的搭建,并成功开始记录学习笔记。
play手把手教你创建一个博客项目-11.部署到生产环境

11.部署到生产环境是时候结束博客引擎项目了,让我们用很少的几个通用步骤把play应用程序部署到生产环境中。
定义一个框架ID我们可能会把应用程序部署到不同的计算机(服务器),而不是用于开发的本地PC,因此,我们需要不同的play安装信息。
play允许我们为每个已经安装的play框架分配一个不同的框架ID,然后在同一个application.conf文件里管理不同的配置信息,假如我们将server01用作生产环境下的应用程序主机。
一旦play框架安装到服务器上后,那么就让我们用下面的命令为这个框架定义一个框架ID:$ play id并指定server01作为id的值,OK,接下来我们就可以在yabe的配置文件里定义特定的keys,仅仅当应用程序运行在服务器上时才会使用这个keys。
设置应用程序为PROD模式第一个专用于服务器部署的配置key就是application.mode属性。
到目前为止,我们已经使用DEV模式,以允许play热加载和热编译java源文件,并且在错误发生时显示详细的错误信息。
在PROD模式下,play将在启动时编译所有的java 源文件和模板,而且不再检测代码是否有修改。
在yabe/conf/application.conf文件里作如下定义:%server01.application.mode=PROD现在,当你在服务器上运行yabe应用程序时,程序就会自动启动到PROD模式。
配置MySQL数据库服务器对于生产环境来说,我们将使用一个MySQL数据库服务器来代替内存式的H2数据库,play自带了MySQL的JDBC驱动,因此我们不需要安装任何东西。
在yabe/conf/application.conf里编辑数据库配置项:%server01.db=mysql:root:secret@yabe现在我们就可以对Hibeanate进行微调,以管理数据库。
当java模型对象修改后,让Hibernate自动更新数据库结构时,这非常有用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01.创建项目
简介
在这个教程中你会学到用Play框架从头到尾的开发一个真实的Web程序。
在这个程序中,我们将使用在一个真实项目中需要的所有技术,来介绍Play框架开发Web程序的实战技巧。
这个教程分为几个独立的部分。
每个部分将介绍更多复杂的特性,并且提供真实项目的需求,包括数据验证、错误处理、权限框架、自动测试框架、Web界面接口、国际化等内容。
项目
我们决定创建一个blog项目。
这不是一个有想象力的决定,但是这个项目能让我们学习到目前Web程序大多数的功能性需求。
为了更有趣点,我们要处理不同角色的用户(editor,admin)。
这个项目的名字称为yabe。
这个教程的源代码在Play安装目录下的samples-and-tests/yabe/目录。
先决条件
首先,确保计算机安装了Java,Play框架需要Java 5或以上版本。
还有我们要使用命令行,最好使用类Unix操作系统。
当然如果你使用Windows操作系统,Play框架也会工作得很好。
要有Java和Web开发技术(比如:HTML, CSS and JavaScript)的知识,然而不必深入了解JEE的知识。
Play框架是一个“全栈式”Java框架,提供和封装了你所需要的所有Java API,你不必知道怎样配置JPA实体或者部署JEE组件。
当然还需要文本编辑器。
如果你习惯用诸如Eclipse和NetBeans等Java IDE开发Play框架的Web程序是非常好的。
然而使用一些诸如Textmate、Emacs或VI简便的文本编辑器来开发Play框架的Web程序也是非常愉快的。
安装Play框架
安装非常简单,下载最近的版本然后解压到任何路径。
如果使用Windows,应避免在安装路径中有空格。
比如c:\play ,而不能是c:\Documents And Settings\user\play。
最好是把Play主目录加入到工作路径path,这样只需要在命令行输入play就可以使用Play框架
的功能了。
为了检测Play框架是否安装好,可以在命令行中输入play,然后命令行窗口中会出现基本帮助信息。
创建项目
Play框架安装好后,就可以blog项目了。
创建Play程序非常容易,仅仅只需要Play框架命令行的命令。
打开命令行窗口,输入:
~$ play new yabe
执行后会提示输入这个项目的全名:Yet Another Blog Engine
play new命令创建了一个yabe/目录,这个目录中包含一些文件和文件夹。
重要的有:
app/存放项目的核心文件,分别有models、controllers和views三个文件夹。
它也可以包含其他Java包,这是java源文件存放的地方。
conf/存放项目的配置文件,有项目主配置文件application.conf,路由配置文件routes,国际化配置文件messages。
lib/存放项目所需的Java二进制包。
即.jar文件。
public/存放公用资源,比如JavaScript文件,CSS样式和图片资源。
test/存放项目的测试程序,测试程序基于JUnit或Selenium。
注意:Play框架的字符编码是UTF-8。
要保证上面这些文件夹中的文本文件也要是UTF-8编码。
如果你是一个经验丰富的Java程序员,你也许想知道.class文件存放在哪里。
实际上Play 框架不使用.class文件,而是直接读取Java源文件,并使用Eclipse来编译他们。
这导致在开发过程中的两件重要事情。
首先,Play框架运行时会检测Java源文件的变更并自动重新加载它们。
其次,当异常发生时,Play将创建更好的错误报告来显示给你确切的源代码。
事实上Play框架把字节码缓存在tmp/目录里。
你可以使用play clean命令来释放缓存。
运行程序
现在可以测试一下新建立的程序了。
回到命令行窗口,在yabe/目录下输入play run命令。
Play框架将载入程序,启动Web服务器并监听9000端口。
打开浏览器键入http://localhost:9000,程序显示了一个缺省的欢迎页。
现在我们来看看这个页面是怎样显示的。
程序的主入口配置在conf/routes文件里。
这个文件定义了程序所有可访问的URL。
打开r outes文件,会看到第一个“route”:
GET / Application.index
它告诉Play,当服务器收到来自于/路径的GET请求时要调用Application.index的方法。
在这个程序中,Application.index是controllers.Application.index简写,因为controllers 包是隐式附加的。
在创建一个标准Java程序时,通常会定义一个入口方法,比如:
1 2 3 public static void main(String[] args) {
...
}
Play程序则有多个入口方法,每个URL就有一个。
这些方法称为action方法。
定义Actio n方法的类称为controller。
看看什么是controller。
打开yabe/app/controllers/Application.java源文件:
1 2 3 4
package controllers;
import play.mvc.*;
public class Application extends Controller { public static void index() {
controller 类继承于play.mvc.Controller类,这个类提供了许多controller需要的方法,比如在index action中的render方法。
index action定义为public static void,因为controller类不需要实例化和返回值。
index action很简单,只是调用了render()方法来通知Play渲染模板。
使用模板是返回HT TP响应的一个最通用的方式。
模板是在/app/views 目录下的简单文本文件。
因为这里没有指定一个模板,index action 会使用一个默认的模板:Application/index.html。
打开/yabe/app/views/Application/index.html:
在这个模板中,只有Play tag,与JSP tag类似,#{welcome /} tag会在浏览器中生成欢迎信息。
#{extends /} tag 表示这个模板继承于main.html这个模板。
模板继承可用来创建复杂的web也并重用公共部分。
打开/yabe/app/views/main.html模板:
14 </html>
#{doLayout /}tag表示index.html插入内容的地方。
试着编辑controller类来看看Play怎么自动加载它。
打开yabe/app/controllers/Applicati on.java,删除render()后的分号,让它出错,就像这样:
public static void index() {
render()
}
然后到浏览器刷新这个页面,Play会检测源文件变更并试着加载程序controller,但是因为controller有错误,所以在浏览器中显示一个编译错误。
把刚才的错误修改正确,在编辑模板,打开yabe/app/views/Application/index.html覆盖欢迎消息。
1 2 3 4
#{extends 'main.html' /}
#{set title:'Home' /}
<h1>A blog will be here</h1>
在浏览器刷新这个页面。
设置数据库
对于这个blog程序,在编代码之前还有一件更重要的事情就是设置数据库。
Paly附带有一个称为H2的标准的SQL数据库管理系统,你可以选择一个内存数据库或文件系统数据库来保存数据。
在这个程序开始,我们要做大量的测试和改变,由于这个原因,最好使用内存数据库以便总是有新的数据集。
设置数据库,打开yabe/conf/application.conf文件去掉下面这行的注释:
db=mem
回到浏览器刷新页面,Play会自动启动数据库,在程序日志里会有:
INFO ~ Connected to jdbc:h2:mem:play。