Manabu Nakamura C:\>cd webapps\examples\web-inf\classes C:\>javac -classpath.;..\..\..\..\common\lib\servlet. jar HelloServlet.java % cd webapps/examples/web-inf/classes % javac -classpath.\;../../../../common/lib/servlet. jar HelloServlet.java % cd webapps/examples/web-inf/classes % javac -classpath.:../../../../common/lib/servlet.jar HelloServlet.java 128 JAVA Developer 2002/09
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>hello</title> </head> <body> <font size="+2">hello, <%= request.getheader("user-agent") %>!</font> </body> </html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>expressions</title> </head> <body> <font size="+2">1 + 2 + 3 = <%= 1 + 2 + 3 %></font> <br> <font size="+2">the square root of 2 = <%= java.lang.math.sqrt2 %></font> </body> </html> public class HelloServlet extends javax.servlet.http.httpservlet { public void dogetjavax.servlet.http.httpservletrequest request, javax.servlet.http.httpservletresponse response throws javax.servlet.servletexception, java.io.ioexception { response.setcontenttype"text/html"; java.io.printwriter out = response.getwriter ; out.println"<!doctype HTML PUBLIC\r\n"; out.println"\"-//w3c//dtd HTML 4.01"; out.println"transitional//en\">"; out.println"<html>"; out.println"<head>"; out.println"<title>hello Servlet</title>"; out.println"</head>"; out.println"<body>"; out.println"<font size=\"+2\">hello,"; out.printrequest.getheader"user-agent"; out.println"!</font>"; out.println"</body>"; out.println"</html>"; 129
out.write"<!doctype HTML PUBLIC\r\n\"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n<html>\r\n"; out.write"<head>\r\n<title>hello</title>\r\n</head>\r\n<body>\r\n<font size=\"+2\">hello,\r\n"; out.printrequest.getheader"user-agent"; out.write"!</font>\r\n</body>\r\n</html>\r\n"; public class HelloServlet extends javax.servlet.http.httpservlet { public class HelloServlet { % telnet localhost 8080Enter GET /examples/servlet/helloservlet HTTP/1.0Enter User-Agent: everyoneenter Enter 130 JAVA Developer 2002/09
GET /examples/servlet/helloservlet HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 Windows; U; Win 9x 4.90; ja-jp; rv:1.0.0 Gecko/20020530 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/xmng,image/png,image/jpeg,image/gif;q=0.2,text/css,/;q=0.1 Accept-Language: ja, en-us;q=0.66, en;q=0.33 Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: Shift_JIS, utf-8;q=0.66, ;q=0.66 Keep-Alive: 300 Connection: keep-alive Cache-Control: max-age=0 % telnet localhost 8080Enter Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /examples/servlet/helloservlet HTTP/1.0Enter User-Agent: everyoneenter Enter HTTP/1.1 200 OK Content-Type: text/html Connection: close Date: XXX, XX XXX 2002 XX:XX:XX GMT Server: Apache Tomcat/4.0.3 HTTP/1.1 Connector <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>hello Servlet</title> </head> <body> <font size="+2">hello, everyone!</font> </body> </html> Connection closed by foreign host. 131
public class HelloServlet extends javax.servlet.http.httpservlet { public void doget(javax.servlet.http.httpservletrequest request, javax.servlet.http.httpservletresponse response) throws javax.servlet.servletexception, java.io.ioexception { response.setcontenttype("text/html"); java.io.printwriter out = response.getwriter(); out.println("<!doctype HTML PUBLIC"); out.println("\"-//w3c//dtd HTML 4.01 Transitional//EN\">"); out.println("<html>"); out.println("<head>"); out.println("<title>hello (Servlet)</title>"); out.println("</head>"); out.println("<body>"); out.print("<font size=\"+2\">hello, "); out.print(request.getheader("user-agent")); out.println("!</font>"); out.println("</body>"); out.println("</html>"); 132 JAVA Developer 2002/09
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>confirmation</title> </head> <body> <font size="+2"><%= out.getclass %> extends javax.servlet.jsp.jspwriter.</font> </body> </html> java.io.printwriter javax.servlet.jsp.jspwriter 133
134 JAVA Developer 2002/09 $CATALINA_HOME/common/lib/servlet.jar javax.servlet.http.httpservletrequest javax.servlet.http.httpservletresponse
package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import org.apache.jasper.runtime.*; public class hello$jsp extends HttpJspBase { public void _jspservice(httpservletrequest request, HttpServletResponse response) throws java.io.ioexception, ServletException { JspFactory _jspxfactory = null; PageContext pagecontext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; _jspxfactory = JspFactory.getDefaultFactory(); response.setcontenttype("text/html;charset=iso-8859-1"); pagecontext = _jspxfactory.getpagecontext(this, request, response, "", true, 8192, true); application = pagecontext.getservletcontext(); config = pagecontext.getservletconfig(); session = pagecontext.getsession(); out = pagecontext.getout(); <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>get or POST</title> </head> <body> <form method="get" action="hello.jsp"> <input type="submit" value="get /examples/developer/hello.jsp"> </form> <form method="post" action="hello.jsp"> <input type="submit" value="post /examples/developer/hello.jsp"> </form> <form method="get" action="/examples/servlet/helloservlet"> <input type="submit" value="get /examples/servlet/helloservlet"> </form> <form method="post" action="/examples/servlet/helloservlet"> <input type="submit" value="post /examples/servlet/helloservlet"> </form> </body> </html>... C:\>jar tf servlet.jarc:\>jar xf jakarta-servletapi-4- src.zip 135
public void dopostjavax.servlet.http.httpservletrequest request, javax.servlet.http.httpservletresponse response throws javax.servlet.servletexception, java.io.ioexception { dogetrequest, response; 136 JAVA Developer 2002/09
LoadModule jk_module modules/mod_jk.so JkWorkersFile /usr/local/jakarta-tomcat-4.0.3-le-jdk14/conf/workers.properties JkLogFile /usr/local/jakarta-tomcat-4.0.3-le-jdk14/logs/mod_jk.log JkLogLevel warn JkMount /examples/ ajp13 workers.tomcat_home=/usr/local/jakarta-tomcat-4.0.3-le-jdk14 workers.java_home=/usr/j2se ps=/ worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 worker.ajp13.lbfactor=1 137