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. PHP操作redis的常用例子

    Redis常用的例子 1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: &l ...

  2. 使用virtualbox安装的Ubuntu,窗口分辨率过小,使用增强工具完成和vmtools一样的功能。

    今天用VirtualBox成功装上Ubuntu10.04之后发现了一个问题:默认情况下 ubuntu 的分辨率最高只能设到800*600.但是对于自己的大显示器,在分辨率800*600的ubuntu窗 ...

  3. SpringMVC基本概念

    DispatcherServlet:MVC的前端控制器,浏览器用户的请求经过DispatcherServlet的分发,到达合适的controller,生产业务数据所需要的model,model通过Di ...

  4. day18 js 正则,UI框架,Django helloworld 以及完整工作流程

    JS正则:    text     判断字符串是否符合规定的正则表达式    exec    获取匹配的数据   默认情况下: 只要能匹配到就返回true 否则返回false 只匹配数字:   所以J ...

  5. 记一次Entity Framework 项目的优化过程

    在博客园看了不少其他大神的经验.今天也抽空贡献点自己的经验(并不是说自己也是大神..小弟还只新手程序员去年才毕业的) 好了废话不多说,直接进入主题.(具体的好坏各位看官就随便看看吧..没有什么好坏之分 ...

  6. 54、edittext输入类型限制为ip,inputType应该如何设置

    <EditText android:id="@+id/et_setting_printer_edit_info_ip" android:layout_width=" ...

  7. Windows核心编程小结2

    这一节看看内存管理相关的信息 首先看看虚拟内存 虚拟地址空间 32位系统  --- 4GB = 232 64 位系统  ---- 16EB = 264 虚拟内存表 当一个应用程序从硬盘加载到RAM时, ...

  8. Hive jdbc连接出现java.sql.SQLException: enabling autocommit is not supported

    1.代码如下 String url = "jdbc:hive2://master135:10000/default"; String user = "root" ...

  9. 并发编程——IO模型(6)

    1.IO模型分类 同步IO #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回.按照这个定义,其实绝大多数函数都是同步调用.但是一般而言,我们在说同步.异步的时候,特指那些需要 ...

  10. idea调试查看mybitis发送的语句(引用)

    MyBatis 的配置文件 Configuration 中有相关属性,设属性即可,不用再放一个 log4j.properties 文件. <configuration> <setti ...