====== Instalación ======
En debian está en los repositorios.
Podemos también descargamos maven y ejecutar el comando:
./mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
Si estamos detrás de un proxy configuramos la variable $HOME/./m2/settings.xml
optional
true
http
username
password
10.10.10.10
8080
local.net|some.host.com
====== Aplicación Hello World ======
Codigo fuente: \\
{{:informatica:linux:java:miappweb.tar.gz|}}
Aplicación sola: \\
{{:informatica:linux:java:miappweb.war|}}
====== Proyecto Hello World ======
Fuente: https://cwiki.apache.org/confluence/display/MAVEN/Tutorial%3A+Build+a+JAR+file+with+Maven+in+5+minutes
group id: org.iwanttobefreak.post
artifact id: java-archive
version: 1.0-SNAPSHOT
Creamos el siguiente pom.xml
4.0.0
org.iwanttobefreak.post
java-archive
1.0-SNAPSHOT
También podemos añadir la versión de java, me daba algún error porque era la 5 por defecto:
1.7
1.7
Ahora creamos el código java en esta ruta:
mkdir -p src/main/java/org/iwanttobefreak/post/
El nombre del fichero .java, en este caso Main es la clase que declaramos en el código fuente
src/main/java/org/iwanttobefreak/post/Main.java
package org.iwanttobefreak.post;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
Compilamos el paquete:
mvn package
Nos crea el jar en el directorio target.
Lo ejecutamos:
java -cp ./target/java-archive-1.0-SNAPSHOT.jar org.iwanttobefreak.post.Main
Hello world
====== Proyecto WGET ======
package org.iwanttobefreak.post;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://www.google.es/");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String strTemp = "";
while (null != (strTemp = br.readLine())) {
System.out.println(strTemp);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
====== Proyecto POST ======
package com.iwanttobefreak.post;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpURLConnectionExample {
private final String USER_AGENT = "Mozilla/5.0";
public static void main(String[] args) throws Exception {
HttpURLConnectionExample http = new HttpURLConnectionExample();
System.out.println("\nTesting 2 - Send Http POST request");
http.sendPost();
}
// HTTP POST request
private void sendPost() throws Exception {
String url = "http://example.com/main.do";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add reuqest header
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
con.setRequestProperty("Content-Type", "application/json");
//Petición JSON si tiene comillas, las trampeamos con \
String urlParameters = "{\"DatosPersonales\":{\"Nombre\":\"Aitor\",\"Apellido\":\"Tillas\"},\"DatosFisicos\":{\"Ojos\":\"Azules\",\"Pelo\":\"Negro\"}}";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
System.out.println(response.toString());
}
}
====== Proyecto Out Of Memory OOM ======
public class TestOOM
{
public static void main(String ar[])
{
String test[]=new String[Integer.MAX_VALUE];
for(int i=0;i
====== Monitorizar con javamelody ======
http://code.google.com/p/javamelody/wiki/UserGuide#Setup
Hay que descargar los ficheros (dependiendo versión) \\
http://code.google.com/p/javamelody/downloads/list
javamelody-x.x.x.jar
http://javamelody.googlecode.com/files/jrobin-1.5.9.jar
jrobin-x.x.x.jar
En la carpeta:
http://javamelody.googlecode.com/files/jrobin-1.5.9.jar
Editar el fichero web.xml de src/main/webapp/WEB-INF \\
Añadir las líneas a final de la entrada :
monitoring
net.bull.javamelody.MonitoringFilter
monitoring
/*
net.bull.javamelody.SessionListener
Volvemos a compilar app desde el directorio de mi aplicación:
mvn package
Despliego el war