【问题标题】:How to compile servlet on remote server?如何在远程服务器上编译 servlet?
【发布时间】:2013-08-12 02:36:47
【问题描述】:

我想将我的 servlet 文件上传到我的远程 Apache Tomcat 服务器上并想编译它。我想知道我应该将这个文件保存在哪个目录下以及如何编译它?我应该使用腻子吗?我对 Servlet 比较陌生。这是我的 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 进行更改吗?

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    一一回答:

    1. 您不能只部署 servlet,您必须将其打包到一个 war 文件中,然后再部署它。现在,如何在战争文件中打包一些东西?好吧,要么让你正在使用的 IDE 为你做这件事(请参阅你正在使用的相应 IDE 的帮助),或者你使用一些项目管理工具(如 maven 或 ant)为你构建它。我建议从 IDE 中导出 war 文件开始。如果您使用的是 Eclipse,我快速 google 并找到 this video 可以观看(我还没有完整地观看它,但似乎是正确的)。

    2. 将您的 web 项目导出到 war 文件,意味着您的 servlet 类将被编译并打包在其中,因此无需在服务器上编译它们。如果你需要在调用时自动编译的东西,你需要一个 jsp,它在第一次被调用时被编译(同样没有你的努力)。

    3. 手动将您的war 文件传输到服务器(使用putty、Windows 远程桌面等)并不是一个好主意,因为您可能有一天需要在您没有远程访问权限的服务器上进行部署。对于 tomcat,您可以使用 tomcat 部署管理器(用于远程主机)或您的 IDE(用于您的本地主机,如上面的视频所示)。这是用于 tomcat 部署的the documentation。但是,我认为您要查找的目录是 tomcat 安装目录中的“webapps”。
    4. 对于 web.xml 中的更改...这取决于您使用的 servlet 版本是否低于 3.0,那么是的,您应该在 web.xml 中描述您的 servlet(大多数 IDE 都会为您这样做,所以我建议最好先打开您的 web.xml 并查看您的 servlet 是否尚未在其中描述)。如果您使用的是 servlet 3.0,您所要做的就是使用 @WebServlet 注释来注释您的 servlet。

    为了更好地理解 servlet,我建议阅读 Oracle 网站上的 thisthis(取决于您使用的 Java EE 版本)入门。

    希望对您有所帮助。

    【讨论】:

    • 完美答案!!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2016-05-24
    • 2011-07-16
    相关资源
    最近更新 更多