Eclipse JSP/Servlet 環境構築

この記事では、JDK 環境がインストールされていることを前提としています。未インストールの場合は、以下を参照してください。Java 開発環境の構成。

Eclipse を使用して JSP 開発環境を構築できます。まず、ソフトウェアパッケージをそれぞれダウンロードしましょう:


Tomcat のダウンロードとインストール

お使いのシステムに応じて対応するパッケージをダウンロードできます(以下は Windows システムを例とします):

ダウンロード後、圧縮パッケージを D ドライブに解凍します(任意の場所を選択できます):

ディレクトリ名に中国語とスペースを含めることはできないことに注意してください。ディレクトリの説明は次のとおりです:

  • bin:バイナリ実行ファイル。その中で最もよく使われるファイルはstartup.batです。Linux または Mac システムの場合、起動ファイルはstartup.sh。
  • conf: 設定ディレクトリ。その中で最も中心となるファイルはserver.xmlです。この中でポート番号などを変更できます。デフォルトのポート番号は 8080 です。つまり、このポート番号は他のアプリケーションで占有されてはなりません。
  • lib:ライブラリファイル。Tomcat の実行時に必要な jar パッケージが置かれているディレクトリ
  • logs:ログ
  • temp:一時的に生成されるファイル、つまりキャッシュ
  • webapps:Web アプリケーション。Web アプリケーションをこのディレクトリに置くと、ブラウザで直接アクセスできます。
  • work:コンパイル後の class ファイル。

次に、startup.bat をダブルクリックして Tomcat を起動します。次のような画面が表示されます:

この時点で、ローカルサーバーが構築されています。サーバーを停止したい場合は、上のウィンドウを直接閉じるか、その中で Ctrl+C を入力してサービスを停止できます。

次に、ブラウザで次のアドレスを入力します。http://localhost:8080/、次のような画面が表示されれば、Tomcat のインストールが成功し、起動していることを示します:

ブラウザで試してみましょう:

まず、D:\apache-tomcat-8.0.14\webapps\ROOT ディレクトリに新しい jsp ファイルを作成します:

test.jsp ファイルのコードは次のとおりです:

<%@ page contentType="text/html;charset=UTF-8" %>
<%
out.print("サンプル : http://www.example.com");
%> 

次に、ブラウザで次のアドレスにアクセスします。http://localhost:8080/test.jsp、出力結果は次のとおりです:


Tomcat と Eclipse を関連付ける

Eclipse J2EE をダウンロードしたら、解凍するだけで使用できます。Java EE を開き、メニューバーから Windows-->preferences を選択します(Mac システムでは Eclipse-->環境設定)。次のような画面が表示されます:

上の図で、「add」の追加ボタンをクリックすると、次のような画面が表示されます:

オプションで、対応する Tomcat バージョンを選択し、次に「Next」をクリックして、Tomcat のインストールディレクトリを選択し、インストールした Java 環境を選択します:

「Finish」をクリックして、構成を完了します。

インスタンスの作成

「File-->New-->Dynamic Web Project」を選択して、TomcatTest プロジェクトを作成します:

上の図の赤い枠の部分をクリックすると、次のような画面が表示されます:

以前にインストールした Tomcat と JDK がデフォルトで選択されている場合は、この手順をスキップできることに注意してください。

次に、「Finish」をクリックして続行します:

プロジェクトのファイル構造:

上の図の各ディレクトリの説明:

  • deployment descriptor:デプロイメントの記述。
  • Web App Libraries:自分で追加したパッケージをここに置くことができます。
  • build:コンパイル後のファイルを置きます。
  • WebContent:作成したページを置きます。

WebContent フォルダーの下に新しい test.jsp ファイルを作成します。次の図でそのデフォルトコードを確認できます:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

次に、test.jsp ファイルのコードを次のように変更します:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>サンプル</title>
</head>
<body>
<%
    out.println("Hello World!");
%>
</body>
</html>

プログラムを実行する前に、ブラウザのオプションを変更しましょう:

次に、このプロジェクトを実行します:

実行時に、次のようなエラーが表示されます:(このエラーがない場合は無視してください)

原因は、以前に Tomcat インストールパッケージ内の startup.bat をクリックしたため、手動で Tomcat サーバーを起動してしまったことです。プログラムの実行時には Eclipse が自動的に Tomcat サーバーを起動するため、これは明らかに不要です。したがって、まず Tomcat ソフトウェアを手動で停止し、再度プログラムを実行すれば問題ありません。コンソール情報は次のとおりです:

ブラウザでアクセスhttp://localhost:8080/TomcatTest/test.jspすると、正常な結果が出力されます:


Servlet インスタンスの作成

上記の環境を使用して Servlet ファイルを作成することもできます。「File-->New-->Servlet」を選択します:

TomcatTest プロジェクトの /TomcatTest/src ディレクトリに "HelloServlet" クラスを作成します。パッケージは "com.サンプル.test" です:

HelloServlet.java のコードは次のとおりです:

package com.サンプル.test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 使用 GBK 设置中文正常显示
        response.setCharacterEncoding("GBK");
        response.getWriter().write("サンプル:http://www.example.com");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

/TomcatTest/WebContent/WEB-INF/web.xml ファイル(ない場合)を作成します。コードは次のとおりです:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  <servlet>  
     <!-- 类名 -->  
    <servlet-name>HelloServlet</servlet-name>  
    <!-- 所在的包 -->  
    <servlet-class>com.サンプル.test.HelloServlet</servlet-class>  
  </servlet>  
  <servlet-mapping>  
    <servlet-name>HelloServlet</servlet-name>  
    <!-- 访问的网址 -->  
    <url-pattern>/TomcatTest/HelloServlet</url-pattern>  
    </servlet-mapping>  
</web-app>  

次に Tomcat を再起動し、ブラウザでアクセスします。http://localhost:8080/TomcatTest/HelloServlet:

参考記事:http://www.cnblogs.com/smyhvae/p/4046862.html

その他の拡張