英文:
Deploying a .war application on a tomcat server
问题
我正在尝试在我的Tomcat服务器上部署我的hello.war文件(Java应用程序)。
起初,我是通过Tomcat默认页面上的“Manager App”来进行部署的,然后在应用程序部分显示出来(以下用红圈标出)。
但是,当我尝试通过点击该链接(https://ip-address/hello)来连接时,它会显示标准的“HTTP状态404 - 未找到”,并显示描述:“源服务器未找到目标资源的当前表示,或者不愿意透露存在目标资源。”(下图)
我甚至尝试将我的hello.war文件手动放入服务器的适当文件夹位置(“/opt/tomcat/apache-tomcat-9.0.33/webapps”),并在.war文件上添加了其他人的读取、执行权限,将用户“tomcat”添加为文件的所有者,然后重新启动服务。
但是仍然没有任何帮助,我仍然得到404错误。
英文:
I am trying to deploy my hello.war file (Java application) on my tomcat server.
At first I do it from the "Manager App" on tomcat's default page, and it shows off afterwards in the Applications section. (Attached below circled in red)
But when I try to connect to it by clicking on that link (https://ip-address/hello) it gives me a standard "HTTP Status 404 – Not Found" with the description: "The origin server did not find a current representation for the target resource or is not willing to disclose that one exists." (picture below)
I even try putting my hello.war file manually in the server in the appropriate folder location ("/opt/tomcat/apache-tomcat-9.0.33/webapps") and add read, execute permissions to 'others' on the .war file, add user 'tomcat' as the owner of the file, restart the service.
But still nothing seems to help and I still get that 404
答案1
得分: 1
这意味着在应用程序中您没有默认的起始页面。在WebContent
下创建index.html
并刷新页面。为了测试,您可以在index.html
中放置任何内容,例如:
<html>
<head>
<title>Hello world</title>
</head>
<body>
欢迎访问我的应用程序
</body>
</html>
查看此链接以获取更多信息。
[更新]
--- 根据OP的另一个请求(请查看评论)发布以下更新 ---
正如我在评论中提到的,您需要将请求转发到一个JSP(例如queryResults.jsp
),您希望在其中显示查询结果。将以下代码放在您的servlet的doGet
方法末尾:
String nextJSP = "/queryResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request, response);
此代码将自动将请求转发到queryResults.jsp
,您可以在其中访问保存在请求/会话对象中的查询结果。
如有任何疑问/问题,请随意在评论中提问。
英文:
It means you do not have a default start page in the application. Create index.html
under WebContent
and refresh the page. For testing, you can put any content in index.html
e.g.
<html>
<head>
<title>Hello world</title>
</head>
<body>
Welcome to my application
</body>
</html>
Check this to learn more about it.
[Update]
--- Posting the following update based on another request (check comments) from OP ---
As I have mentioned in the comment, you need to forward the request to a JSP (e.g. queryResults.jsp) where you want to show the query result. Put the following code at the end in the doGet
method of your servlet:
String nextJSP = "/queryResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
This code will automatically forward the request to queryResults.jsp
where you can access the query result saved in the request/session object.
Feel free to comment in case of any doubt/issue.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论