-1
Rest WebサービスはPostmanと連携して動作します。しかし、JSPで動作しないでください。私はJavascriptで試しました。しかし、働かないでください。私はあなたの助けを待っています。おかげJspはヘッダを追加しません
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<%@page import="com.sun.research.ws.wadl.Request" %>
<%@ page
import="org.apache.http.*,com.burakmollaoglu.DEMO.HMAC,javax.ws.rs.core.HttpHeaders,com.squareup.okhttp.*,java.net.URL, java.util.*" %>
<form action="api/echo" method="POST" enctype="application/x-www-form-urlencoded">
Message: <input type="text" name="message">
<br>
<input type="submit" value="Submit"/>
</form>
<br>
<table>
<%
long CurrentMillisecond = System.currentTimeMillis();
out.println(CurrentMillisecond);
HMAC hmac = new HMAC();
String CurrentMillisecondEncyrepted = hmac.hmacCrypto(String.valueOf(CurrentMillisecond), "DEMO", "HmacSHA1");
out.println(CurrentMillisecondEncyrepted);
request.addHeader("CurrentMillisecond", CurrentMillisecond);
request.addHeader("CurrentMillisecondEncyrepted", CurrentMillisecondEncyrepted);
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String paramName = (String) headerNames.nextElement();
out.print("<tr><td>" + paramName + "</td>\n");
String paramValue = request.getHeader(paramName);
out.println("<td> " + paramValue + "</td></tr>\n");
}
%>
</table>
</body>
</html>
はここにスクリーンショットです:
あなたが "動作しない" とはどういう意味ですか?ビジネスロジックをJSPでスクリプトレットに置くことは悪いことです。このコードを別のJavaクラスに入れてください。 – Jesper
ヘッダーがnullです –
コードがわかりません。 'request'はコンテナが利用できる暗黙のJSPオブジェクトです。読み取り専用のインタフェースであるjavax.servlet.http.HttpServletRequestのインスタンスです。コンテンツやヘッダーは変更できません。 https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServletRequest.htmlを参照してください。 'request.addHeader'は存在しません。どのようにコードをコンパイルしていますか? – pedrofb