====== 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