我想在我的远程Apache Tomcat服务器上传我的servlet文件并想要编译它。我想知道我应该在哪个目录下保存这个文件以及如何编译它?我应该用Putty吗?我对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进行更改?
答案 0 :(得分:3)
逐一回答:
您不能仅部署servlet,必须将其打包到war文件中然后部署它。现在,如何在war文件中打包?好吧,你要么让你用的IDE为你做(请参阅你正在使用的相应IDE的帮助),或者你用一些项目管理工具(如maven或ant)为你做这个。我建议从IDE中导出war文件开始。如果你正在使用Eclipse,我做了一个快速谷歌,发现this video你可以看到它(我没有看到它的端到端,但似乎没错。)
将您的Web项目导出到war文件,意味着您的servlet类将被编译并打包在其中,因此无需在服务器上编译它们。如果你需要在调用时自动编译的东西,你需要一个jsp,它在第一次被调用时被编译(再次没有你方的努力)。
为了更好地理解servlet,我建议您阅读this或this(取决于您正在使用的Java EE版本),开始使用Oracle的网站。
希望有所帮助。