-1

リンクを含むテーブルに入力し、各リンクが異なるケース ID を指している場合、そのリンクをクリックすると、Java メソッドでそのサードパーティの URL を検証し、ブラウザが保護されたページを開くことを許可する必要があります。

これを達成する方法についての指針は非常に役に立ちます。

ありがとう。

4

1 に答える 1

1

はい、これは単純なサーベットで実現できます。表に href リンクのリストがあるとします。 1. 各 href リンクをクリックすると、それがサーブレットに送られます。

例: < a href="/yourServlet.do?thirdPartyURL=actual3rdPartyURL">actual3rdPartyURL </ a>

  1. サーブレット コードでこのサード パーティの URL を検証します。すべてが大丈夫なら
  2. 次に、SendRedirect メソッドでリダイレクトします。

注: ブラウザーのアドレス バーに URL を表示することはお勧めできません。あなたが言ったように、あなたはこの URL を入力する人です。ハッシュマップを使用してこれらの URL を保存し、それをケース ID にマップしてリダイレクトします。あなたが完全な情報を得たことを願っています。

以下の例を確認し、さらに情報が必要な場合はお知らせください

/**
 *  
 */
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

    PrintWriter out = response.getWriter();

    /**
     * Assume that this is the map you are getting from third party
     * This map holds two value pairs
     * Map<CaseID, URL>
     */
    Map<String, String> lstURLS = new HashMap<String,String>();
    lstURLS.put("CASEID1", "https://www.abc.com/abc1");
    lstURLS.put("CASEID2", "https://www.def.com/def");
    lstURLS.put("CASEID3", "https://www.egh.com/egh");

    /**
     * Assume that the request parameter caseID, 
     * will provide you the case id which was selected by the user
     * from the provided table of URLS
     */
    String userProvidedCaseID = request.getParameter("caseID");
    System.out.println("MySerlvet | caseID | "+ userProvidedCaseID);

    /**
     * Retrieve the URL from the list of third party URL's
     */
    if(null != userProvidedCaseID){
        String thirdPartyURL = lstURLS.get("userProvidedCaseID");
        if(null != thirdPartyURL){
            response.sendRedirect(thirdPartyURL);
        }else{
            out.print("No Case ID found / Error message");
        }
    }else{
        out.print("No Case ID found / Error message");
    }
}
于 2013-10-29T19:29:28.653 に答える