我整个星期一直在撞击这个星期,我终于离开工作的POC一步之遥。对此有任何帮助表示赞赏,并希望所有人都能在周五享受快乐。
我的目标是创建一个JSP:
- 通过HTTP POST
向Guidewire Servlet发送预定的硬编码用户名/密码- servlet进行身份验证,将用户登录,并将其重定向到trainingApp登录页面
- 没有任何用户输入,只需运行它,你就会登陆已经登录的Guidewire。
我已经开始工作了!但是,它不符合规范。我的一个要求是JSP在运行时自动执行所有这些操作。这意味着每次都发送相同的用户名/密码组合,无需用户输入。
我只能将JSP作为用户名/密码表单使用'提交'按钮。像这样:
<body>
<%@page import="java.io.*" %>
<%@page import="java.net.*" %>
<form method="post" action="http://localhost:8180/pc/service/test">
User:<input name="username"/>
Password:<input name="password"/>
<input type="Submit" value="Log in"/>
</form>
</body>
</html>
这确实发送了用户名/密码,但是我需要更多类似的东西,并尝试我可以让它无法正常工作。
<%
URLConnection connection = new URL("http://localhost:8180/pc/service/test").openConnection();
connection.setDoOutput(true); // Triggers POST.
connection.setRequestProperty("Authorization", "Basic c3U6Z3c=");
%>
我似乎无法启动POST请求并在没有&#34;提交&#34;的情况下发送身份验证数据。按钮或传递用户名和密码的表单。 servlet似乎工作正常,我几乎已经完成了解脱。
如果您能提供帮助,请提前致谢!
答案 0 :(得分:0)
您可以在JSP中使用隐式对象,即请求。
String name = request.getParamater("username");
使用该名称,我们可以重定向到表单或指定的URL。
答案 1 :(得分:0)
您也可以进行摘要,如果此网址不是https
,则可能更安全String headerKey =&#34;授权&#34 ;;
String headerValue =&#34; Basic + Base64.encodeString(user +&#34;:&#34; + pass);
response.setHeader(headerKey,headerValue);
String redirectURL =&#34; http://whatever.com/myJSPFile.jsp&#34;;
response.sendRedirect是(的redirectUrl);
答案 2 :(得分:0)
解决了!
我仍在使用表格,但是:
输入现在隐藏了,这是关键: 我在主体上添加了一个onload标签,以便在页面加载时提交表单!
按计划工作。