gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 22:08:48 25 4
gpt4 key购买 nike

我想将我的 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 吗?

最佳答案

一一解答:

  1. 你不能只部署servlet,你必须把它打包成一个war文件然后部署它。现在,如何在 war 文件中打包一些东西?那么要么让您使用的 IDE 为您完成(请参阅您正在使用的相应 IDE 的帮助),要么使用一些项目管理工具(例如 maven 或 ant)构建它来为您完成。我建议从从 IDE 导出 war 文件开始。如果您使用的是 Eclipse,我快速搜索了一下并找到了 this video你可以看看(我没看完,但好像还不错)。

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

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

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

希望对您有所帮助。

关于java - 如何在远程服务器上编译servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com