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. HDU 6156 回文 数位DP(2017CCPC)

    Palindrome Function Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Ot ...

  2. BFS:CF356C-Compartments

    C. Compartments time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  3. BFS:HDU-1072-Nightmare

    Nightmare Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  4. Linux命令之---mkdir

    命令简介 mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 命令格式 mkdir [选项] 目录...(这里可以是多个目 ...

  5. C#小知识点积累

    1.sealed 修饰符 概念: C#提出了一个密封类(sealed class)的概念,帮助开发人员来解决这一问题. 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承.如果试图 ...

  6. XX公司在线笔试题编程题之一

    题目: #include <iostream> #include <vector> #include <string> #include <list> ...

  7. Apache Common-IO 使用

    Apache Common-IO 是什么? Apache File 工具类,能够方便的操作 File 运行环境 jdk 1.7 commons-io 2.6 测试代码 package com.m.ba ...

  8. 友推在Android 实现微信等分享代码的常见问题

    介绍,最近 做了一个项目,需要集成分享功能.果断选择 友推. 集成过程,参考友推官方提供的集成文档即可 废话不多说,主要说一下自己在集成过程中遇到的一些问题,主要有两个: 问题1. 引入youtui- ...

  9. Python 字节与字符串的转换

    html = urlopen("http://www.cnblogs.com/ryanzheng/p/9665224.html") bsObj = BeautifulSoup(ht ...

  10. Form 组件动态绑定数据

    1.Form 组件的作用: a.对用户提交的数据进行验证(form表单/ajax) b.保留用户上次输入的信息 c.可以生成html标签(input表单类的标签) 2..由于form组件中每个字段都是 ...