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