在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解
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 开发环境的入门详解的更多相关文章
- VC 6中配置OpenGL开发环境
2010,2012中配置类似 http://hi.baidu.com/yanzi52351/item/f9a600dffa4caa4ddcf9be1d VC 6中配置OpenGL开发环境 这里,我习惯 ...
- eclipse中配置c++开发环境 Eclipse + CDT + MinGW
转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- 如何在Eclipse中配置python开发环境
考虑到网上关于Eclipse中配置Python开发环境的文章千篇一律,故写此文以总结. 本文主要内容是:三种Pydev配置方法和一种PyDev卸载方法. 本文的前提是你已经安装了Eclipse和pyt ...
- VirtualBox开发环境的搭建详解(转)
VirtualBox开发环境的搭建详解 有关VirtualBox的介绍请参考:VirtualBox_百度百科 由于VirtualBox官网提供的搭建方法不够详细,而且本人在它指导下,从下载所需的开 ...
- vue2.x版本中computed和watch的使用入门详解-computed篇
前言 在基于vue框架的前端项目开发过程中,只要涉及到稍微复杂一点的业务,我们都会用到computed计算属性这个钩子函数,可以用于一些状态的结合处理和缓存的操作. 基础使用 在computed中,声 ...
- vue2.x版本中computed和watch的使用入门详解-关联和区别
前面两篇介绍了computed和watch的基本使用 watch篇 computed篇 两者的区别,继续通过代码实现的方式具体去了解 html <li>最开始的value值:{{ name ...
- vue2.x版本中computed和watch的使用入门详解-watch篇
前言 watch顾名思义,属于vue2.x版本中,监听和观察组件状态变化的钩子函数,常见的应用场景有监听路由变化,以及父组件传递给子组件的props数据的变化等 基本使用 在使用watch的时候,需要 ...
- 在Visual Studio Code中配置GO开发环境
一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...
随机推荐
- Java Web 基础(一) 基于TCP的Socket网络编程
一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...
- 基于Ajax提交formdata数据、错误信息展示和局部钩子、全局钩子的校验。
formdata重点: 实例化FormData这个类 循环serializeArray可以节省代码量 图片要用$('#id')[0].files[0]来获得 加上contentType:false和p ...
- CSAPP 缓冲区溢出试验
缓冲区溢出试验是CSAPP课后试验之一,目的是: 更好的理解什么是缓冲区溢出 如何攻击带有缓冲区溢出漏洞的程序 如何编写出更加安全的代码 了解并理解编译器和操作系统为了让程序更加安全而提供的几种特性 ...
- Apache Common-IO 使用
Apache Common-IO 是什么? Apache File 工具类,能够方便的操作 File 运行环境 jdk 1.7 commons-io 2.6 测试代码 package com.m.ba ...
- C#实现eval 进行四则运算(有码)
在JavaScript中实现四则运算很简单,只需要调用eval函数就行了,但是不知道什么原因万能的.NET却没有封装这个函数~ 在这里为大家封装了一个C#版本的eval函数,具体的设计参考了<大 ...
- IOS笔记046-UIApplication/导航控制器
UIApplication 每一个应用都有自己的UIApplication对象,而且是单例的 通过[UIApplication sharedApplication]可以获得这个单例对象 一个iOS程序 ...
- ogre3D学习基础14 -- 雾化效果与天空面,天空盒,天空穹
前几天设置天空盒时一直出问题,现在问题终于解决了,问题来的莫名其妙,走的也莫名其妙. 第一,还是框架,我们依然使用ExampleApplication文件,框架如下 #include "Ex ...
- 整理的一些Android开发类免费视频课程
1.Android实战淘宝网项目视频:http://edu.ibeifeng.com/view-index-id-248.html 2.Android滚动视差实现课程:http://edu.ibeif ...
- 用nc+简单bat/vbs脚本+winrar制作迷你远控后门
前言 某大佬某天和我聊起了nc,并且提到了nc正反向shell这个概念. 我对nc之前的了解程度仅局限于:可以侦听TCP/UDP端口,发起对应的连接. 真正的远控还没实践过,所以决定写个小后门试一试. ...
- 理解机器为什么可以学习(二)---Training versus Testing
前边由Hoeffding出发讨论了为什么机器可以学习,主要就是在N很大的时候Ein PAC Eout,选择较小的Ein,这样的Eout也较小,但是当时还有一个问题没有解决,就是当时的假设的h的集合是个 ...