jreでなくsdkををjreと同様にインストールして
export CATALINA_HOME=/usr/local/tomcat export JRE_HOME=/usr/local/java/jdk1.6.0_11 $CATALINA_HOME/bin/startup.sh
$ cd ~ $ mkdir java $ cd java
HelloWorldServlet.javaを作成
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldServlet extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// ContentTypeを設定
response.setContentType("text/html; charset=Shift_JIS");
// 出力用PrintWriterを取得
PrintWriter out = response.getWriter();
// 出力
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello JE2ISM");
out.println("</body>");
out.println("</html>");
}
}
.bash_profileに以下を追加
JAVA_HOME=/usr/local/java/jdk1.6.0_11 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/common/lib/servlet-api.jar export JAVA_HOME PATH CLASSPATH
$ source .HelloWorldServlet.java $ javac HelloWorldServlet.java
エラーなしで HelloWorldServlet.classが出来ている
$ su # cp HelloWorldServlet.class /usr/local/tomcat/webapps/servlets-examples/WEB-INF/classes/ # cd /usr/local/tomcat/webapps/servlets-examples/WEB-INF
web.xmlに以下を追加
<servlet>
<servlet-name>HelloWorldExample</servlet-name>
<servlet-class>HelloWorldExample</servlet-class>
</servlet>
<!-- 以下を追加 -->
<servlet>
<servlet-name>HelloWorldServlet</servlet-name> <=サーブレット名
<servlet-class>HelloWorldServlet</servlet-class> <=クラス名を指定
</servlet>
<!-- ここまで -->
(略)
<servlet-mapping>
<servlet-name>HelloWorldExample</servlet-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</servlet-mapping>
<!-- 以下を追加 -->
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/servlet/HelloWorldServlet</url-pattern> <=アクセスURLを指定(1)
</servlet-mapping>
<!-- ここまで -->
tomcat再起動
# $CATALINA_HOME/bin/shutdown.sh # $CATALINA_HOME/bin/startup.sh
http://(サーバIP):8080/servlets-examples/servlet/HelloWorldServlet
^^^^^^^^^^^^^^^^^^^^^^^^^^ここが(1)と一致
で確認
●webapps 配下にディレクトリをつくる ●WEB-INFディレクトリをつくる。 ●WEB-INFディレクトリには、lib,web.xml,classesをつくる。
classesフォルダに
HelloWorldServlet.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>HelloWorldServlet</servlet-name> <servlet-class>HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name> HelloWorldServlet </servlet-name> <url-pattern> /servlet/ism </url-pattern> </servlet-mapping> </web-app>
その後
$ cd classes $ javac HelloWorldServlet.java
HelloWorldServlet.classを確認し、tomcatを再起動
アクセスは
http://(サーバIP):8080/ism/servlet/ism
$ cd webapps/ism $ jar cvf ism.war .⁄* マニフェストが追加されました。 WEB-INF/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました) WEB-INF/web.xml.org を追加中です。(入 = 9432) (出 = 2020)(78% 収縮されました) WEB-INF/web.xml~ を追加中です。(入 = 452) (出 = 246)(45% 収縮されました) WEB-INF/lib/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました) WEB-INF/classes/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました) WEB-INF/classes/HelloWorldServlet.class を追加中です。(入 = 900) (出 = 526) (41% 収縮されました) WEB-INF/classes/HelloWorldServlet.java を追加中です。(入 = 650) (出 = 327)(49% 収縮されました) WEB-INF/web.xml を追加中です。(入 = 438) (出 = 246)(43% 収縮されました)
これでism.warが作成される
あとはtomcat停止して、ism.warをwebappsの下にコピーしてtomcatを起動する