トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF 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」にする。
例えば http://localhost/tomcat/hogehoge/testapp に配置する場合は、 ファイル名を hogehoge#testapp.xml にする。

 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

 プログラムを作成

 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

へアクセスして実行。

[カテゴリ: プログラミング言語 > Servlet & Struts]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2018年05月20日 22時06分43秒