Eclipse
运行Eclipse需要Java运行环境,这里假设大家已安装好JDK,未安装的请参考Oracle公司官网。
到http://www.eclipse.org/downloads/eclipse-packages/下载Eclipse IDE for Java EE developers,并解压。
Wildfly
从http://wildfly.org/downloads/下载,在写本教程时版本为10.1.0 final, 选择Java EE7 Full & Web Distribution版本。下载完成后解压缩。
配置 Eclipse
选择下方Servers选项卡, 点击: No servers are available. Click this link to create a new server…
在Red Hat JBoss Middleware下选择JBoss AS, WildFly & EAP Server Tools 来下载JBoss Server适配器。
同意协议,点击Finish.
如果收到此提示:
点击OK然后会提示重启Eclipse,点击OK重启
重启后,重复之前的添加server步骤,这次选择Wildfly 10.x。然后点击Next.
在Create a new Server Adapter页面,保持默认点Next.
创建JBoss Runtime,Home directory选择Wildfly解压的目录。
创建JSF项目
项目源代码(注意:此代码已被更新版本的代码覆盖):https://github.com/zxuqian/Learning-Java-EE-2016/tree/create-jsf-project
此项目使用Maven作为管理和编译工具。
首先创建一个dynamic web project,稍后会转换为Maven项目。在Project Explorer, 右击,选择New, 然后在子菜单中选择Dynamic Web Project。
指定项目名字,这里为“notebook”. 在New Dynamic Web Project 对话框中, 点击Configuration旁边的Modify… 按钮。
勾选JavaServer Faces 来启用JSF功能。点击OK关闭对话框,并点击Next.
勾选Generate web.xml deployment descriptor,稍后会在里边配置JSF Servlet点击Finish.
转换为Maven项目。右击项目,选择Configure -> Convert to Maven Project。
填写group id,一般为域名形式。Artifact id一般为项目名称。这两个名称组合可以在Maven仓库中唯一标识此项目。点击Finish。
项目会自动转换为Maven项目,并生成pom.xml文件,用来配置Maven。
pom.xml文件如下图所示:
Web.xml文件如下图所示。现在不必知道具体配置项目,以后的教程中会逐渐提到。
标签可以定义默认首页,这里定义为index.xhtml,即如果url只输入到根路径,则默认打开index.xhtml页面。
标签定义了JSF中心Servlet,任何url以.xhtml都会跳到JSF相关页面去。
创建第一个页面。在WebContent目录创建一个HTML文件命名为index.xhtml, 点击Next.
选择New XHTML (1.0 transitional) 模板,此为Java EE官方推荐,有着更严格的HTML语法,比如标签必须成对出现。最后点击完成。
在此页面中,引用了两个命名空间: http://xmlns.jcp.org/jsf/html and http://xmlns.jcp.org/jsf/core, 前者为JSF-HTML 标签库后者是JSF核心功能标签库。在今天这个项目中,只使用JSF-HTML标签库,几乎和HTML标签一致。但是可以被JSF组件利用。下图定义了一个示例标签:
到此JSF项目创建完成。虽然是一个很简单的项目,但是从中可以了解Java EE开发的一些基本流程和概念。
现在运行项目看最终结果。右击项目,选择Run As->Maveninstall,maven会自动下载依赖的库和包,并且把项目打包成war包。
编译成功之后,右击项目,选择Run As-> Run on Server。
到此JSF项目创建完成。虽然是一个很简单的项目,但是从中可以了解Java EE开发的一些基本流程和概念。
现在运行项目看最终结果。右击项目,选择Run As->Maveninstall,maven会自动下载依赖的库和包,并且把项目打包成war包。
[外链图片转存中…(img-rKFWITVu-1739124918597)]
编译成功之后,右击项目,选择Run As-> Run on Server。