Noticias Weblogs Foros Wiki Código

RecorteX

» java
318 usuarios y 202 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta java

RSS
Recortes: 19

Etiquetas relacionadas:
jdbc
xml
tomcat
fechas
utilidades
sql
base-datos
jstl
ssl
bd
Look_and_feel
tarea
certificados
planificador
Skin

Distancia entre dos Puntos

Escribe aquí el texto
 
import javax.swing.JOptionPane;
import java.lang.Math;
import java.text.DecimalFormat;
 
public class Distancia{
 
	public static void main(String[] args){
		String x1 = JOptionPane.showInputDialog("Ingresa un x1:");
		String y1 = JOptionPane.showInputDialog("Ingresa un y1:");
	        String x2 = JOptionPane.showInputDialog("Ingresa un número x2:");
	        String y2 = JOptionPane.showInputDialog("Ingresa un número y2:");
		
                JOptionPane.showMessageDialog(null,CalculaDistancia(x1,y1,x2,y2),
                         "Distancia entre dos Puntos",JOptionPane.PLAIN_MESSAGE);  
	}
	public static String CalculaDistancia(String x_1, String y_1,String x_2, String y_2){
 
	    double cordX1 = Double.valueOf(x_1).doubleValue();
            double cordY1 = Double.valueOf(y_1).doubleValue();
            double cordX2 = Double.valueOf(x_2).doubleValue();
            double cordY2 = Double.valueOf(y_2).doubleValue();
 	    double respuesta = Math.sqrt( Math.pow ((cordX2-cordX1),2) + Math.pow((cordY2-cordY1),2));
 	    DecimalFormat dosdecimales = new DecimalFormat("0.00");
 	    String resultado = "La Distacia es: " + dosdecimales.format(respuesta);
	    return resultado;
	   }
}
 

Obtener un DataSource de Tomcat

 
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/DB");
 
Luego hay que definir dicha base de datos DB en el contexto de la aplicación web. Ejemplo:
 
<Context path="/aplicacion" docBase="aplicacion">
    <Resource name="jdbc/DB" auth="Container" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/DB">
        <parameter>
            <name>factory</name>
            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
	</parameter>
	<parameter>
            <name>driverClassName</name>
            <value>com.mysql.jdbc.Driver</value>
	</parameter>
	<parameter>
            <name>url</name>
            <value>jdbc:mysql://host/database?autoReconnect=true</value>
	</parameter>
	<parameter>
            <name>username</name>
            <value>usuario</value>
	</parameter>
	<parameter>
            <name>password</name>
            <value>clave</value>
	</parameter>
	<parameter>
            <name>maxActive</name>
            <value>30</value>
	</parameter>
	<parameter>
            <name>maxIdle</name>
            <value>10</value>
	</parameter>
	<parameter>
            <name>maxWait</name>
            <value>10000</value>
	</parameter>
        <parameter>
            <name>removeAbandoned</name>
            <value>true</value>
        </parameter>
        <parameter>
            <name>logAbandoned</name>
            <value>true</value>
        </parameter>                        
    </ResourceParams>
</Context>
 

Obtener el último día de un mes

Se crea un GregorianCalendar con el día 1 del mes y se utiliza la función getActualMaximum.
 
Calendar cal = GregorianCalendar.getInstance();
cal.set(2006, 1, 1); // Febrero 2006, los meses empiezan en 0.
System.out.println("Último día: " + cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
 

Devolver un documento pdf desde un servlet

Antes de enviar el documento (sus bytes) hay que fijar el content-type del resultado.
 
response.setContentType("application/pdf");
 
Si se desea también se puede fijar un nombre de fichero:
 
response.setHeader("Content-Disposition", "attachment; filename=\"nombre_fichero.pdf\"");
 

Obtener el DN de un certificado digital

En java:
 
java.security.cert.X509Certificate certificados[]=(java.security.cert.X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
String dn=certificados[0].getSubjectDN().toString();
 

Convertir un ResultSet a XML

Esta función convierte un ResultSet en formato XML y lo imprime.
 
public void rs2xml(ResultSet rs,
                  String tabla,
                  String elemento,
                 java.io.Writer out) throws java.io.IOException, SQLException {
    ResultSetMetaData rsmd=rs.getMetaData();
    out.write("<"+tabla+">\n");
    while (rs.next()) {
        out.write("    <"+elemento+">\n");
        for (int i = 1; i <= rsmd.getColumnCount(); i++) {
           out.write("        <"+rsmd.getColumnLabel(i).toLowerCase()+"><![CDATA[");
           String var=rs.getString(i);
           if (var!=null) {
                out.write(var);
           }
           out.write("]]></"+rsmd.getColumnLabel(i).toLowerCase()+">\n");
        }
        out.write("    </"+elemento+">\n");
    }
    out.write("</"+tabla+">\n");        
}
 
Recibe el ResultSet, el nombre que le queremos dar al elemento XML root y el nombre que le queremos dar al elemento XML de cada registro.

Leer un fichero de properties que se encuentra en el CLASSPATH

El siguiente código carga un fichero de properties que se encuentra en algún sitio del CLASSPATH.
 
URL confURL = $Clase$.class.getClassLoader().getResource("fichero.properties");
if (confURL == null) {
    confURL = ClassLoader.getSystemResource("fichero.properties");
} 
Properties confProp=new Properties();
confProp.load(confURL.openStream());
 
Sustituir $Clase$ por el nombre de la clase que contiene este código.

Llamar a un procedimiento almacenado

Aquí hay un ejemplo que trata prácticamente todos los casos en la ejecución de un procedimiento almacenado usando JDBC: parámetros de entrada y salida, retorno de resultados, etc.
 
package DBTest;
 
import java.sql.*;
 
public class JdbcTest {
 
    private String          msDbUrl = "jdbc:odbc:ms";
    private String          msJdbcClass = "sun.jdbc.odbc.JdbcOdbcDriver";
    private Connection      mcDbAccess;
    private CallableStatement       msProcedure;
 
    public JdbcTest() {
        try {
            Class.forName( msDbUrl ).newInstance();
            mcDbAccess = DriverManager.getConnection( msJdbcClass, "milestone", "milestone" );
            msProcedure = mcDbAccess.prepareCall(
                "{? = call sp_sav_Bom_Header( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) }"
            );
            msProcedure.registerOutParameter( 1, java.sql.Types.VARCHAR );
            msProcedure.setInt( 2, -1 );
            msProcedure.setInt( 3, 39 );
            msProcedure.setString( 4, "format" );
            long ltTest = new java.util.Date().getTime();
            System.out.println( "Today: " + ltTest );
            msProcedure.setTimestamp( 5, new Timestamp( ltTest ) );
            msProcedure.setString( 6, "type" );
            msProcedure.setString( 7, "submitter" );
            msProcedure.setString( 8, "email" );
            msProcedure.setString( 9, "phone" );
            msProcedure.setString( 10, "comments" );
            msProcedure.setString( 11, "label" );
            msProcedure.setInt( 12, 52 );
            msProcedure.setBoolean( 13, true );
            msProcedure.setBoolean( 14, false );
            msProcedure.setInt( 15, 53 );
            msProcedure.setString( 16, "runtime" );
            msProcedure.setString( 17, "configuration" );
            msProcedure.setBoolean( 18, true );
            msProcedure.setBoolean( 19, false );
            msProcedure.setString( 20, "special instructions" );
            msProcedure.setInt( 21, 54 );
 
            ResultSet lrsReturn = null;
            System.out.println( "Execute: " + (lrsReturn = msProcedure.executeQuery() ) );
            while( lrsReturn.next() ) {
                System.out.println( "Got from result set: " + lrsReturn.getInt( 1 ) );
            }
            System.out.println( "Got from stored procedure: " + msProcedure.getString( 1 ) );
        } catch( Throwable e ) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) {
        new JdbcTest();
    }
}
 

Parsear un fichero XML

El código mínimo para obtener un document a partir de un fichero XML:
 
javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance();
javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
org.w3c.dom.Document doc = db.parse(new java.io.File("c:/ruta/al/fichero.xml"));
 
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin