考虑通过另一个 jsp 页面或 servlet 代理请求。然后,您让代理执行验证请求,例如,使用Apache HTTPClient并将该响应的内容写入页面。然后你可以简单地在你的jsp页面上导入你的代理的url。
好吧,考虑以下伪代码作为说明:
class Proxy extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// Perform a new request to get contents from secured page
HttpClient client = new HttpClient();
Credentials credentials = new UsernamePasswordCredentials("user", "pass");
client.getState().setCredentials(authScope, credentials);
GetMethod method = new GetMethod("/secure_page.jsp");
client.executeMethod(client.getHostConfiguration();, method);
// write result to the outputstream
resp.getWriter().write( method.getResponseBodyAsString() );
}
}
这个 servlet 所做的是为您获取安全页面。您需要将此 servlet 挂接到您的 Web 描述符中。这对于映射例如/proxy.jsp
请求是必要的。然后您可以在您的 jsp 页面中执行的操作类似于<c:import value="proxy.jsp"/>
.