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
へアクセスして実行。
[通知用URL]
Tweet
最終更新時間:2018年05月20日 22時06分43秒