Java: Unterschied zwischen den Versionen
Aus wiki
(→HttpsUrlConnection) |
K (→Not Null) |
||
| (9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Code Snippets = | = Code Snippets = | ||
| + | [[Authentication Methods]] | ||
| + | == WAR-File generieren == | ||
| + | Aus dem lokalen Verzeichnis. (web.xml in WEB-INF Ordner muss existieren) | ||
| + | jar cvf SecuritySuiteDemo.war . | ||
| + | |||
| + | == Date Pattern == | ||
| + | "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700 | ||
| + | |||
== Regex == | == Regex == | ||
=== Pattern Matching === | === Pattern Matching === | ||
| Zeile 26: | Zeile 34: | ||
== HttpsUrlConnection == | == HttpsUrlConnection == | ||
In Case of any ClassCast Exception: | In Case of any ClassCast Exception: | ||
| + | |||
java.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl cannot be cast to javax.net.ssl.HttpsURLConnection | java.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl cannot be cast to javax.net.ssl.HttpsURLConnection | ||
HttpsURLConnection con = (HttpsURLConnection) new URL(null,"http://httpbin.org/digest-auth/auth/user/passwd", | HttpsURLConnection con = (HttpsURLConnection) new URL(null,"http://httpbin.org/digest-auth/auth/user/passwd", | ||
new sun.net.www.protocol.https.Handler()).openConnection(); | new sun.net.www.protocol.https.Handler()).openConnection(); | ||
| + | con.connect(); | ||
== InputStream Reader == | == InputStream Reader == | ||
| Zeile 45: | Zeile 55: | ||
} else { | } else { | ||
} | } | ||
| + | |||
| + | == Mapping Object to JSON == | ||
| + | (with Jackson JSON Mapper) | ||
| + | |||
| + | objectMapper = new ObjectMapper(); | ||
| + | objectMapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); | ||
| + | objectMapper.enable(MapperFeature.REQUIRE_SETTERS_FOR_GETTERS); | ||
| + | objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); | ||
| + | objectMapper.setSerializationInclusion(Include.NON_NULL); | ||
| + | String jsonElement = null; | ||
| + | try { | ||
| + | jsonElement = objectMapper.writeValueAsString(a); | ||
| + | } catch (JsonProcessingException e) { | ||
| + | e.printStackTrace(); | ||
| + | } | ||
| + | |||
| + | == Generic Method == | ||
| + | |||
| + | private <T> T useIncomingIfPossible(T incoming, T existing) { | ||
| + | return incoming != null ? incoming : existing; | ||
| + | } | ||
| + | |||
| + | |||
| + | == Not Null == | ||
Aktuelle Version vom 21. Mai 2019, 18:22 Uhr
Inhaltsverzeichnis
Code Snippets
WAR-File generieren
Aus dem lokalen Verzeichnis. (web.xml in WEB-INF Ordner muss existieren)
jar cvf SecuritySuiteDemo.war .
Date Pattern
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
Regex
Pattern Matching
Named Matching
<syntaxhighlight lang="java">
private @Nullable String getToken(@Nonnull String responseURL) {</pre>
String patternString = "http://www.example.com/example#(token%3D(?<TOKEN>.+))%26otherstuff(.+%)";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(responseURL);
if(matcher.find()){
return matcher.group("TOKEN");
}
return null;
}
</syntaxhighlight>
Encoding
Base64 Encoding (Basic auth)
String base64encodedUsernameAndPassword = DatatypeConverter.printBase64Binary((username + ":" + password).getBytes());
webClient.addRequestHeader("Authorization", "Basic " + base64encodedUsernameAndPassword);
URL Parsing
List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), "UTF-8");
HttpsUrlConnection
In Case of any ClassCast Exception:
java.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl cannot be cast to javax.net.ssl.HttpsURLConnection
HttpsURLConnection con = (HttpsURLConnection) new URL(null,"http://httpbin.org/digest-auth/auth/user/passwd", new sun.net.www.protocol.https.Handler()).openConnection(); con.connect();
InputStream Reader
int c;
StringBuilder responseJsonString = new StringBuilder();
int len = connection.getContentLength();
System.out.println("Content-Length: " + len);
if (len > 0) {
InputStream input = connection.getInputStream();
int i = len;
while (((c = input.read()) != -1) && (-i > 0)) {
System.out.print((char) c);
responseJsonString.append((char) c);
}
input.close();
} else {
}
Mapping Object to JSON
(with Jackson JSON Mapper)
objectMapper = new ObjectMapper();
objectMapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
objectMapper.enable(MapperFeature.REQUIRE_SETTERS_FOR_GETTERS);
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
objectMapper.setSerializationInclusion(Include.NON_NULL);
String jsonElement = null;
try {
jsonElement = objectMapper.writeValueAsString(a);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
Generic Method
private <T> T useIncomingIfPossible(T incoming, T existing) {
return incoming != null ? incoming : existing;
}