简单易懂的现代魔法——Play Framework攻略1
哇哈哈,寒假结束啦,于是我又开新坑了。。。。这次的主角可是大名鼎鼎的Play Framework!!那么闲话少说,开始攻略吧!
1.什么是Play Framework?
大名鼎鼎的play framework究竟是什么呢!? 当然是一个框架了(废话!),官方的定义请自行查阅官网:https://www.playframework.com/
个人的理解是,play framework是一个基于scala的轻量级web开发框架。Play framework本身是采用scala编写的,在设计过程中深受Ruby on Rails的启发与影响。在Play framework基础上,开发人员可以自由选择使用Java还是Scala进行web开发,并可与已有的Java程序方便地集成。在如今xml(annotation)横飞的Java EE开发领域,Play framework可以说是Java开发人员的福音。在约定优于配置的指导思想下,终于可以和繁琐的配置文件说再见了!
总而言之呢,play framework就是一个快速,简单,好玩儿的轻量级Java(Scala)Web开发框架,尽管它不像大名鼎鼎的SSH那么流行,但是还是有着很多令人赏心悦目的特性。所以说,Play Framework简直就是简单易懂的现代魔法啊有木有!
2.Play Framework的安装
安装play framework之前,请务必先安装好JDK,不过能看到这里的估计都是Java程序员啦,这个问题可能不存在的说。
【1】下载安装包:https://www.playframework.com/download
点击下载(只有1M),然后解压即可;我解压在了I:\Play\activator 这里
【2】配置环境变量
这个和Java一样的,编辑path环境变量,把刚才那个目录加进去就好了
【3】安装完毕,打开cmd测试一下吧:
activator help
如果弹出了帮助信息,就说明安装成功了哟!真的是简单易懂呢!
3. IDE?
其实到这里,框架就已经配置好了,已经可以开发web程序了。不过我还是要推荐一个大名鼎鼎的Java IDE:http://www.jetbrains.com/idea/ IntellJ Idea,就是它了!你看play framework官网的介绍视频里用的就是它,功能十分强大。
【1】官网下载开发工具:http://www.jetbrains.com/idea/
【2】安装
【3】购(po)买(jie)注册码
【4】安装scala插件:http://confluence.jetbrains.com/display/IntelliJIDEA/Scala
对于这个IDE以及相关插件的安装,官网教程十分丰富,也不是本文的讨论重点,因此就介绍到这里了,如有疑问,请联系我!
4. 第一个Hello World程序
按照国际惯例,我们来写一个Hello world吧!首先在cmd中切换到我的工作目录:
【1】新建项目
activator new
初次使用,可以需要等待若干分钟,因为它在下载相关资源和模板,之后就很快了。
【2】选择模板
输入5,选择play-java模板,输入helloworld为项目名称,这样一个java项目就自动生成了。
【3】进入helloworld项目目录
cd helloworld
【4】启动服务器
activator run
初次启动服务器,也需要等待它下载更新,之后就不用了!
【5】打开浏览器,输入:http://localhost:9000/
于是你就看到上面的这个网页了!怎么样,是不是十分的简单易懂呢!?
【6】修改/helloworld/app/controllers/Application.java文件
为了能够显示Hello World,我们把Your new application is ready.这句话改成Hello World!
【7】刷新网页
修改成功,好神奇!
5.下回预告
本次简单易懂的现代魔法就到此结束了。下次的主要内容是:
(1)为什么修改Application.java会修改页面显示,后台代码文件是如何影响前端的?
(2)url地址与展示的页面有什么关系
(3)Web网页的工作原理
敬请期待:简单易懂的现代魔法——Play Framework攻略2:Controllor与Routes
简单易懂的现代魔法——Play Framework攻略1的更多相关文章
- 简单易懂的现代魔法——Play Framework攻略4
接前文:简单易懂的现代魔法——Play Framework攻略3 1.The Object 时隔2个多月,Play Framework系列又更新了,本次的主题是:利用Play Framework实现R ...
- 简单易懂的现代魔法——Play Framework攻略3
接前文:http://www.cnblogs.com/Kassadin/p/4343682.html 目前为止,我们已经研究了Play Framework的体系结构以及Web应用程序的工作原理.本来今 ...
- 简单易懂的现代魔法——Play Framework攻略2
接前文:http://www.cnblogs.com/Kassadin/p/4335908.html 上次讲到Play Framework开发环境的配置,以及第一个Hello World程序:本次主要 ...
- linux内核升级图文攻略(转)
一.Linux内核概览Linux是一个一体化内核(monolithic kernel)系统.设备驱动程序可以完全访问硬件.Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置 ...
- Moon.Orm3.8技术全攻略
Moon.ORM技术全攻略 一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...
- linux内核升级图文攻略
Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统. 设备驱动程序可以完全访问硬件. Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设 ...
- 圣魔大战3(Castle Fantisia)艾伦希亚战记完美攻略
作为城堡幻想曲系列续作,艾伦希亚战记继承了前作的战棋+养成模式进行游戏. (城堡幻想曲3,纠正大家个错误哦,不是圣魔大战3,圣魔大战是城堡幻想曲2,圣魔大战不是个系列,艾伦西亚战记==艾伦希亚战记,一 ...
- 视频聊天插件:AnyChat使用攻略之iOS开发指南
AnyChat使用攻略之iOS开发指南 这套攻略主要指导刚开始使用AnyChat SDK For iOS的同学,快速搭建SDK环境,和实现音视频开发流程. (需要工程案例文件可联系我们) 在iOS平台 ...
- php连接微软MSSQL(sql server)完全攻略
http://www.jb51.net/article/98364.htm php连接微软MSSQL(sql server)完全攻略 作者:吵吵 字体:[增加 减小] 类型:转载 时间:2016-11 ...
随机推荐
- Spark RDD整理
参考资料: Spark和RDD模型研究:http://itindex.net/detail/51871-spark-rdd-模型 理解Spark的核心RDD:http://www.infoq.com/ ...
- 工作案件1 一切都是有check引起的
HTML中input标签有两个类型,radio和checkbox,一个单选按钮一个复选按钮.jquery可以通过$(":radio")和$(":checkbox" ...
- 而在Jquery中则使用$.map()、$.each()来操作数组
首先是普通的数组(索引为整数的数组): //$.map(arr,fn); //对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组 var arr = [9, 8, 7 ...
- C#inSSIDer强大的wifi无线热点信号扫描器源码
一个完整的无线信号扫描工具源码,包含了从热点扫描到强度绘制以及信号变换曲线图.源码基于Managed Wifi实现基础功能,Managed Wifi也是开源项目,这个可以在本站搜索到. 指定网卡信号扫 ...
- JPG各种输入框样式
输入框景背景透明:<input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入框 ...
- Laravel 5 基础(一)- Laravel入门和新建项目
此系列文章是 laracasts.com 中的入门系列视频的笔记,我做了一些修改,可以参考此系列文章来学习 Laravel 5.原视频作者是 Jeffrey Way, 在此感谢.本人使用的系统是Mac ...
- 每日一“酷”之string
介绍:string模块可以追溯到最早的Python版本中.现在很多的被移植为str和unicode对象的方法,在python3.0中会被完全去除.string模块中,有很多有用的常量和累,用来处理st ...
- MYSQL 配置slave故障
之前为主从配置,后来分割成2个单实例.现在环境需要,重新配置为主从,之前参数都已配置好,直接启动,如下: mysql> change master to master_host='192.168 ...
- nginx学习之一
http://tengine.taobao.org/book/chapter_02.html
- Codeforces Round #333 DIV2
D: B. Lipshitz Sequence time limit per test 1 second memory limit per test 256 megabytes input stand ...