shokosブログ

プログラミング

サーブレット計画その1.5

表示させるメソッドを実装したクラス

2パターンにわけてみました

urlの?以降を自分で=や&で分けて表示させる(GETにのみ有効)

import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.security.AccessController;

import javax.servlet.http.HttpServletRequest;

import sun.security.action.GetPropertyAction;

public class SplitGet implements ParameterPrinter{
	public void printParameter(HttpServletRequest req, PrintWriter writer) 
	throws  UnsupportedEncodingException{
		String query = req.getQueryString();
		String[] queryCut = query.split("&");
		for (String tmp : queryCut) {
			if (tmp.contains("=")) {
				String[] queryCutCut = tmp.split("=");
				String key = URLDecoder.decode(queryCutCut[0],"MS932");
				System.out.println((String)AccessController.doPrivileged (
					    new GetPropertyAction("file.encoding")
		    	));
				writer.print(key + "  ");
				if (queryCutCut.length >= 2) {
					String par = URLDecoder.decode(queryCutCut[1],"MS932");
					writer.print(par);
				}
				writer.print("</br>");
			} else {
				writer.print(tmp);
			}
		}
	}

}