如何在线部署 java servlet
how to deploy a java servlet online
使用 PHP 编写网站非常容易,因为它总是返回一个 HTML 响应,浏览器可以将其发送给用户。但是如何发布带有java的网站呢?我正在使用 Aruba.it 托管,我创建了一个包含 java 代码的文件,实际上是一个包含此代码的简单 servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Demo")
public class Demo extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("Do get called");;
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("Do post called");
}
}
但是,当我访问 www.mywebsite.com/Demo.java 或简单地访问 /Demo 时,我得到了之前向您展示的代码;
我知道这是一个非常愚蠢的问题,但我不知道该怎么做。当我 运行 一个 PHP 文件时,一切都按预期工作。你会怎么做?
你问的确实是初学者的问题。大多数网络托管服务提供商(如 aruba.it)将他们的 Linux 托管服务基于 Apache httpd 服务器(更广为人知的名称是 Apache),这是一个 Web 容器并支持开箱即用的 php。但是 Java servlet 需要像 Apache Tomcat 这样的 servlet 容器。要设置 servlet 容器,您需要 VPS 而不是共享 Linux 托管。
其次,您提供的代码实际上是一个servlet,需要更详细的步骤和配置才能部署。请看这个教程https://www.tutorialspoint.com/servlets/servlets-packaging.htm
如果您正在寻找类似于 PHP 的内容,请考虑使用 JSP(Java 服务器页面),它允许您嵌入 html。即便如此 JSP 仍然需要像 Tomcat 这样的 servlet 容器来部署 (https://www.codejava.net/servers/tomcat/how-to-deploy-a-java-web-application-on-tomcat)。只是一旦初始设置完成,使用 JSP 你可以将它们放在正确的位置并像 php 页面一样调用它们并期望它们被编译并 运行 自动而不是通过更详细的步骤来设置 servlet
使用 PHP 编写网站非常容易,因为它总是返回一个 HTML 响应,浏览器可以将其发送给用户。但是如何发布带有java的网站呢?我正在使用 Aruba.it 托管,我创建了一个包含 java 代码的文件,实际上是一个包含此代码的简单 servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Demo")
public class Demo extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("Do get called");;
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("Do post called");
}
}
但是,当我访问 www.mywebsite.com/Demo.java 或简单地访问 /Demo 时,我得到了之前向您展示的代码;
我知道这是一个非常愚蠢的问题,但我不知道该怎么做。当我 运行 一个 PHP 文件时,一切都按预期工作。你会怎么做?
你问的确实是初学者的问题。大多数网络托管服务提供商(如 aruba.it)将他们的 Linux 托管服务基于 Apache httpd 服务器(更广为人知的名称是 Apache),这是一个 Web 容器并支持开箱即用的 php。但是 Java servlet 需要像 Apache Tomcat 这样的 servlet 容器。要设置 servlet 容器,您需要 VPS 而不是共享 Linux 托管。
其次,您提供的代码实际上是一个servlet,需要更详细的步骤和配置才能部署。请看这个教程https://www.tutorialspoint.com/servlets/servlets-packaging.htm
如果您正在寻找类似于 PHP 的内容,请考虑使用 JSP(Java 服务器页面),它允许您嵌入 html。即便如此 JSP 仍然需要像 Tomcat 这样的 servlet 容器来部署 (https://www.codejava.net/servers/tomcat/how-to-deploy-a-java-web-application-on-tomcat)。只是一旦初始设置完成,使用 JSP 你可以将它们放在正确的位置并像 php 页面一样调用它们并期望它们被编译并 运行 自动而不是通过更详细的步骤来设置 servlet