package com.legendapl.poc; import java.io.IOException; import java.util.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/BITokenizer") public class BITokenizer extends HttpServlet { public BITokenizer() { // TODO 自動生成されたコンストラクター・スタブ } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub Map keymap = (Map)request.getServletContext().getAttribute("keymap"); if(keymap == null) { keymap = new HashMap(); request.getServletContext().setAttribute("keymap", keymap); } HashMap facadeMap = new HashMap(); //パラメータ入力されたIDとパスワードを変数に入れる String id = request.getParameter("id"); String pw = request.getParameter("pw"); //入力チェック if(id==null || "".equals(id)) { throw new IllegalArgumentException("IDが空です"); } if(pw==null || "".equals(pw)) { throw new IllegalArgumentException("PWが空です"); } //faacadeMapにIDとパスワードを格納 facadeMap.put("id", request.getParameter("id")); facadeMap.put("pw", request.getParameter("pw")); //OneTimeKeyを作成 現在時刻のミリ秒+URLで送られたIDの文字列結合 String key = String.valueOf(System.currentTimeMillis()) + request.getParameter("id"); keymap.put(key, facadeMap); //画面に作成したOneTimeKeyを返す response.getWriter().write(key); } }