1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway InterfaceWeb HTML Web Web CGI CGI CGI Perl C Java Applet JavaScript Web CGI HTML 1.2 Servlet Java Servlet Servlet CGI Web CGI 1 Java / Java Java CGI Servlet Web Servlet Servlet Web Apache Tomcat Web Web Apache Web Servlet JSP Tomcat Java JDK, Eclipse 1 Web CGI Servlet Web CGI Servlet - 1 p.1
http://www.hajimeteno.ne.jp/ HTML Java Tips http://www.asahi-net.or.jp/ dp8t-asm/java/tips/ Apache Tomcat http://tomcat.apache.org/ 1.3 Java if else for while C class extends C. new import C #include if, else, for, while, class, extends,., new, import Java API : http://java.sun.com/javase/ja/6/docs/ja/api/ Java Platform, Standard Edition 6 Java API (J2SEAPI) http://java.sun.com/javaee/5/docs/api/ Java Platform, Enterprise Edition, v 5.0 Servlet API DISCLAIMER: Servlet Web Servlet Java API 1.4 Servlet CGI Servlet HTML 2 Servlet 2 JPEG PNG HTML CGI Servlet HTML Servlet - 1 p.2
MyDate.java import java.io.ioexception; import java.io.printwriter; import java.util.calendar; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class MyDate extends HttpServlet { String[] youbi = {" ", " ", " ", " ", " ", " ", " "; @Override public void doget(httpservletrequest req, HttpServletResponse res) throws IOException { res.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = res.getwriter(); out.println("<html><head></head><body>"); Calendar cal = Calendar.getInstance(); out.printf("%d %d %d %s %d %d %d %n", cal.get(calendar.year), cal.get(calendar.month)+1, cal.get(calendar.day_of_month), youbi[cal.get(calendar.day_of_week)-1], cal.get(calendar.hour_of_day), cal.get(calendar.minute), cal.get(calendar.second)); out.println("</body></html>"); out.close(); Servlet HttpServlet Servlet Servlet Servlet doget dopost : public void doget(httpservletrequest request, HttpServletResponse response) throws IOException doget/dopost HttpServletRequest HttpServletResponse 2 (request) (response) throws IOException doget IOException Java response.setcontenttype("text/html; charset=windows-31j"); HTML Windows-31J PrintWriter out = response.getwriter(); Servlet - 1 p.3
out printf println, print PrintWriter printf C printf %d %s C printf %n Unix Y=n Windows Y=rY=n Java printf println print %d %s println print out.close() 1.4.1 Servlet 0 19 20 39 40 59 : Calendar (J2SEAPI)/java/util/Calendar.html HTML <font color= red > </font> HTML red "Java C " out.println("<font color=y="redy=">") " Y= 1.4.2 : HTML <body background= > </body> : http://www.3776m.com/sozai/ http://www.ushikai.com/ 1.5 Servlet Servlet Eclipse WTP Eclipse Servlet.class javac -classpath servlet-api.jar MyDate.java servlet-api.jar ServletAPI JAR Java (TOMCAT)/common/lib/servlet-api.jar 3 Servlet MyDate.java MyDate.classServlet : 3 (TOMCAT) Tomcat Tomcat Windows Y= / Servlet - 1 p.4
- Web - WEB-INF - web.xml - classes - class - lib - JAR classes web.xml web.xml : <web-app> <servlet> <servlet-name>mydate</servlet-name> <servlet-class>mydate</servlet-class> </servlet> <servlet-mapping> <servlet-name>mydate</servlet-name> <url-pattern>/mydate</url-pattern> </servlet-mapping> </web-app> MyDate MyDate MyDate /MyDate URL web.xml classes Servlet invoker Tomcat web.xml (TOMCAT)/conf/web.xml <!-- --> <servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.invokerservlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- --> <!-- --> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> <!-- --> Servlet - 1 p.5
/servlet/mydate MyDate : invoker Web Tomcat server.xml (TOMCAT)/conf/server.xml <Server > <Service > <Engine > <Host > <Context path="/infosysenshu" reloadable="true" docbase="c:y=somewherey=infosysenshu" /> </Host> </Engine> </Service> </Server> C:Y=somewhereY=InfoSysEnshu Web InfoSysEnshu web.xml http://hostname:8080/infosysenshu/mydate invoker http://hostname:8080/infosysenshu/servlet/mydate URL MyDate hostname Tomcat IP Servlet WWW hostname localhost 127.0.0.1 1.6 Servlet Java API Servlet 1.7 Web Servlet Servlet - 1 p.6
Counter.java import java.io.bufferedreader; import java.io.file; import java.io.filenotfoundexception; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; import java.io.printwriter; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class Counter extends HttpServlet { @Override public void doget(httpservletrequest req, HttpServletResponse res) throws IOException { res.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = res.getwriter(); out.println("<html><head></head><body>"); int i; File f = new File(getServletContext().getRealPath("/WEB-INF/counter.txt")); try { BufferedReader fin = new BufferedReader(new FileReader(f)); i = Integer.parseInt(fin.readLine()); fin.close(); // close catch (FileNotFoundException e) { i = 0; // 0 catch (NullPointerException e) { i = 0; // 0 catch (NumberFormatException e) { i = 0; // 0 PrintWriter fout = new PrintWriter(new FileWriter(f)); fout.println(++i); fout.close(); // close out.printf(" %d %n", i); out.println("</body></html>"); out.close(); // close counter.txt Web WEB-INF counter.txt 1 getservletcontext().getrealpath( ) WEB getservletcontext HttpServlet getrealpath SevletContext Java API Servlet - 1 p.7
HttpServlet http://java.sun.com/javaee/5/docs/api/ javax/servlet/http/httpservlet.html File f = new File(path); BufferedReader fin = new BufferedReader(new FileReader(f)); fin.close(); FileReader BufferedReader FileReader BufferedReader API fin System.in close() Integer.parseInt Java String int C atoi PrintWriter fout = new PrintWriter(new FileWriter(f)); fout.close(); FileWriter PrintWriter FileWriter PrintWriter API fout System.out print println 1.8 Java Counter.java try catch Java try catch try { 0 catch ( 1 1 ) { 1 catch ( n n ) { n Servlet - 1 p.8
0 try { k k=1 n k 0 k k=1 n counter.txt FileNotFoundException catch 0 1.8.1 10 C % 1.8.2 images 1.png, 2.png CGI 1, 2, <img src=../images/1.png >, <img src=../images/2.png > : Digit Mania http://www.digitmania.holowww.com Counter Art http://www.counterart.com/ 1.8.3 Servlet Tomcat 2 Servlet Counter0.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Counter0 extends HttpServlet { int i=0; // @Override public void doget(httpservletrequest req, HttpServletResponse res) throws IOException { res.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = res.getwriter(); out.println("<html><head></head><body>"); out.printf(" %d ", i++); out.println("</body></html>"); out.close(); // close i++; Servlet - 1 p.9
Tomcat 0 Tomcat 1.8.4 HttpServlet Tomcat Counter0 1.9 Servlet DirIndex.java import java.io.file; import java.io.ioexception; import java.io.printwriter; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class DirIndex extends HttpServlet { @Override public void doget(httpservletrequest req, HttpServletResponse res) throws IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); String path = getservletcontext().getrealpath("/"); // File dir = new File(path); String[] files = dir.list(); // dir out.println("<html><head></head><body>"); out.println("<pre>"); int i; out.printf("%s %n%n", path); for (i=0; i<files.length; i++) { out.println(files[i]); // files out.println("</pre>"); out.println("</body></html>"); out.close(); File list String length 1.9.1 DirIndex.java 3 NEW! old.txt 4 new.txt 1 DirIndex HTML <html><head><title></title></head><body><ul> <li>new.txt NEW!</li> Servlet - 1 p.10
<li>old.txt</li> </ul></body></html> : java.io.file lastmodified java.util.calendar gettimeinmillis : HttpServlet, doget, throws, getservletcontext, getrealpath, File, FileReader, BufferedReader, FileWriter, PrinterWriter,, try catch, length Servlet - 1 p.11