import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ParamTest extends HttpServlet{ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ //パラメータを"s"に格納する。 String s; if(req.getParameter("str")!=null){ s = tagFilter(req.getParameter("str")); }else{ s = "none"; } //オキマリの出力ストリーム取得 PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(res.getOutputStream(),"JIS"))); res.setContentType("text/html; charset=iso-2022-jp"); //HTMLファイルの中身を記述する pw.println(""); pw.println("ParamTest"); pw.println("
"); pw.println(""); pw.println("Parameter Test
"); pw.println("ご覧のデータはサーブレットで表示しています"); pw.println("




"); pw.println("
"); pw.println("受け取ったパラメータの内容は..."+s+" ですね"); pw.println("
"); pw.println(""); pw.println(""); pw.close(); } /*クロスサイトスクリプティング問題への対応(おまじない)*/ /*詳しくはセキュリティ項参照ください*/ private String tagFilter(String s){ //タグ及がなければそのまま返す if((s.indexOf('<') == -1)&&(s.indexOf('>') == -1)){ return s; } //タグの要素を変換してから返す StringBuffer sb = new StringBuffer(); for(int i=0; i'){sb.append(">");} else {sb.append(c);} } return sb.toString(); } }