tomcat7でhello world(とそれにからむ環境変数なんかのメモ,startup.sh/shutdown.sh、スタートアップスクリプトとか
[root@localhost ~]# cat /etc/profile | tail -14 ###### # Java/tomcat related # 20130507 export PATH=$PATH:/usr/java/default/bin #export CATALINA_BASE=/usr/local/tomcat export CATALINA_HOME=/usr/local/tomcat export CATALINA_TMPDIR=/usr/local/tomcat/temp export JAVA_HOME=/usr/java/default #export CLASSPATH=$CLASSPATH:/usr/java/default/mysql-connector-java-5.1.25-bin.jar export CLASSPATH=$CLASSPATH:${CATALINA_HOME}/lib/servlet-api.jar export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar [root@localhost ~]#
[root@localhost bin]# pwd /usr/local/tomcat/bin [root@localhost bin]# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@localhost webapps]# pwd /usr/local/tomcat/webapps
[root@localhost webapps]# find hiratest hiratest hiratest/WEB-INF hiratest/WEB-INF/lib hiratest/WEB-INF/web.xml hiratest/WEB-INF/classes hiratest/WEB-INF/classes/HelloWorld.java hiratest/WEB-INF/classes/HelloWorld.class [root@localhost webapps]#
[root@localhost webapps]# cat hiratest/WEB-INF/classes/HelloWorld.java 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.getWriter(); out.println("<html>"); out.println("HelloWorld"); out.println("</html>"); out.close(); } }
javac -classpath /usr/local/tomcat/lib/servlet-api.jar HelloWorld.java
[root@localhost webapps]# cat hiratest/WEB-INF/web.xml <?xml version="1.0" encoding="UTF-8"?> <!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> /x/x </url-pattern> </servlet-mapping> </web-app> [root@localhost webapps]#
つづいてhttp getとpostのサンプル
[root@localhost tomcat_test]# pwd /root/workspace/tomcat_test [root@localhost tomcat_test]# cat index.html <html> <body> <br> <form action="/tomcat_test/servlet/hello" method="POST"> キーワード: <input type="text" name="keyword"> <input type="submit" value="submit"> </form> </body> </html> [root@localhost tomcat_test]#
[root@localhost hirasawa]# pwd /root/workspace/tomcat_test/WEB-INF/src/local/hirasawa [root@localhost hirasawa]# cat HelloWorld.java package local.hirasawa; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String keyword = request.getParameter( "keyword" ); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World!</h1>"); out.println("<h1>" + keyword + "</h1>"); out.println("</body>"); out.println("</html>"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { doPost(request, response); } } [root@localhost hirasawa]#
スタートアップスクリプトをセットする
ディフォでは存在しないようなので、
こちらからいただきました。ありがとうございます
http://homepage1.nifty.com/y-osumi/works/code/tomcat7/
[root@localhost init.d]# cat tomcat #!/bin/bash # # Startup script for the Tomcat Servlet Container # # chkconfig: 2345 35 65 # description: Tomcat is the servlet container that is used in the official \ # Reference Implementation for the Java Servlet and JavaServer \ # Pages technologies TOMCAT_USER=tomcat CATALINA_HOME=/usr/local/tomcat . /etc/rc.d/init.d/functions prog=tomcat start() { echo -n $"Starting $prog: " daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then echo_success else echo_failure fi echo [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Stopping $prog: " daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then echo_success else echo_failure fi echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l` if [ $INSTANCES -eq 0 ]; then echo $prog is stopped RETVAL=3 else if [ $INSTANCES -eq 1 ]; then echo $prog is running 1 instance... else echo $prog is running $INSTANCES instances... fi RETVAL=0 fi ;; *) echo $"Usage: $prog {start|stop|restart|status|help}" exit 1 esac exit $RETVAL [root@localhost init.d]# chmod +x tomcat [root@localhost init.d]# c