トップ 一覧 置換 検索 ヘルプ RSS ログイン

Servlet の設定の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://d.hatena.ne.jp/littlebuddha/20100425/1272206006
http://www.javaroad.jp/opensource/js_tomcat2.htm

!!!CentOS 6.2 で Servlet を設定する
* httpd インストール
** yum install httpd
** yum install httpd-tools
* tomcat6 インストール
** yum install tomcat6
** yum install apache-tomcat-apis (DVDの場合はディスク1)
** yum install xalan-j2                   (DVDの場合はディスク1)
** yum install jakarta-taglibs-standard (DVDの場合はディスク2)
** yum install tomcat6-webapps    (DVDの場合はディスク2)
* tomcat 自動起動
** chkconfig tomcat6 on
* tomcat テスト
** localhost:8080/ へアクセス確認
* apache と tomcat の連携
**  sudo vi /etc/httpd/conf.d/tomcat.conf
 <Location /tomcat/>
     # 下の設定は ajp プロトコルで Apache と Tomcat 間の通信を行う
     ProxyPass ajp://localhost:8009/
     # http プロトコルで Apache と Tomcat 間の通信を行いたい場合は
     # 上記の設定をコメント行にして、下記をコメントアウトにする。
     # ProxyPass http://localhost:8080/
 </Location>
**localhost/tomcat/ へアクセス確認
*アプリの配置
** Tomcat5.0からコンテキストの設定方法が変わりました。コンテキストの設定は$CATALINA_HOME\conf\[engine name]\[host name]ディレクトリ配下にコンテキスト名.xmlと言うXMLを作成して行います。
** sudo vi /etc/tomcat6/Catalina/localhost/testapp.xml
 <Context path="/testapp"
 docBase="/var/www/servlet_test"
 reloadable="false"/>
** reloadable は開発以外は false にする。開発時は true。

※ディレクトリ階層を深くする場合は設定ファイル名を「ディレクトリ#アプリ名.xml」にする。
{{word 例えば http://localhost/tomcat/hogehoge/testapp に配置する場合は、 ファイル名を hogehoge#testapp.xml にする。 ,red}}

!!warファイルの設置について
http://www.alles.or.jp/~torutk/oojava/sabbath/deploytomcat.html
Tomcatの場合、$CATALINA_HOME/webappsの下にディレクトリを作成して、warを設置する。server.xml で
 unpackWARs="true"
となっていれば、warが自動で解凍される。

また、<Context>要素のdocBaseにディレクトリを指定した場合は、warファイルを置いても認識されない。<Context>要素でwarファイルを指定する場合は、、docBase属性にwarファイルを指定する。
この場合は、warファイルが$CATALINA_HOME/webappsに解凍される。


!!!HelloWorld
!!ディレクトリ構成を作成する
 approot
      |-WEB-INF
      |        |-classes
      |        |      |-HelloWorld.class
      |        |-lib
      |
      | -web.xml
               |-classes
               |      |-HelloWorld.class
               |-lib
               |
               | -web.xml

!!プログラムを作成
  import java.io.*;
  import javax.servlet.*;
  import javax.servlet.http.*;
  
  public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,
      HttpServletResponse response)
    throws IOException, ServletException
    {
      PrintWriter out;
      
      response.setContentType("text/html; charset=Shift_JIS");
      out = response.getWriter();
      
      out.println("<html><body>");
      out.println("<h1>Hello World!</h1>");
      out.println("<p>Servletのサンプル(HelloServlet.java)</p>");
      out.println("</body></html>");
    }
  }
!!コンパイル
 javac -cp /usr/share/java/apache-tomcat-apis/tomcat-servlet2.5-api.jar:. HelloWorld.java 

!!web.xml の作成
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!DOCTYPE web-app 
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
  
  <web-app>
    <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>HelloWorld</servlet-class>
    </servlet>
    
    <servlet-mapping>
      <servlet-name>
        hello
      </servlet-name>
      <url-pattern>
        /servlet/hello
      </url-pattern>
    </servlet-mapping>
    
  </web-app>
  
!!実行
 http://localhost/tomcat/testapp/servlet/hello
へアクセスして実行。
{{category2 プログラミング言語,Servlet & Struts}}