This is an old revision of the document!
Table of Contents
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
<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>
Aplicación Hello World
Codigo fuente:
miappweb.tar.gz
Aplicación sola:
miappweb.war
Proyecto Hello World
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>
Ahora creamos el código java en esta ruta:
mkdir -p src/main/java/org/iwanttobefreak/post/
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 org.iwanttobefreak.post;
import java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws IOException {
String url = "https://www.google.es/search";
String charset = "UTF-8";
String q = "hola";
String query = String.format("q=%s",URLEncoder.encode(q, charset));
//URLConnection connection = new URL(url).openConnection();
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
try (OutputStream output = connection.getOutputStream()) {
output.write(query.getBytes(charset));
}catch(IOException ioe){
ioe.printStackTrace();
//return null;
}
InputStream response = connection.getInputStream();
}
}
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 <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
