文章目录
- 简单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
查看日志
如果启动不成功,可以查看日志,日志路径在
Glassfish Server home下的/domains/domain1/logs
关闭
关闭服务器
stop-domain
安装H2数据库
下载
下载地址
启动
在H2安装目录下的bin目录中,执行h2,根据平台选择.sh或者.bat. 控制台默认端口为8082
localhost:8082
配置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
然后输入名字,选择ResourceType为javax.sql.DataSource
在图中看到,没有H2选择,所以我们要进行集成。下载H2的driver对应的jar包,将该jar包放到
Glassfish Server home下的/domains/domain1/lib
重启Glassfish Server,然后按照上述步骤来到这个页面
在Vendor输入H2,然后点击Next,进入下一个页面,在页面底部配置url、user、password
注意:
这里的内存数据库其实是没密码的,但是还是要输入点什么,才可以,Stack Overflow上说可以输入
()
但是对我没啥效果。
完成上述配置,点击页面的Ping按钮,看是否成功
如果有报错,可以在上面的日志中找到错误信息
也可以在asadmin命令行中查看
list-jdbc-connection-pools
在Glassfish Server中配置JDBC连接
配置完连接池之后,进行JDBC连接的配置
在新建页面中输入名字(改名字就是JNDI名字),选择刚才上一步建立的DataSource Pools
新建完成之后,依旧可以在asadmin中的命令行找到
list-jdbc-resources
在上述步骤配置完成之后,如果没问题,也可以在domian.xml找到生成的配置,domain.xml一般在
Glassfish Server home/domains/domain1/config
运行应用
安装示例代码
示例代码地址
git clone代码,然后导入到IDEA中
IDEA中配置Glassfish
查看server日志
在IDEA中配置好了之后,可以在IDEA直接看到日志
程序运行截图
用户名默认为:dhb
密码:123456
点击即可登录
读者疑问
-
问:为什么用Java EE体系的技术,spring ,spring boot不香么?
答:技术嘛,无所谓好坏,能解决问题就行。选择适合自己企业的即可
-
问:想要了解更多关于Java EE体系的内容?
答:推荐阅读Java EE8文档,以及运行文档对应示例程序