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 开发运行环境就搭建好了。

在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解的更多相关文章

  1. VC 6中配置OpenGL开发环境

    2010,2012中配置类似 http://hi.baidu.com/yanzi52351/item/f9a600dffa4caa4ddcf9be1d VC 6中配置OpenGL开发环境 这里,我习惯 ...

  2. eclipse中配置c++开发环境 Eclipse + CDT + MinGW

    转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...

  3. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  4. 如何在Eclipse中配置python开发环境

    考虑到网上关于Eclipse中配置Python开发环境的文章千篇一律,故写此文以总结. 本文主要内容是:三种Pydev配置方法和一种PyDev卸载方法. 本文的前提是你已经安装了Eclipse和pyt ...

  5. VirtualBox开发环境的搭建详解(转)

    VirtualBox开发环境的搭建详解   有关VirtualBox的介绍请参考:VirtualBox_百度百科 由于VirtualBox官网提供的搭建方法不够详细,而且本人在它指导下,从下载所需的开 ...

  6. vue2.x版本中computed和watch的使用入门详解-computed篇

    前言 在基于vue框架的前端项目开发过程中,只要涉及到稍微复杂一点的业务,我们都会用到computed计算属性这个钩子函数,可以用于一些状态的结合处理和缓存的操作. 基础使用 在computed中,声 ...

  7. vue2.x版本中computed和watch的使用入门详解-关联和区别

    前面两篇介绍了computed和watch的基本使用 watch篇 computed篇 两者的区别,继续通过代码实现的方式具体去了解 html <li>最开始的value值:{{ name ...

  8. vue2.x版本中computed和watch的使用入门详解-watch篇

    前言 watch顾名思义,属于vue2.x版本中,监听和观察组件状态变化的钩子函数,常见的应用场景有监听路由变化,以及父组件传递给子组件的props数据的变化等 基本使用 在使用watch的时候,需要 ...

  9. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

随机推荐

  1. dfs 的全排列

    #include <iostream> #include <algorithm> #include <cstdio> #include <string> ...

  2. laravel5.2总结--门面(facades)

    Facades 为应用程序的服务容器中可用的类提供了一个「静态」接口.   Laravel 本身附带许多的 facades,甚至你可能在不知情的状况下已经在使用他们!   xpower的静态接口(门面 ...

  3. plsql 编程基础

    分支 declare --声明变量 a ); b ); c ); begin --开始 a := '小明'; dbms_output.put_line(a); b :; c :; if b > ...

  4. python(或BAT脚本)自动执行adb shell以后的命令

    最近在用python做一个小工具,自动执行一些adb shell命令,使用subprocess.Popen来实现.   不过遇到个问题就是执行adb shell后就无法执行后面adb shell里的命 ...

  5. js 遍历对象属性(for in、Object.keys、Object.getOwnProperty) 以及高效地输出 js 数组

    js中几种遍历对象的方法,包括for in.Object.keys.Object.getOwnProperty,它们在使用场景方面各有不同. for in 主要用于遍历对象的可枚举属性,包括自有属性. ...

  6. 字符串匹配算法(在字符串T中查找是否有与字符串P相同的子串)

    T称为目标串(Target)或主串 ,P称为模式串(Pattren) 或子串 1. 简单字符串模式匹配算法 原理:用字符串P的字符依次与字符串T中的字符进行比较,首先将字符串P从第0个位置起与主串T的 ...

  7. 浅谈JavaScript中的函数问题

    前面的话:JavaScript可运行在所有主要平台的主流浏览器上,也可运行在每一个主流操作系统的服务器端上.所以呢,要想成为一名优秀的全栈工程师,必须懂得JavaScript语言.这是我整理的JS的部 ...

  8. JavaScript手册

    今天偶然找到javasc的手册地址=>js的手册

  9. httpClient get方式抓取数据

    /*     * 爬取网页信息     */    private static String pickData(String url) {        CloseableHttpClient ht ...

  10. Quotes

    A man's gotta do what a man's gotta do.