GET Servlet URL? Query String Servlet print Query String Servlet doget 1 HttpServletRequest getqueryst

Similar documents
2 GET POST Servlet Servlet Servlet CGI/Servlet GET POST 2 GET URL? FORM GET : POST HT

HighLight.java import java.io.bufferedreader; import java.io.file; import java.io.fileinputstream; import java.io.ioexception; import java.io.inputstr

II 2 p.2 2 GET POST form action URL Aisatsu 2.1 Servlet GET GET : Query String QueryStringTest.java 1 import java.io.ioexception; 2 import java.io.pri

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

PowerPoint プレゼンテーション

メディプロ1 Javaサーブレット補足資料.ppt

PowerPoint Presentation

Microsoft PowerPoint - Lecture_3

Servlet JSP JSP Servlet/JSP における 日 本 語 の 処 理 - 1

Web JavaScript Java Applet Flash ActionScript CGI (C, perl, ruby ) PHP Servlet, JSP (JavaServer Pages) ASP 7-2

9iAS_DEV.PDF

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

スライド 1

B2-Servlet-0112.PDF

スライド 1

Microsoft PowerPoint - Lecture_2

データ構造とアルゴリズム論

Servlet/JSP ( 作成中 ) 2010 年 x 月 x 日作成 Firebird 日本ユーザー会 Naoyuki Sano 1

データ構造とアルゴリズム論

Web Servlet/JSP JSP

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

K227 Java 2

オブジェクト指向プログラミング・同演習 5月21日演習課題

Gartner Day

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a

HTML/JSP/Servlet... 7 JSP... 7 Servlet Struts Struts Struts FormBean LoginForm

1 Java Java GUI , 2 2 jlabel1 jlabel2 jlabel3 jtextfield1 jtextfield2 jtextfield3 jbutton1 jtextfield1 jtextfield2 jtextfield3

JAVA H13 OISA JAVA 1

hands_on_4.PDF

新・明解Java入門

r1.dvi

データ構造とアルゴリズム論

第13回講義

Part1 159 a a


Q&A集

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar

I. EspressReport 100%Java JSP API II. EspressReport Report Designer Report Designer - Report Designer Web Java Web Web Report Designer import java.awt

java_servlet2_見本

JavaScript の使い方

Java演習(4) -- 変数と型 --

インターネットマガジン2001年4月号―INTERNET magazine No.75

"CAS を利用した Single Sign On 環境の構築"

~/WWW-local/compIID (WWW IID ) $ mkdir WWW-local $ cd WWW-local $ mkdir compiid 3. Emacs index.html n (a) $ cd ~/WWW/compIID

PowerPoint Presentation

PowerPoint Presentation

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value =

6 2 1

h1,..., h6: (heading) h1 h2 table: table tr (table row) tr td (table data) ol, ul: (ordered) (unordered) </tag1> </tag4> 1: HTML [1] html: Web HTML he

--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Programming-C-9.key

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

r02.dvi

ohp02.dvi

FY01H2_SOHO_iAS

cxml.book

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

( ) p.1 x y y = ( x ) 1 γ γ = filtergamma.java import java.applet.*; public class filtergamma extends Applet{ Image img; Image new_img; publi

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

WebOTXマニュアル

6 2 s µ µµµ µµµµ µ µ h µs µ µµµµ µ µ µ s mµµµµµ µµµ µµ µ u m µmµµµµµ µµ µ µ µ µ µ µ µ µ s 1

Oracle9iAS Containers for J2EEチュートリアル

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Web


(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C

Microsoft PowerPoint - oas4082_NewFeature.ppt[fiLJݔæ‡è’êŠp]

デジタル表現論・第6回

HTML web HTML HTML

PowerPoint Presentation

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  


untitled

次のように編集を行う 1. 改行を挿入するには <br> タグ 例 ) 世界の都市めぐり <br> ~~~あれこれをご紹介します <br> ~~~ 名所めぐり <br> ~~~ヨーロッパの町並み <br> 2. 段落を区切るには <p> ~ </p> タグ 例 )<p> 世界の都市めぐり </p>

PowerPoint プレゼンテーション

アルゴリズムとデータ構造1

JavaプログラミングⅠ

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap


Microsoft PowerPoint - prog13.ppt

JAVA 11.4 PrintWriter 11.5

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML

例外処理とファイル入出力

Microsoft PowerPoint - prog13.ppt

ALG ppt

アプレットの作成

class IntCell { private int value ; int getvalue() {return value; private IntCell next; IntCell next() {return next; IntCell(int value) {this.value =

File IO

WAS V8.5.5 SAML認証構成ガイド - Liberty Profile編

問題1 以下に示すプログラムは、次の処理をするプログラムである

untitled

: : : TSTank 2


2: 3: A, f, φ f(t = A sin(2πft + φ = A sin(ωt + φ ω 2πf 440Hz A ( ( 4 ( 5 f(t = sin(2πf 1t + sin(2πf 2 t = 2 sin(2πt(f 1 + f 2 /2 cos(2πt(f 1 f

Transcription:

3 GET POST 3.1 Servlet GET Servlet Servlet Servlet CGI/Servlet GET POST 2 GET : Servlet HiLite.java HiLite.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HiLite extends HttpServlet { @Override public void doget(httpservletrequest request, HttpServletResponse response) throws IOException { response.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = response.getwriter(); out.println("<html><head></head><body><pre>"); // HiLite.java WEB File f = new File(getServletContext().getRealPath("/HiLite.java")); String word = request.getquerystring(); InputStreamReader fr = new InputStreamReader (new FileInputStream(f), "Windows-31J"); BufferedReader in = new BufferedReader(fr); while(true) { String line = in.readline(); if (line==null) break; line = line.replace("&", "&"); line = line.replace("<", "<"); line = line.replace(">", ">"); if (word!=null && word.length()!=0) { line = line.replace(word, "<font color= red >"+word+"</font>"); out.println(line); out.println("</pre></body></html>"); out.close(); - 3 p.1

GET Servlet URL? Query String Servlet http://localhost:8080/softengenshu/hilite?print print Query String Servlet doget 1 HttpServletRequest getquerystring() String word = request.getquerystring(); URL? word line = line.replace(word, "<font color= red >"+word+"</font>"); replace < > HTML line = line.replace("&", "&"); line = line.replace("<", "<"); line = line.replace(">", ">"); <, > HiLite.java http://localhost:8080/softengenshu/hilite?print print 3.1.1 MyCalerdar?200410 2004 10 Servlet : y m d Zellar static int Zellar(int y, int m, int d) { if (m<3) { // 1 2 13 14 y--; m+=12; return (y + y/4 - y/100 + y/400 + (13*m+8)/5 + d) % 7; // 0 1... 6 3.1.2 images 1.png, 2.png,... Servlet SlideShow.java : request.getquerystring() null 1.png n HTML - 3 p.2

<html><head><title> n </title></head><body> <div align= center > <img src= images/n.png /><hr/> <a href= SlideShow?n-1 > </a> <a href= SlideShow?n+1 > </a> </div> </body></html> SlideShow 3.2 Form HTML : Aisatsu.html <form action= servlet/aisatsu method= post > <br/> <input type= text size= 10 name= family /> <input type= text size= 10 name= given /><br/> <input type= submit value= /> </form> <form... > </form> <input... > <form action= URI method= post > </form> URI CGI/Servlet URI method= post method= get URI? GET CGI/Servlet GET POST <input type= text size= n name= namae /> n namae type= text type= password * <input type= checkbox name= namae value= str /> str CGI/Servlet value on checked - 3 p.3

<input type= radio name= namae value= str /> namae str CGI/Servlet checked <input type= hidden name= namae value= str /> hidden CGI/Servlet <input type= submit value= str /> CGI/Servlet str <input type= reset value= str /> str <textarea cols= haba rows= takasa name= namae > </textarea> haba takasa 3.3 Servlet POST POST Servlet doget dopost dopost name 1 =value 1 &name 2 =value 2 &... &name n =value n name 1, name 2,... input textarea name value 1, value 2,... value value Servlet dopost 1 HttpServletRequest getparameter getparameter name getparameter value %8D%81%90%EC%91%E5%8Aw Windows-31J - 3 p.4

: Aisatsu.html Servlet Aisatsu.html Aisatsu.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Aisatsu extends HttpServlet { @Override public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException { response.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = response.getwriter(); out.println("<html><head></head><body>"); request.setcharacterencoding("windows-31j"); String family = request.getparameter("family"); String given = request.getparameter("given"); out.println(","+family+" "+given+"!"); out.println("</body></html>"); out.close(); request.setcharacterencoding("windows-31j"); setcharacterencoding 1 Windows- 31J JISAutoDetect Shift-JIS, EUC-JP, ISO 2022 JP 3.3.1 Servlet HTML Servlet 1 HTML Aisatsu.html - 3 p.5

3.3.2 HiLite Servlet : Web HTML Servlet HTML GuestBook.html <html><head><title> </title></head> <body> <form action= servlet/guestbook method= post > <br> <table> <tr><td> :</td><td><input type= text size= 30 name= /></td></tr> <tr><td> :</td> <td><input type= text size= 30 name= /></td></tr> <tr><td> :</td> <td><input type= text size= 30 name= /></td></tr> <tr><td> </td> <td><textarea name= rows= 5 cols= 30 ></textarea></td> </table> <input type= submit value= /><input type= reset value= /> </form> </body> </html> Servlet tmp Guests.html tmp.html tmp.html Guests.html - 3 p.6

Guests.html Guests.html <?xml version="1.0" encoding="shift_jis"?> <html xmlns="http://www.w3.org/1999/xhtml"> <html><head><title> </title></head> <body> <h1 align= center > </h1> <hr> <!-- OWARI --> </body> </html> GuestBook.java 1 import java.io.*; import java.util.*; // Enumeration import javax.servlet.*; import javax.servlet.http.*; public class GuestBook extends HttpServlet { GuestBook.java 2 @Override public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException { response.setcontenttype("text/html; charset=windows-31j"); request.setcharacterencoding("windows-31j"); PrintWriter out = response.getwriter(); out.println("<html><head></head><body>"); File f = new File(getServletContext().getRealPath("/Guests.html")); BufferedReader fin = new BufferedReader (new InputStreamReader(new FileInputStream(f), "Windows-31J")); File tmp = new File(getServletContext().getRealPath("/tmp.html")); PrintWriter fout = new PrintWriter (new OutputStreamWriter(new FileOutputStream(tmp), "Windows-31J")); while (true) { String line = fin.readline(); if (line.trim().equals("<!-- OWARI -->")) break; fout.println(line); //... 2 Guests.html, tmp.html 2 <!-- OWARI --> Guests.html tmp.html - 3 p.7

GuestBook.java 3 fout.println("<table border>"); Enumeration keys = request.getparameternames(); while (keys.hasmoreelements()) { fout.print("<tr>"); String left = (String)keys.nextElement(); String right = request.getparameter(left); fout.print("<td>"+left+"</td>"); fout.print("<td>"+right+"</td>"); fout.print("</tr>"); fout.println("</table>"); fout.println("<hr>"); getparameternames name Enumeration Enumeration hasmoreelements nextelement nextelement Object String Enumeration Java API : http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/enumeration.html GuestBook.java 4 fout.println("<!-- OWARI -->"); while (true) { String line = fin.readline(); if (line==null) break; fout.println(line); fin.close(); fout.close(); f.delete(); tmp.renameto(f); 4 Servlet <!-- OWARI --> Guests.html tmp.html close() Guests.html tmp.html Guests.html GuestBook.java 5 out.println(" <br>"); out.print(" <a href= Guests.html > </a> "); out.println("</body></html>"); out.close(); - 3 p.8

3.3.3 Servlet 4 Servlet Diary.java 3.3.4 Servlet 3.4 : DOM Guests.html HTML XML XML DOM Document Object Model GuestBook.java DOM Java API http://java.sun.com/j2se/ 1.5.0/ja/docs/ja/api/ GuestBookDom.java import import java.io.*; import java.util.*; import javax.servlet.http.*; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.transform.outputkeys; import javax.xml.transform.transformer; import javax.xml.transform.transformerfactory; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.text; - 3 p.9

GuestBookDom.java public class GuestBookDom extends HttpServlet { private static void appendnewline(document doc, Element e) { Text txt = doc.createtextnode("y=n"); e.appendchild(txt); private static Element createtablefromkeys(httpservletrequest request, Document doc, Enumeration keys) { Element tbl = doc.createelement("table"); tbl.setattribute("border", "1"); appendnewline(doc, tbl); while (keys.hasmoreelements()) { Element row = doc.createelement("tr"); Element td1 = doc.createelement("td"); String left = (String)keys.nextElement(); td1.settextcontent(left); row.appendchild(td1); Element td2 = doc.createelement("td"); td2.settextcontent(request.getparameter(left)); row.appendchild(td2); tbl.appendchild(row); appendnewline(doc, tbl); return tbl; - 3 p.10

GuestBookDom.java dopost @Override public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException { response.setcontenttype("text/html; charset=windows-31j"); request.setcharacterencoding("windows-31j"); PrintWriter out = response.getwriter(); out.println("<html><head></head><body>"); try { // String filename = getservletcontext().getrealpath("/guests.html"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder(); Document doc = db.parse(filename); // Element root = doc.getdocumentelement(); // root html Element body = (Element)root.getElementsByTagName("body").item(0); // body // table body.appendchild(createtablefromkeys(request, doc, request.getparameternames())); appendnewline(doc, body); body.appendchild(doc.createelement("hr")); appendnewline(doc, body); // TransformerFactory fac = TransformerFactory.newInstance(); Transformer tran = fac.newtransformer(); tran.setoutputproperty(outputkeys.encoding, "Shift_JIS"); // : Windows-31J OutputStream o = new FileOutputStream(filename); StreamResult result = new StreamResult(o); tran.transform(new DOMSource(doc.getDocumentElement()), result); o.close(); out.println(" <br>"); out.println(" <a href= Guests.html > </a> "); catch (Exception e) { e.printstacktrace(out); out.println("</body></html>"); out.close(); - 3 p.11

3.5 : POST Servlet Servlet Debug.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Debug extends HttpServlet { @Override public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException { response.setcontenttype("text/html; charset=windows-31j"); PrintWriter out = response.getwriter(); out.println("<html><head></head><body>"); int len = request.getcontentlength(); char[] buf = new char[len]; File f = new File(getServletContext().getRealPath("/Debug.out")); PrintWriter fout = new PrintWriter(new FileWriter(f)); BufferedReader in = request.getreader(); in.read(buf); in.close(); fout.print(buf); fout.close(); out.println("<tt>content_length</tt> "+len+" "); out.println("<a href= Debug.out >Debug.out</a> "); out.println("</body></html>"); out.close(); Servlet Debug.out : GET, Query String, getparameter,, POST, dopost, setcharacterencoding, getparameternames, Enumeration, DOM - 3 p.12