JSF 作为 JavaEE 官方标准,在了解并掌握其基本开发技术后,对于功能要求较高、业务流程复杂的各种现代 Web 应用程序开发将会成为非常合适且强大的高效率开发利器。JSF 的开发环境搭建涉及到在 IntelliJ IDEA 中配置 Web Application Server、配置 JavaEE 基本环境、选择 JSF 相关功能模块等,之所以选择 IDEA 作为开发环境,是因为 IDEA 作为业界公认的最强 Java 集成开发环境,已逐渐成为事实上的 Java 及相关应用开发环境标准,甚至包括谷歌官方的 Android Studio 也是基于 IDEA 构建的。下面图文进行 IDEA + JSF 环境配置详解:
1、下载最新 IntelliJ IDEA Ultimate 版本(非社区版)。由于 IDEA 15 及之前版本对最新版 GlassFish Server 支持有 bug,所以应采用最新版的 IDEA,目前最新版是 2016.2.4 版本。
2、下载最新版 GlassFish Server。GlassFish Server 是一个符合 JavaEE 标准的应用服务器,能够完美地支持 JSF。而大家常用的 Tomcat 仅仅是一个 Servlet 容器,并没有实现 JavaEE 全部规范,所以算不上一个 JavaEE 应用服务器,不支持 JSF。GlassFish 的下载安装及启动都很简单,具体可参见其官方网站说明,目前的最新版本是 4.1.1 版,注意一定要下载 Java EE 7 Full Platform 版本。下载后即可启动 GlassFish Server。
3、启动 IDEA,设置 Preferences -> Build, Execution, Deployment -> Application Servers,点击“+”按钮,如下图所示:
4、点击“+”按钮后,选择添加 GlassFish Server,在弹出的对话框中,指定 GlassFish Server 安装目录,可以点击旁边的“...”按钮,通过文件目录对话框选择 GlassFish Server 所在目录,Linux/Mac 下比如 /opt/glassfish,Windows 下比如 d:\glassfish(假定你把 GlassFish zip 安装包解压缩到 d:\glassfish),如下图所示:
5、在右边的“Additional Libraries for Frameworks”列表中,勾选“CDI: Contexts and Dependency Injection”和“JSF”两项,如下图所示:
然后,点击右下角的“OK”按钮,完成 GlassFish Server 在 IDEA 中的设置。
6、在现有项目(或者新建项目)中创建一个 Module,左边的 Module 类型选择“Java Enterprise”,右边的“Additional Libraries for Frameworks”列表中,勾选“Web Application”、“JSF”、“CDI: Contexts and Dependency Injection”三项,特别注意,在勾选 JSF 和 CDI 两项时,下面的 Libraries 必须选择“Use librarie from 'GlassFish 4.1.1' installation”,如下图所示:
点击右下角的“Next”根据提示完成 Module 的创建,你就可以开始编写 JSF 的 XHTML 视图以及 Managed Bean 了。
7、要在 IDEA 中启动运行一个 JSF Module,可以按快捷键 Alt+Shift+F10,或者点击菜单 Run -> Run...,在弹出的菜单中,选择“0. Edit Configurations...”菜单项,如下图所示:
8、在弹出的 Run 对话框中,在左边列表中选择“GlassFish Server”,然后点击左上角的“+”按钮,如下图所示:
9、在弹出的菜单中选择 GlassFish Server -> Local,如下图所示:
这样就创建了一个新的 JSF Module 运行配置。
10、修改这个运行配置,设置 Name 为你指定的 Module 名字,然后点击“Deployment”选项卡,勾选“Use custom context root:”,并在下面的输入框中输入你指定的 url 访问根路径,比如 /jsfapp,这样你的 JSF 应用就可以通过 http://server/jsfapp 来访问,如下图所示:
11、点击“Server”选项卡,将“On 'Update' action”设置为 Redeploy,将“Server Domain”设置为 domain1(一般默认都是 domain1),填上相应的用户名、密码(访问 GlassFish Server Administrator Console 的管理员用户名密码),然后点击右下角的“Apply”按钮即可,这样该 JSF Module 的运行配置就完成了,当然也可以直接点击“Run”按钮立即运行,如下图所示:
12、在创建了这个 JSF Module 的运行配置后,你可以随时通过菜单 Run -> Run... 来运行这个 JSF Module,在点击上述那个菜单项后,在弹出的菜单中,就可以直接选择这个 JSF Module 运行配置名来运行这个 JSF Module 了,如下图所示:
至此,一个完整的 IDEA 中的基于 GlassFish Server 的 JSF 开发运行环境就搭建好了。