文章目录

  • 简单Java EE 应用
  • 前提条件
  • 须知
  • 安装Glassfish
  • 下载
  • 启动
  • 查看日志
  • 关闭
  • 安装H2数据库
  • 下载
  • 启动
  • 配置H2内存数据库
  • 配置JNDI数据源
  • 关于JNDI数据源文档
  • 在Glassfish Server中配置JDBC连接池
  • 在Glassfish Server中配置JDBC连接
  • 运行应用
  • 安装示例代码
  • IDEA中配置Glassfish
  • 查看server日志
  • 程序运行截图
  • 读者疑问
  • 资源


简单Java EE 应用

一个很简单的Java EE应用

前提条件

须知

  • 本文使用Java EE版本为8
  • Java EE服务器为Glashfish,版本为5
  • 数据库为H2

安装Glassfish

Glassfish为Java EE服务器,而普通的Tomcat是Java SE服务器,当然你也可以选择Tomcat EE进行下载

下载

下载地址,下载之后进行安装

启动

在Glassfish安装目录下的bin文件夹内使用asadmin,根据平台选择.bat或者直击双击执行.在终端或DOS窗口中执行命令

start-domain

启动Glassfish 服务器。默认启动名字domain1

启动成功之后,控制台默认端口为4848

localhost:4848

javaee 理解 javaee的使用方法_CDI

查看日志

如果启动不成功,可以查看日志,日志路径在

Glassfish Server home下的/domains/domain1/logs

关闭

关闭服务器

stop-domain

安装H2数据库

下载

下载地址

启动

在H2安装目录下的bin目录中,执行h2,根据平台选择.sh或者.bat. 控制台默认端口为8082

localhost:8082

javaee 理解 javaee的使用方法_javaee 理解_02

配置H2内存数据库

h2内存数据库的格式示例如下,其中db1为自定义数据库名字

jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1

文档地址

有关h2其他疑问或要学习h2,可参考上述官方文档

配置JNDI数据源

为什么要配置JNDI数据源?我平时用springboot直接配置就好了,没见过JNDI数据源…等等一系列问题,回答这些问题大前提是完全基于Java EE体系,而不是Spring体系。所以你需要了解一些JavaEE背景

关于JNDI数据源文档

Java EE8中有关JNDI的描述

在Glassfish Server中配置JDBC连接池

如果你采用的是Oracle或MySQL,可以直接看glassfish配置数据源文档网络教程。由于本文采用的是H2,所以实际上还有些不一样。

在glassfish控制台中找到JDBC Connection Pools,点击New

javaee 理解 javaee的使用方法_jsf_03

然后输入名字,选择ResourceType为javax.sql.DataSource

javaee 理解 javaee的使用方法_javaee 理解_04

在图中看到,没有H2选择,所以我们要进行集成。下载H2的driver对应的jar包,将该jar包放到

Glassfish Server home下的/domains/domain1/lib

重启Glassfish Server,然后按照上述步骤来到这个页面

javaee 理解 javaee的使用方法_jsf_05


在Vendor输入H2,然后点击Next,进入下一个页面,在页面底部配置url、user、password

javaee 理解 javaee的使用方法_javaee 理解_06

注意:

这里的内存数据库其实是没密码的,但是还是要输入点什么,才可以,Stack Overflow上说可以输入

()

但是对我没啥效果。

完成上述配置,点击页面的Ping按钮,看是否成功

javaee 理解 javaee的使用方法_jsf_07

如果有报错,可以在上面的日志中找到错误信息

也可以在asadmin命令行中查看

list-jdbc-connection-pools

在Glassfish Server中配置JDBC连接

配置完连接池之后,进行JDBC连接的配置

javaee 理解 javaee的使用方法_CDI_08

在新建页面中输入名字(改名字就是JNDI名字),选择刚才上一步建立的DataSource Pools

新建完成之后,依旧可以在asadmin中的命令行找到

list-jdbc-resources

在上述步骤配置完成之后,如果没问题,也可以在domian.xml找到生成的配置,domain.xml一般在

Glassfish Server home/domains/domain1/config

javaee 理解 javaee的使用方法_hibernate_09

运行应用

安装示例代码

示例代码地址

git clone代码,然后导入到IDEA中

IDEA中配置Glassfish

javaee 理解 javaee的使用方法_java_10

查看server日志

在IDEA中配置好了之后,可以在IDEA直接看到日志

javaee 理解 javaee的使用方法_hibernate_11

程序运行截图

javaee 理解 javaee的使用方法_javaee 理解_12


用户名默认为:dhb

密码:123456

点击即可登录

读者疑问

  1. 问:为什么用Java EE体系的技术,spring ,spring boot不香么?
    答:技术嘛,无所谓好坏,能解决问题就行。选择适合自己企业的即可
  2. 问:想要了解更多关于Java EE体系的内容?
    答:推荐阅读Java EE8文档,以及运行文档对应示例程序

资源

  1. 一张图看懂JPA各个组件的关系
  2. 关于transaction-type的选择,是选择JTA还是RESOURCE_LOCAL的文章