通过使用Apache OpenWebBeans,我们可以使用CDI
总结
为了在Apache Tomcat中使用CDI,需要编写和配置pom.xml,这很麻烦。因此,这次打算使用Apache OpenWebBeans来轻松地使用CDI。
前提条件 (Qian2 ti2 tiao2 jian4)
-
- 可以使用Java命令
-
- 可以使用Git
- 可以使用eclipse(如果可以的話)
整体构成
/作業先/
├ Tomcat/
│ ├ apache-tomcat-9.0.22/
│ │ ├ bin/
│ │ │ ├ startup.bat
│ │ │ └ startup.sh
│ │ └ conf/
│ │ ├ Catalina/
│ │ │ └ localhost
│ │ │ └ Sample.xml
│ │ ├ context.xml
│ │ └ logging.properties
│ ├ current -> (/作業先/Tomcat/apache-tomcat-9.0.22/)
│ ├ openwebbeans-distribution-2.0.9
│ │ ├ install_owb_tomcat7.bat
│ │ └ install_owb_tomcat7.sh
│ ├ apache-tomcat-9.0.22
│ └ openwebbeans-distribution-2.0.9-binary.zip
└ quita
└ cdi-sample
└ WebContent
└ WEB-INF
└ beanse.xml
任务流程
-
- 创建一个用于进行本次操作的目录(以下称为”作业先”)。
-
- 在作业先中创建Tomcat目录。
-
- 将Apache Tomcat下载并解压到Tomcat目录中。
为考虑到版本更改时的情况,创建一个指向当前版本的链接。
# Windows操作系统的情况下
mklink /j current apache-tomcat-9.0.22
# Linux操作系统的情况下
ln -s apache-tomcat-9.0.22 ./current
【仅适用于Windows操作系统】为了防止控制台出现乱码,需要修改Apache Tomcat目录内的conf/logging.properties文件。
logging.properties
# 在大约第51行
# 修改前
java.util.logging.ConsoleHandler.encoding = UTF-8
# 修改后
java.util.logging.ConsoleHandler.encoding = SJIS
下载Apache OpenWebBeans并解压到Tomcat目录中。
在Apache OpenWebBeans目录中执行install_owb_tomcat7。
# Windows操作系统的情况下
install_owb_tomcat7.bat ..\current
# Linux操作系统的情况下
install_owb_tomcat7.sh ../current
【仅适用于Windows操作系统】在Apache Tomcat目录内的conf/context.xml文件的””标签中添加一个标签,并按照以下方式修改其内容。
context.xml
WEB-INF/web.xml
WEB-INF/tomcat-web.xml
${catalina.base}/conf/web.xml
在作业先中克隆以下Git仓库
https://gitlab.com/P488/qiita.git
在Apache Tomcat目录内的conf/Catalina/localhost中创建以下内容的xml文件。
Sample.xml
执行位于Apache Tomcat的bin目录中的startup文件。
# Windows操作系统的情况下
startup.bat
# Linux操作系统的情况下
startup.sh
访问localhost:8080/Sample/SampleServlet,并确认是否输出”Served at: “。
总结和感受
这次我使用了Apache OpenWebBeans来在Apache Tomcat上使用CDI。对于Windows系统来说,可能有些麻烦需要手动操作一下,但只需运行.bat/.sh文件就可以简单地使用CDI。我是在eclipse中创建的这个项目,如果你能够的话,也可以尝试进行一些修改。(如果在eclipse中使用,可以通过选择”窗口” -> “首选项” -> “服务器” -> “运行时环境” -> “Tomcat9(Java11)” -> “编辑”来将Tomcat安装目录更改为/作业目录/Tomcat/current)。
如果有错误、问题等,请留言评论。