`
yangyou230
  • 浏览: 1649505 次
文章分类
社区版块
存档分类

Maven3 创建 JSF2应用程序

 
阅读更多

本文主要介绍用Maven3创建一个简单的JSF2web应用程序,该程序仅仅包含一个非常简单的Facelete页面index.xhtml。同时该工程还使用了MyBatis和logback等库。我自己将该工程作为一个模板工程。

创建Web程序的命令

使用maven-archetype-webapp命令创建程序,具体格式如下:
mvn archetype:create
-DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-webapp
创建的项目目录结构如下:


|-- src
| `-- main
| `-- java
| |-- resources
| |-- webapp
| | `-- WEB-INF
| | `-- web.xml
| `-- index.jsp
`-- pom.xml

创建项目

mvn archetype:generate -DgroupId=com.freebird -DartifactId=example -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
目录结构如下:
chenshu@csdesktop:~/work/svnclient/MyCodes/document/JSF2$ ls -R ./example/
./example/:
pom.xml src

./example/src:
main

./example/src/main:
resources webapp

./example/src/main/resources:

./example/src/main/webapp:
index.jsp WEB-INF

./example/src/main/webapp/WEB-INF:
web.xml

把该项目修改成JSF2项目

创建src/main/java目录,并创建子目录树如下:
chenshu@csdesktop:~/work/svnclient/MyCodes/document/JSF2/example/src/main/java$ ls -R ./
./:
com

./com:
freebird

./com/freebird:
example

./com/freebird/example:
component pagebean renderer

./com/freebird/example/component:

./com/freebird/example/pagebean:

./com/freebird/example/renderer:


src/main/webapp目录就是JavaEE Web模块的根目录,里面包含了所有的Faceletes的xhtml页面文件以及描述部署信息的配置文件

在该目录下创建index.xhtml文件,内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<f:view contentType="text/html"/>
<h:head>
<title>Hello World!</title>
</h:head>
<h:body bgcolor="white">
<h2>My name is Duke. What is yours?</h2>
<h:form id="helloForm" >
<h:outputText value="This is an example page"/>
</h:form>
</h:body>
</html>

修改pom.xml文件如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.freebird</groupId>
<artifactId>example</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>example Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.26</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.14</version>
</dependency>
</dependencies>
<build>
<finalName>example</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${compileSource}</source>
<target>${compileSource}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>2.1</version>
<configuration>
<glassfishDirectory>/usr/local/glassfish-3.0.1</glassfishDirectory>
<user>admin</user>
<passwordFile>/home/chenshu/glassfish_password</passwordFile>
<debug>true</debug>
<droptables>true</droptables>
<!—

<terse>true</terse>—>

<echo>true</echo>
<domainDirectory>/usr/local/glassfish-3.0.1/glassfish/domains</domainDirectory>
<domain>
<name>domain1</name>
<adminPort>4848</adminPort>
<httpPort>8080</httpPort>
<httpsPort>8443</httpsPort>
<iiopPort>3700</iiopPort>
<jmsPort>7676</jmsPort>
<reuse>false</reuse>
</domain>
<components>
<component>
<name>example</name>
<artifact>target/${project.build.finalName}.war</artifact>
</component>
</components>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

<properties>
<netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
<compileSource>1.6</compileSource>
</properties>
</project>

Modfy the web.xml file like so:

<?xml version='1.0' encoding='UTF-8'?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>example</display-name> <description>JSF2 example project</description> <context-param> <description> Tell the runtime where we are in the project development lifecycle. Valid values are: Development, UnitTest, SystemTest, or Production. The runtime will display helpful hints to correct common mistakes when the value is Development. </description> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <param-name>facelets.FACELETS_SKIP_COMMENTS</param-name> <param-value>true</param-value> </context-param>

<context-param> <param-name>com.sun.faces.allowTextChildren</param-name> <param-value>true</param-value> </context-param>

<!— Faces Servlet —> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>

<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping>

<welcome-file-list> <welcome-file>faces/index.xhtml</welcome-file> </welcome-file-list>

</web-app>

部署网站相关命令

本文假设已经安装了glassfish v3.0.1,现在show一下maven glassfish plugin提供的各种操作命令,我在example目录下创建了几个脚本文件,省得每次敲很长的命令: start_doman.sh文件 mvn org.glassfish.maven.plugin:maven-glassfish-plugin:start-domain

restart-domain.sh文件 mvn org.glassfish.maven.plugin:maven-glassfish-plugin:stop-domain mvn org.glassfish.maven.plugin:maven-glassfish-plugin:start-domain

deploy.sh文件 mvn clean install mvn org.glassfish.maven.plugin:maven-glassfish-plugin:deploy

redeploy.sh文件 mvn clean install mvn org.glassfish.maven.plugin:maven-glassfish-plugin:redeploy

initForDebug.sh文件(该脚本用于debug模式启动glassfish和部署网站) mvn clean install mvn org.glassfish.maven.plugin:maven-glassfish-plugin:start-domain mvn org.glassfish.maven.plugin:maven-glassfish-plugin:redeploy cd /usr/local/glassfish-3.0.1/bin ./asadmin restart-domain domain1

logback配置文件

在src/main/resources目录下创建logback.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <configuration>

<appender name="File" class="ch.qos.logback.core.FileAppender"> <file>/home/chenshu/example.log</file> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> <logger name="com.base22" level="TRACE"/> <root level="debug"> <appender-ref ref="File" /> </root> </configuration>

分享到:
评论

相关推荐

    aeloy-jsf2-archetype:JSF 2 Maven 原型

    将由该原型创建的 JSF 2 Web 应用程序将具有以下功能: JDK 1.7 版 myfaces-api 2.1.17 myfaces-impl 2.1.17 小程序 API 3.0 JSP API 2.3 JSTL 2.1 JUnit 4.12 用法 首先,您需要克隆此存储库并在本地运行以下...

    UKD4OS-HIBERNATE-JSF-MAVEN

    UKD4OS-HIBERNATE-JSF-MAVEN UKD 4开源MUTIARA AULIYA KHADIJA M0513034 使用JSF,Spring Hibernate和Maven创建简单的Java Web应用程序。

    gmail-scanner:这个网络应用程序扫描用户的 Gmail,获取消息并将它们保存到数据库

    项目是在 Netbeans 中使用 Maven、Hibernate 和 JSF 创建的。 数据库表创建文件可以在“create_message_table.sql”名称下的/resources文件夹中找到。 要运行该项目,您需要将其部署到 GlassFish 服务器并在数据库...

    quickstart-wildfly:使用maven和jBoss开发工具生成的Wildfly快速入门应用程序

    设置该项目是为了允许您使用JSF 2.2,CDI 1.1,EJB 3.3,JPA 2.1和Bean Validation 1.1创建兼容的Java EE 7应用程序。 它包括一个持久性单元以及一些示例性持久性和事务代码,以向您介绍企业Java中的数据库访问。 ...

    dockerized-java-e-commerce-app:使用JEE和JSF框架的电子商务Web应用程序

    使用JEE和JSF框架的电子商务Web应用程序 :ghost: 该项目是为对的最终检查而创建的 这背后的主要思想是,我们必须创建一个电子杂货店,销售来自不同供应商的多种产品。 杂货店只能通过佣金来赚钱。 :memo: 要求清单...

    ejb3-junit-arguillian-example:单元测试 ejb3 CDI Web 应用程序

    该项目设置为允许您使用 JSF 2.0、CDI 1.0、EJB 3.1、JPA 2.0 和 Bean Validation 1.0 创建兼容的 Java EE 6 应用程序。 它包括一个持久性单元和一些示例持久性和事务代码,向您介绍企业 Java 中的数据库访问。 ...

    training-jee-201801

    使用Java EE(Servlet,JSF)创建应用程序 使用Struts 2构建应用程序 使用Spring MVC构建应用程序 所需软件 Java SDK 依赖管理 阿帕奇Maven Gradle 编辑 网豆 蚀 IDEA智能 Visual Studio程式码 数据库服务器 MySQL...

    Buget:Web应用程序来管理预算

    设置该项目是为了允许您使用JSF 2.2,CDI 1.1,EJB 3.2,JPA 2.1和Bean Validation 1.1创建兼容的Java EE 7应用程序。 它包括一个持久性单元以及一些示例性持久性和事务代码,以向您介绍企业Java中的数据库访问。 ...

    cliente-oauth:OUATH2 客户端使用智利的唯一密钥进行身份验证

    OAUTH2客户端WEB应用组成使用 Java Server Faces 构建的 Web 应用程序的 MAVEN 项目,该应用程序能够集成到的身份验证机制部署此应用程序的步骤是: 准备好一个 JBoss AS 7.1.1 或一些实现 JEE 的 AS,对于 Tomcat,...

    appfuse 学习笔记

    Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。 Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、Struts、xDcolet、Junit、Taperstry...

    bookapp-rest:带有 maven、JPA、SpringMVC、AngularJS、jQueryUI 的 Java REST 应用程序

    这是一个小的示例书店应用程序,显示了使用 JSF 和 REST/AngularJS 实现的相同外观和感觉,因此可以比较不同的方法。 有关和的运行实例,请参阅 Appfog 使用的技术: 行家 JPA / EclipseLink 春天 ModelMapper...

    Spring in Action(第二版 中文高清版).part2

    16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 下载Spring A.1.1 研究Spring发布 A...

    AppFuse学习笔记(J2EE入门级框架)

    为了简化开发,预定义好了一套目录结构、基类、用来创建数据库、配置Tomcat、测试部署应用的 Ant 任务,帮助快速自动生成源程序和自动维护部分配置文件。 AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

    Spring in Action(第2版)中文版

    16.4.4在jsf中暴露应用程序环境 16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring a.1.1研究spring发布 a.1.2构建...

    MiClima.org:气象数据管理Web应用程序

    管理数据库中气候数据列表的应用程序。 有四个页面: Main:显示图像,以及两个链接到列表和新数据表单的按钮。 数据列表:显示来自数据库的经过验证的数据。 数据详细信息视图:如果双击列表中的数据,将显示其...

    exemplo-parse-java:通过MVC和JSF通过Java使用Parse API的示例。 在Senac技术学院的Internet编程2学科,分析和系统开发课程中进行了演示

    示例解析Java 通过MVC和JSF通过Java使用Parse ...在这种情况下,在Parse中) 您将需要向注册,创建应用程序并通过在ParseUtil类的配置中添加APPLICATION_ID和REST_KEY来适应该项目,以便能够通过该服务进行身份验证。

    jsf-primefaces

    设置该项目是为了允许您使用JSF 2.0,CDI 1.0,EJB 3.1,JPA 2.0和Bean Validation 1.0创建兼容的Java EE 6应用程序。 它包括一个持久性单元以及一些示例性持久性和事务代码,以向您介绍企业Java中的数据库访问。 ...

    Spring in Action(第二版 中文高清版).part1

    16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 下载Spring A.1.1 研究Spring发布 A...

    eap-gitssh-app

    它演示了如何使用JSF,CDI,JAX-RS,EJB,JPA和Bean验证来创建兼容的{javaVersion}应用程序。 它还包括一个持久性单元以及一些示例性持久性和事务代码,以向您介绍企业Java中的数据库访问。 访问应用 该应用程序将...

    JavaEE培训:Java EE的能力培训资料库

    在Java信息库和计算机应用程序库中创建应用程序库。 Objetivo Java实用程序证明和Java EE的证明人资格证明。 没有Java EE的技术服务,也没有因禁运而被禁运的事实。 Además,Java EE的子公司,Java EE的子公司,...

Global site tag (gtag.js) - Google Analytics