我似乎无法弄清楚alternatedocroot。我查看了有关 stackoverflow 的其他问题,以及 glassfish 的 Oracle 文档(但它们对我来说就像泥巴一样清晰)。
我有一个带有 web、ejb、ear 和聚合器/父模块的 maven 项目。在 web 模块/项目中,我添加了一个 glassfish-web.xml 文件,其中包含以下条目:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<property name="alternatedocroot_1" value="from=/images/* dir=/images " />
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
我在 Linux 机器的根目录上创建了一个图像目录(一旦我解决了这个问题,我会把它放在其他地方)并在其中放入一个“picture.png”文件。我做了一个 chmod -R 777 /image 所以权限应该不是问题。
Welcome.xhtml 是这样的:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html">
<h:head>
</h:head>
<h:body>
Hello World
<h:graphicImage url="/MyProject-web/images/picture.png"
height="200"
width="960" />
</h:body>
</html>
我在运行项目时看到的只是
“Hello World”
这是运行时浏览器中的 URL:
http://localhost:8080/MyProject-web/
有人可以帮我解决 xhtml 文件中的属性/目录设置/和图像 url 吗?