Java调试不会在使用netbeans的windows上展开WAR文件
我有一个复杂的问题要解释 我有一个在Netbeans上编写的项目,该项目将用作intranet应用程序。这是一个动态的web应用程序。它有一些File.IO操作。我的目标是在index.html所在的目录中创建一些文件。因此,我尝试让程序通过以下代码查找目录:Java调试不会在使用netbeans的windows上展开WAR文件,java,file,netbeans,war,tomcat8,Java,File,Netbeans,War,Tomcat8,我有一个复杂的问题要解释 我有一个在Netbeans上编写的项目,该项目将用作intranet应用程序。这是一个动态的web应用程序。它有一些File.IO操作。我的目标是在index.html所在的目录中创建一些文件。因此,我尝试让程序通过以下代码查找目录: Session.getServletContext().getRealPath("Index.jsp"); 但由于java版本不起作用,所以我使用: Session.getServletContext().getCo
Session.getServletContext().getRealPath("Index.jsp");
但由于java版本不起作用,所以我使用:
Session.getServletContext().getContextPath();
现在,它显示了调试的正确路径,但不是完整路径。调试后,我可以在c:/下找到我的文件,而不是在index.html所在的目录下,甚至在我的项目文件夹附近:
所以我查看了webapps下Programfiles下的Apache文件夹,发现我的应用程序文件夹不在那里。它并没有打开war文件,实际上它似乎虚拟地打开了它,并在临时文件夹下创建了一个编号为html的文件。如何让我的Tomcat像linux系统上的Tomcat一样工作,展开war文件,找到正确的文件夹—主web文件夹,读写文件,文件夹等等
此外,我还想在下面添加server.xml解包配置:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
即使你能给我一个线索,我也会很高兴的。
谢谢
卡恩我解决了这个问题。但是还有很多工作要做。所以我在这里一个接一个地写下来 Session.getServletContext.getRealPathIndex.jsp;事实并非如此。但这不是主要问题。在括号中,我们必须写一个文件夹而不是一个文件才能找到父文件夹。更正此错误后,它将再次返回null。因为JavaEE7不支持getRealPath方法。但最终,这将通过改变版本得到解决 在Netbeans IDE的工具栏、工具>>服务器上,我删除了 tomcat服务器。并卸载随附的ApacheTomcat8 Netbeans8,因为当我从 论坛 我还从Apache的官方网站下载了ApacheTomcat7 已安装的服务 我为管理员权限配置了tomcat-users.xml配置文件 我在同一个工具栏的netbeans上添加了Tomcat7服务器 工具>>服务器 我在项目中看到的是服务器不在那里。我进去了 从“菜单>运行”和“服务器”组合框中选择“项目属性” 空的因为我使用的是JavaEE7,Tomcat7至少需要Java EE6。所以我需要更改JavaEE版本 怎么办: 单击“项目”选项卡附近的“文件”选项卡。在nbproject文件夹下,选择j2ee.platform,对于Tomcat7,将平台更改为1.6 Tomcat6>Jave EE 1.5。而不是在项目上进行清理和构建。 现在服务器将出现在Project>properties>Run>Servers 在那之后,我遇到了另一个问题:你也可能: NetBeans的Tomcat日志显示: -“127.0.0.1*”不被识别为内部或外部命令
要更正这一点:@Everv0id-您可能需要稍微澄清一下这一说法。大多数web应用程序至少需要一些IO操作。