1

リモート Apache Tomcat サーバーにサーブレット ファイルをアップロードしてコンパイルしたいと考えています。このファイルをどのディレクトリに保存すればよいか、またどのようにコンパイルすればよいか知りたいと思っていました。パテを使うべきですか?私はサーブレットに比較的慣れていません。ここに私のサーブレットコードがあります:

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 を変更する必要がありますか?

4

1 に答える 1

3

1つずつ答えます:

  1. サーブレットのみをデプロイすることはできません。war ファイルにパックしてからデプロイする必要があります。では、war ファイルに何かをパックする方法は? 使用している IDE に任せるか (使用している対応する IDE のヘルプを参照)、maven や ant などのプロジェクト管理ツールを使用してビルドします。IDE から war ファイルをエクスポートすることから始めることをお勧めします。Eclipse を使用している場合は、Google ですばやく検索したところ、このビデオを視聴できることがわかりました (最後まで見ていませんが、正しいようです)。

  2. Web プロジェクトを war ファイルにエクスポートすると、サーブレット クラスがコンパイルされてその中にパックされるため、サーバー上でコンパイルする必要がなくなります。呼び出されたときに自動的にコンパイルされるものが必要な場合は、最初に呼び出されたときにコンパイルされる jsp が必要です (ここでも、あなたの側からの努力は必要ありません)。

  3. war ファイルをサーバーに手動で転送することはお勧めできません (パテ、Windows 用のリモート デスクトップなどを使用)。tomcat の場合、Tomcat デプロイ マネージャー (リモート ホストの場合) または IDE (上記のビデオに示されているようにローカル ホストの場合) を使用できます。Tomcat の展開に関するドキュメントは次のとおりです。ただし、ホームを見ているディレクトリは、Tomcatインストールディレクトリの「webapps」だと思います。
  4. web.xml の変更について... サーブレット バージョン 3.0 未満を使用しているかどうかによって異なります。その場合は、web.xml にサーブレットを記述する必要があります (ほとんどの IDE はそれを行うので、提案します)最初に web.xml を開いて、サーブレットがまだそこに記述されていないかどうかを確認してください)。サーブレット 3.0 を使用している場合は、サーブレットに @WebServlet アノテーションを付けるだけです。

サーブレットをよりよく理解するために、Oracle の Web サイトで開始するために、これまたはこれ(使用している Java EE のバージョンに応じて)を読むことを提案します。

それが役立つことを願っています。

于 2013-08-10T05:58:23.420 に答える