-1

我将在其中填充一个包含链接的表,并且每个链接都指向不同的案例 ID,当单击该链接时,我需要在我的 java 方法中验证该第 3 方 url,并且需要允许浏览器打开安全页面。

关于如何实现这一点的任何指示都非常有帮助。

谢谢。

4

1 回答 1

1

是的,这可以通过一个简单的 serlvet 来实现。假设您在表 1 中有 href 链接列表。单击每个 href 链接后,将其指向您的 servlet。

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

  1. 在您的 servlet 代码中验证此第三方 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 回答