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を起動する