纯手工搭建JSF开发环境(JSF2.2+maven+weblogic 12c/jboss EAP 6.1+)

简介: 前言: JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣,目前国内主流开发架构大多采用SSH,很少有JSF 2.

前言:

JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣,目前国内主流开发架构大多采用SSH,很少有JSF 2.x + EJB 3.x的应用,但从我个人感觉来看,特别是对于从.NET转型到JAVA的web程序员而言,JSF中的很多概念其实跟.NET很接近,国外已经有越来越多的项目在采用JSF + EJB3做为技术选型,下面将详细介绍JSF的开发环境搭建.

 

一、创建一个Dynamic Web Project

eclipse中新建一个Dynamic Web Project,参考下图

 输入项目名称(本文中为jsf-web),Target runtime这里我们选择None,Configuration这里选择最小配置Minimal Configuration,参考下图:

现在越来越多的java项目采用maven来管理了,为了方便后面转成maven项目,这里对源代码目录参考maven的约定,做下调整,参考下图:

注:对maven目录结构约定不清楚的朋友,建议先看这里

接下来,指定web站点内容目录(即:用来存放"页面\样式\脚本"的目录),这里输入webapp

然后点击Finish,完成项目创建

 

二、将项目转换成maven项目

刚才创建的项目,默认并不是maven项目,可参考下图转换成maven项目

项目右击 -> Configure -> Convert to Maven Project

转换过程中,会提示指定Group Id/Version这些maven关键信息,可参考下图自行调整:

 

三、配置pom.xml中的依赖项

JSF只是官方的一个规范,并不是具体的产品,针对这个规范,各厂商都有自己的实现(即: 官方定义了一组interface,但是未给出具体的接口实现,然后各大厂商提供了各家的实现),比如: Apache的myFacesoracle/sun公司的Mojarra,以及Jboss的richfaces,这三种实现从编写代码的角度看,并无太大差别,但部署在不同的web server上,配置需要做相关的调整,个人建议:

如果要部署在weblogic上,建议采用oracle的mojarra

如果要部署在jboss上,建议采用jboss的richfaces

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>yjmyzz</groupId>
 5     <artifactId>jsf-web</artifactId>
 6     <version>1.0</version>
 7     <packaging>war</packaging>
 8 
 9 
10     <dependencies>
11 
12         <!-- 如果打算部署在jboss上,建议下面这个 -->
13 <!--         <dependency>
14             <groupId>org.jboss.spec.javax.faces</groupId>
15             <artifactId>jboss-jsf-api_2.1_spec</artifactId>
16             <version>2.1.19.1.Final-redhat-1</version>
17             <scope>compile</scope>
18         </dependency> -->
19 
20         <!-- 如果打算部署在weblogic上,建议用下面这二个 -->
21         <dependency>
22             <groupId>com.sun.faces</groupId>
23             <artifactId>jsf-api</artifactId>
24             <version>2.2.0</version>
25             <scope>compile</scope>
26         </dependency>
27         <dependency>
28             <groupId>com.sun.faces</groupId>
29             <artifactId>jsf-impl</artifactId>
30             <version>2.2.0</version>
31             <scope>compile</scope>
32         </dependency>
33 
34     </dependencies>
35 
36     <build>
37         <plugins>
38             <plugin>
39                 <artifactId>maven-compiler-plugin</artifactId>
40                 <version>3.1</version>
41                 <configuration>
42                     <source>1.7</source>
43                     <target>1.7</target>
44                 </configuration>
45             </plugin>
46             <plugin>
47                 <artifactId>maven-war-plugin</artifactId>
48                 <version>2.3</version>
49                 <configuration>
50                     <warSourceDirectory>webapp</warSourceDirectory>
51                     <failOnMissingWebXml>false</failOnMissingWebXml>
52                 </configuration>
53             </plugin>
54         </plugins>
55     </build>
56 </project>
pom.xml

pom.xml配置好以后,project中的Maven Dependencies中将看到相应的jar包已经被引入了,如下图:

 

 

四、 编写HelloWorld测试代码

4.1 新建一个Bean

 1 package yjmyzz.controller;
 2 
 3 import javax.faces.bean.ManagedBean;
 4 
 5 @ManagedBean(name="Home")
 6 public class HomeController {
 7     
 8     public String sayHello(){
 9         return "hello JSF !";
10     }
11 
12 }
HomeController

4.2 新建一个xhtml页面

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 2 <html xmlns="http://www.w3.org/1999/xhtml"
 3       xmlns:h="http://java.sun.com/jsf/html"
 4       xmlns:f="http://java.sun.com/jsf/core"
 5       xmlns:ui="http://java.sun.com/jsf/facelets"> 
 6 
 7 <h:head>
 8     <title>jsf-web</title>
 9 </h:head> 
10 <body> 
11     <h1>
12         #{Home.sayHello()}
13     </h1>
14 </body> 
15 </html>
index.xhtml

 

五、部署测试

直接在project上右击-> Run on Server(前提:eclipse中已经配置好了weblogic 或 jboss 服务器,不熟悉eclipse中配置weblogic的朋友,可以先看这里)

weblogic上部署成功的运行截图:

jboss上部署成功的运行截图:

 

目录
相关文章
|
Java 应用服务中间件 Android开发
【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
  之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩。   EJB开发依赖的最基本的环境:JDK、Eclipse、JBoss,这里简单介绍一下最基本的环境的搭建。
【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
|
2月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
230 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
20天前
|
Java 关系型数据库 MySQL
如何安装系统必备开发环境:JDK 1.8+、MySQL 5.7+ 与 Maven 3.0+
【7月更文挑战第1天】搭建Java开发环境:安装JDK 1.8+,MySQL 5.7+,Maven 3.0+。访问官方源下载对应软件,配置Windows或Linux/macOS的环境变量,包括`JAVA_HOME`, `PATH`, `MYSQL_ROOT_PASSWORD`及`MAVEN_HOME`。测试安装成功分别用`java/javac -version`, `mysql -u root -p`和`mvn -v`检查版本。完成后,即可开始Java项目开发。
86 0
|
Java Maven
【maven教程】使用Maven搭建Struts2框架的开发环境
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:简化构建过程、统一构建体系、提供高质量的项目信息、提供开发的最佳实践指南、实现透明的向新特性的迁移、简化构建过程。使用Maven不须要知道一些潜在的或底层的机制,Maven屏蔽了非常多细节。
448 0
【maven教程】使用Maven搭建Struts2框架的开发环境
|
JavaScript Java 关系型数据库
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖
1019 0
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖
|
IDE Java Go
开发环境中使用Maven|学习笔记
快速学习开发环境中使用Maven
开发环境中使用Maven|学习笔记
|
IDE Java Maven
IDEA+Maven+tomcat7-maven-plugin配置开发环境
IDEA+Maven+tomcat7-maven-plugin配置开发环境
590 0
IDEA+Maven+tomcat7-maven-plugin配置开发环境
|
Java 关系型数据库 MySQL
如何在Eclipse中搭建MyBatis基本开发环境?(使用Eclipse创建Maven项目)
如何在Eclipse中搭建MyBatis基本开发环境?(使用Eclipse创建Maven项目)
330 0
如何在Eclipse中搭建MyBatis基本开发环境?(使用Eclipse创建Maven项目)
|
Java 应用服务中间件 Maven
Idea开发环境 maven项目在tomcat里运行
Idea开发环境 maven项目在tomcat里运行
130 0
Idea开发环境 maven项目在tomcat里运行
|
IDE Java Go
开发环境中使用Maven|学习笔记
快速学习开发环境中使用Maven
开发环境中使用Maven|学习笔记

推荐镜像

更多