我的WebApp使用Java注释将URL映射到servlet(@WebServlet),而我没有 web.xml 文件。我想把请求发送到另一个HTML文件,我这样做了:
request.getRequestDispatcher(“/ WEB-INF / test / testpage.html”)。forward(request,response);
它可以工作,但我无法从服务器获得额外的资源(javascript)。
< script type =“text / javascript”src =“testsuite.js”>< / script>
testsuite.js位于/WEB-INF/test/testsuite.js,与testpage.html相同的文件夹。在请求testsuite.js时,我得到404.如何在没有web.xml的情况下配置Tomcat来提供工作树中的所有资源?最糟糕的情况我会简单地嵌入JS。
另外我让eclipse在我的本地机器上安装Web服务器,所以我不知道它们是如何部署的。
答案 0 :(得分:0)
您必须将资源移到WEB-INF
文件夹之外。它是编译的Java代码,jar,配置文件等的特殊文件夹。
出于安全原因,WEB-INF
文件夹在应用程序服务器和servlet容器中受到限制,因此例如,/appname/WEB-INF/web.xml
的请求当然会被定义。
*.html
文件,*.css
文件,*.js
文件,图片等静态资源应放在WEB-INF
文件夹之外,在您的情况下{{1}应该在test
旁边向上移动文件夹。