Java 如何在远程服务器上编译servlet?

Java 如何在远程服务器上编译servlet?,java,tomcat,servlets,Java,Tomcat,Servlets,我想在远程ApacheTomcat服务器上上传我的servlet文件并编译它。我想知道我应该在哪个目录下保存这个文件,以及如何编译它?我应该用油灰吗?我对Servlets比较陌生。以下是我的servlet代码: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.DriverManager; import java.sql.ResultSet; import javax.servlet.an

我想在远程ApacheTomcat服务器上上传我的servlet文件并编译它。我想知道我应该在哪个目录下保存这个文件,以及如何编译它?我应该用油灰吗?我对Servlets比较陌生。以下是我的servlet代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

@WebServlet(name= "db-connect", urlPatterns="/db-connect")
public class DBConnect extends HttpServlet{

private Connection con = null;
private PreparedStatement preparedStatement = null;


protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
    try
    {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://http://localhost:3307/abc?autoReconnect=true");

        preparedStatement  = con.prepareStatement("SELECT * FROM Person");

        ResultSet rs = preparedStatement.executeQuery();
        while(rs.next())
        {
            String email = rs.getString("email");
            System.out.print(email);
            System.out.println("in");
        }

    }
    catch(Exception e)
    {

    }
}
我还需要对web.xml进行更改吗?

逐一回答:

  • 您不能只部署servlet,必须将其打包到war文件中,然后部署它。现在,如何在war文件中打包内容?或者让您正在使用的IDE为您完成(请参阅您正在使用的相应IDE的帮助),或者使用一些项目管理工具(如maven或ant)为您构建它。我建议从IDE导出war文件开始。如果您使用的是Eclipse,我制作了一个快速的google,发现您可以观看它(我没有完整地观看它,但它似乎是对的)

  • 将web项目导出到war文件,意味着您的servlet类将在其中编译和打包,因此无需在服务器上编译它们。如果您需要在调用时自动编译的东西,那么您需要一个jsp,它在第一次被调用时就被编译了(同样,您也不需要付出任何努力)

  • 手动将war文件传输到服务器(使用putty、remote desktop for windows等)不是一个好主意,因为有一天您可能需要部署到没有远程访问权限的服务器上。对于tomcat,您可以使用tomcat部署管理器(用于远程主机)或IDE(用于上面视频中显示的本地主机)。下面是tomcat部署的示例。然而,我认为您正在寻找的目录是tomcat安装目录中的“webapps”
  • 有关web.xml中的更改。。。这取决于您使用的servlet版本是否低于3.0,然后是的,您应该在web.xml中描述您的servlet(大多数IDE都是这样做的,所以我建议最好先打开您的web.xml,看看您的servlet是否还没有在其中描述)。如果您使用的是Servlet3.0,那么您所要做的就是使用@WebServlet注释对servlet进行注释 为了更好地理解servlets,我建议阅读或(取决于您使用的JavaEE版本)在Oracle网站上开始使用


    希望有帮助。

    完美答案!!非常感谢。