相关疑难解决方法(0)

什么是Java EE Web应用程序中使用的WEB-INF?

我正在使用以下源代码结构的Java EE Web应用程序:

src/main/java                 <-- multiple packages containing java classes
src/test/java                 <-- multiple packages containing JUnit tests
src/main/resources            <-- includes properties files for textual messages
src/main/webapp/resources     <-- includes CSS, images and all Javascript files
src/main/webapp/WEB-INF
src/main/webapp/WEB-INF/tags
src/main/webapp/WEB-INF/views
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是WEB-INF- 它包含web.xml用于设置servlet的XML文件,Spring bean连接上下文以及JSP标记和视图.

我试图理解什么约束/定义这个结构.例如JSP文件总是必须在WEB-INF其他地方或者它们可能在其他地方吗?还有其他可能进入的地方WEB-INF吗?维基百科的WAR文件条目提到classes了Java类和libJAR文件 - 除了其他源文件位置之外,还不确定我是否完全掌握了这些文件.

servlets war web-inf java-ee

164
推荐指数
3
解决办法
16万
查看次数

Java:从文件系统加载资源

我的项目设置

我有以下项目设置:

\program.jar  
\images\logo.png
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我使用相对URL引用图像"images/logo.png".

问题

如果我在目录中使用以下命令运行此程序:

c:\projects\program_dir\bin\>java -jar program.jar
Run Code Online (Sandbox Code Playgroud)

然后一切正常,Java能够找到图像.

现在,我的问题是,我需要能够从不同的目录运行该程序.

c:\>java -jar c:\projects\program_dir\bin\program.jar
Run Code Online (Sandbox Code Playgroud)

程序已执行,但现在所有相对URL都不再有效.

我需要的

如何计算program.jar文件的执行主页,以便我可以将相对URL更改为绝对URL?

java file-io resources

2
推荐指数
1
解决办法
8373
查看次数

标签 统计

file-io ×1

java ×1

java-ee ×1

resources ×1

servlets ×1

war ×1

web-inf ×1