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
<settings> <proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>username</username> <password>password</password> <host>10.10.10.10</host> <port>8080</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies> </settings>
Codigo fuente:
miappweb.tar.gz
Aplicación sola:
miappweb.war
group id: org.iwanttobefreak.post artifact id: java-archive version: 1.0-SNAPSHOT
Creamos el siguiente pom.xml
<project> <modelVersion>4.0.0</modelVersion> <groupId>org.iwanttobefreak.post</groupId> <artifactId>java-archive</artifactId> <version>1.0-SNAPSHOT</version> </project>
También podemos añadir la versión de java, me daba algún error porque era la 5 por defecto:
<properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties>
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
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(); } } }
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()); } }
public class TestOOM { public static void main(String ar[]) { String test[]=new String[Integer.MAX_VALUE]; for(int i=0;i<Integer.MAX_VALUE;i++) { test[i]="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; } } }
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 <web-app>:
<filter> <filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> </filter> <filter-mapping> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>net.bull.javamelody.SessionListener</listener-class> </listener>
Volvemos a compilar app desde el directorio de mi aplicación:
mvn package
Despliego el war