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