viernes, 7 de septiembre de 2018

Cambiar autor javadoc en eclipse


Como cambiar autor en javadoc eclipse.

Esta pequeña guía te mostrará cómo poner un nombre del autor para que se genere automáticamente cuando se escriba javadoc. Si no sabías cuando creas una clase en eclipse y quieres que le titulo de la clase se escriba en javadoc puedes poner sobre la clase /** y luego enter te generará automáticamente el javadoc como se puede ver en la siguiente imagen



presionas enter y eclipse generará esto:


Si quieres que siempre salga tu nombre o seudónimo tienes que ir a la carpeta donde instalaste eclipse, luego abrir con un editor de texto el archivo eclipse.ini




Agregas el siguiente valor en una nueva línea:

-Duser.name=Tu nombre



Lo guardas, cierras eclipse.exe y vuelves a ejecutar eclipse.exe




Ahora cuando vayas a documentar tú código saldrá el nombre que le asignaste por medio del archivo eclipse.ini

Espero que te hay servido.


sábado, 11 de noviembre de 2017

Jboss SSL puerto HTTPS tutorial paso a paso (step by step)

Luego de haber posteado el tutorial de como hacer más seguro un servidor apache Tomcat por medio de SSL (Secure Socket Layer) y la escucha del puerto https. En este post te indicare como hacer el mismo procedimiento pero esta vez con el servidor Jboss tambien funciona con el Servidor Wildfly.

Jboss lo puedes descargar desde el siguiente enlace: http://jbossas.jboss.org/downloads. en mi caso yo voy a utilizar la version eap-6.4.0

Extraemos el ZIP y nos creara una carpeta con todos los archivos del servidor. Si quieres ejecutar Jboss es necesario que tngas el JDK de Java instalado.

Para iniciar el servidor vamos a la carpeta jboss/bin y ejecutamos el archivo standalone.bat
Se abrira una ventana donde indicara si el servidor está listo para la escucha:

Hasta ahora funciona el servidor pero por medio del puerto 8080 y con el protocola http si abres el navegador y escribes http://localhost:8080 te abrira la pagina de bienvenida de Jboss.

HTTPS

Para configurar la encriptación de datos entre el servidor y el client necesitamos una keystore para eso podemos generar una por medio del programa keystore explorer o por medio de la consola de java. una vez ya tengas una keystore con su respectiva contraseña. copiarla y pegarla en la carpeta jboss-eap-6.4\standalone\configuration.


ahora tenemos que configurar un archivo para que el servidor pueda leer el archivo keystore, en mi caso server_keystore. Para eso debemos abrir el archivo standalone.xml con un editor de texto y agregar la siguiente configuración:

<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
<ssl name="ssl" key-alias="localhost" password="123456" certificate-key-file="${jboss.server.config.dir}/server_keystore.jks" protocol="TLSv1,TLSv1.1,TLSv1.2" keystore-type="JKS"/>
</connector>

Lo tienes que configurar deacuerdo a tu keystore y tienes que colocar esa configuración entre las lineas de:
<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>


Guarda el archivo y luego vuelve a iniciar el servidor con standalone.bat y abre el navegador coloca https://localhost:8443 ignora la advertencia del navegador y te deberia funcionar!


Espero que te haya funcionado y deja un comentario y comparte este sitio, de esta manera podre ir publicando más tutoriales.





jueves, 1 de octubre de 2015

Tomcat SSL Tutorial step by step (paso a paso) mayor seguridad en server

Hola, espero que hayas visitado mis otras entradas, hoy te traigo un tutorial de como configurar el servidor TomCat para que active el puerto SSL (Security Socket Layer) de esta manera los datos que intercambie tu servidor con usuarios seran encriptados con un certificado. Por ejemplo un Login si creas un login y el servidor no dispone de SSL los datos que son enviados pueden ser facilmente capturados en la red y las variables user="" y password="" podran ser visibles. Lo que se busca es que los datos se encripten que no puedan ser legibles.
TomCat lo puedes descargar desde el siguiente Link: https://tomcat.apache.org/download-80.cgi
Te recomiendo la versión portable y debes configurar las variables de entorno JAVA_HOME y JRE_HOME



Una vez que ya lo tengas listo para ejecutar TomCat ve a la carpeta donde lo descomprimiste y abre la carpeta “bin” luego abre una ventana de comando “CMD” pulsando shift + clic derecho, escribe “startup”
Luego se debería abrir una nueva ventana como la siguiente:

Ve al navegador y escribe “localhost:8080” te debería aparecer la siguiente página:



Bien ahora a lo principal, el JDK de java cuenta con un programa para generar certificados el cual se llama keystore, solo hay que escribir en la consola de Windows e ingresar unos datos y al final podras tener tu propio certificado.
Ve a la carpeta de java JDK/bin y abre la consola de comandos si usas Windows 8 o 10 te recomiendo que ejecutes la consola como administrador y escribe la siguiente línea:
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048

Luego te va a pedir que crees una contraseña, la colocas y los siguientes datos que te pida:
después de haber dado los datos y confirmado al final se generara un archivo en la carpeta bin el archivo se denomina keystore.jks. Ahora para generar un certificado se debe colocar en la consola el siguiente comando:

keytool -certreq -alias mydomain -keystore keystore.jks -file mydomain.csr
Nos pedirán la constraseña que le asignaste al keystore y luego se generará el archivo mydomain.csr
Copia estos dos archivos a la carpeta de Tomcat/conf

Con un editor de texto abre el archivo server.xml y agrega lo siguiente:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/keystore.jks" keystorePass="123456" />

Guárdalo reinicia tu Tomcat y ahora ve al navegador y escribe https://localhost:8443 y si te aparece un aviso de riesgo no te preocupes los navegadores lo hacen debido a que tu sitio WEB no esta registrado en la base de datos de sitios seguros, paginas como Facebook, google compran certificados expedidos por empresas dedicadas a generar certificados oficiales, pero mientras lo hagas de manera local funciona.
Aparecerá un candado en la url lo que indica que es seguro y los datos que se intercambian entre el usuario y el servidor son encriptados.


Espero que te haya funcionado y deja un comentario y comparte este sitio, de esta manera podre ir publicando más tutoriales.

jueves, 28 de mayo de 2015

Como crear Blog de notas(Notepad) en JAVA con GUI

Hoy les quiero mostrar de forma sencilla y en tan solo 2 clases de JAVA un blog de notas el cual pueden editar, crear y guardar documentos de texto.

Comenzemos, la clase Main, utilizamos la libreria JFrame para la GUI


import javax.swing.JFrame;

public class Main {
public static void main(String args[]){
JFrame frame = new Grid();
frame.setTitle("Notepad");
frame.setVisible(true);
frame.setSize(500, 320);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
}
}


En esta clase llamamos al objeto de la clase Grid, la clase Grid es la siguiente y cuenta con la parte más importante del código:

import java.awt.BorderLayout;
/**import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;*/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

import javax.swing.BorderFactory;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;

public class Grid extends JFrame{
/**
*/
private static final long serialVersionUID = 1L;
int fileToOpen;
int fileToSave;
JFileChooser fileOpen;
JFileChooser fileSave;
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
//2014/08/06 15:59:48
Grid(){
JMenuBar menuBar = new JMenuBar();
final JTextArea textArea = new JTextArea();
setJMenuBar(menuBar);
JMenu file = new JMenu("File");
menuBar.add(file);
JMenuItem newOption = new JMenuItem("New");
JMenuItem open = new JMenuItem("Open");
JMenuItem save = new JMenuItem("Save");
JMenuItem close = new JMenuItem("Exit");
file.add(newOption);
file.add(open);
file.add(save);
file.addSeparator();
file.add(close);
getContentPane().add(textArea);
String texto_inferior = "Fecha: "+ dateFormat.format(date);
JLabel status = new JLabel(texto_inferior, JLabel.CENTER);
status.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
add(status,BorderLayout.SOUTH);
newOption.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
textArea.setText("");
}
});
open.addActionListener(new ActionListener(){
private Scanner scan;

public void actionPerformed(ActionEvent e){
openFile();
if (fileToOpen == JFileChooser.APPROVE_OPTION){
textArea.setText("");
try{
scan = new Scanner(new FileReader(fileOpen.getSelectedFile().getPath()));
while (scan.hasNext())
textArea.append(scan.nextLine());
} catch (Exception ex){
System.out.println(ex.getMessage());
}
}
}
});
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
saveFile();
if (fileToSave == JFileChooser.APPROVE_OPTION){
try {
BufferedWriter out = new BufferedWriter(new FileWriter(fileSave.getSelectedFile().getPath()));
out.write(textArea.getText());
out.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
});
close.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
}
public void openFile(){
JFileChooser open = new JFileChooser();
int option = open.showOpenDialog(this);
fileToOpen = option;
fileOpen = open;
}
public void saveFile(){
JFileChooser save = new JFileChooser();
int option = save.showOpenDialog(this);
fileToSave = option;
fileSave = save;
}
}

Crean la clase Grid.java, compilan y ejecutan el main y listo.

sábado, 15 de febrero de 2014

como configurar DOS para ejecutar archivos java

Si ya tienen instalado el JDK de java, usan un IDE como Eclipse, Netbeans u otro, y quieren ejecutar el código que crearon con estos editores por consola CMD, necesitarán configurar la consola de Windows. Para ello van a tener que seguir los siguientes pasos:
1.      Si usas Windows 7 o Windows 8 vea a Equipo y busca un botón que dice propiedades de equipo o     del sistema.

       2.    Luego se mostrará una pantalla con las características del equipo, procesador, ram, etc.. tienen que dar clic sobre el botón que dice configuración avanzada del sistema. Se desplegará una ventana, en ella denle clic a variables de entorno.

      3.    En esa nueva ventana van a buscar en la parte inferior la variable Path, la seleccionan y dan clic a editar. Se mostrará una ventana con dos casillas “Nombre de la variable” y valor de la variables. Van a la segunda casilla y encontraran una ruta, en mi caso está el QuickTime, al final de la ruta oprimen punto y coma “;”.



  4.     Ahora dejan abierta la ventana y se van a donde instalaron el JDK de Java por lo general se  encuentra en Archivos de programa Java. Tienen que ir a la ruta C:\Program  Files\Java\jdk1.7.0_45\bin cuando  tengas abierta la carpeta copia la dirección, copiala de tu propio  computador porque es diferente para cada PC.

   5.       Una vez hayas copiado la ruta anteriormente mencionada vuelves a la ventana donde estaba el         Path y después del punto y coma “;” pegas la ruta, después oprimes en aceptar y para salir de la  ventana de variables pones aceptar.



       6.  Ahora ve a inicio y busca cmd, lo ejecutas y se abrirá la consola de comandos de Windows. Para asegurarte de que funcionó lo que acabaste de editar escribe javac si te aparece información en la consola significa que ha funcionado.


   7.      Bien ahora que ya funciona java en la consola de comandos vamos a hacer una prueba. Yo escribí un archivo de Java en Eclipse que dice Hola Mundo, lo quiero ejecutar por consola, lo único que debo hacer es asegurarme  de que en el código no esté escrito el package porque al momento de compilar funcionará, pero cundo lo ejecute no funcionará y mostrará el siguiente error: “Exception in thread main java.lang.NoClassDefFoundError”


Para corregir ese error abrimos el archivo .java con el block de notas, le damos clic derecho editar, borramos el package y lo guardamos.

Ahora volvemos a ejecutar el programa, a casi lo olvide cuando abran la consola y van a ejecutar un programa por primera vez tienen que escribir javac nombre.java (Nombre es el nombre del programa) si no se encuentran errores de compilación escriben java nombre y el programa funcionará


Ahora veamos si funcionó:


Esto es todo, espero que les haya funcionado, compartan el link para que más personas puedan ejecutar programas por consola

lunes, 7 de octubre de 2013

Algoritmo que calcula el maximo comun divisor de dos numeros(MCD)

Problema: Elaborar un algoritmo en JAVA que permita hallar el mcd de dos numeros enteros positivos y negativos. EL resultado siempre tendra que ser positivo.

Solución:

import java.util.InputMismatchException;
import java.util.Scanner;
/*Fox_94
 * V 1.0   2/10/2013
 */
//Programa que calcula el maximo comun divisor(mcd), el usuario ingresa dos
//numeros enteros tanto positivos como negativos y mostrará
//el valor absoluto de los números
 

public class Mcd {
    public static void main(String[] args){
try{
    Scanner input = new Scanner(System.in);
    System.out.println("Ingrese numero: ");
    int a = input.nextInt();
    System.out.println("Ingrese segundo numero: ");
    int b = input.nextInt();

    if((a!=0 && b ==0)){
        System.out.println(Math.abs(a)); //se aplica la propiedad y su resultado es el valor absoluto de a
    }if((a==0 && b!=0)){
        System.out.println(Math.abs(b)); //se aplica la propiedad y su resultado es el valor absoluto de a
   
    }
        if((a!=0 && b!=0)){ //Si se cumple esta condicion comenzará a calcular el mcd.
   
   
       
    int    numMayor = Math.max(a, b); //Este método devuelve el mayor de dos numeros
    int    numMenor = Math.min(a, b); //Este método devuelve el menor de dos numeros
   
    while(numMenor !=0){ //Este while repite hasta que numMenor sea diferente a 0
int    resto = numMayor % numMenor;
    numMayor = numMenor;    //Guarda numMayor en numMenor
    numMenor = resto;        //Guarda el residuo
   
}
int resultado = numMayor; //Después del ciclo guarda el valor
                            //de numMayor en resultado
System.out.println("El MCD de "+ a+" y "+b+" es: "+Math.abs(resultado) );
//Imprime los valores iniciales a y b tambien resultado.
    }
    if((a==0 && b ==0)){ // Por la propiedad si los dos son 0 no está definido
        System.out.println("No esta definido");
    }
}catch(InputMismatchException e){
    System.out.println("Error, solo se pueden ingresar numeros ");
}
    }
    }

   
Luego de hacer pruebas el resultado será:
Ingrese numero:
-85
Ingrese segundo numero:
20
El MCD de -85 y 20 es: 5

   

Algoritmo para calcular el sueldo de un empleado

EL problema es el siguiente: Elaborar un algoritmo para calcular e imprimir el sueldo de un empleado, por medio del lenguaje de programación JAVA.

EL programa queda así:

import java.util.Scanner;

public class SueldoEmpleado {
    String nombreEmp;
    int horasTrab = 0;
    float cuotaHora = 0;
   
    public void pedirDatos(){

    Scanner in = new Scanner(System.in);
    System.out.println("Ingrese nombre empleado: ");
    nombreEmp = in.next();
    System.out.println("Ingrese Cuota por hora: ");
    cuotaHora = in.nextFloat();
    System.out.println("Ingrese Horas trabajados: ");
    horasTrab = in.nextInt();
   
}
    public double calcularSueldo(){
    double sueldo;
    sueldo = horasTrab*cuotaHora;
    return sueldo;
}
}

La segunda clase hace que se ejecute el programa por medio del método Main, quedaria así:

public class MainSueldoEmpleado {

    public static void main(String[] args) {
        SueldoEmpleado empleado = new SueldoEmpleado();
       
        empleado.pedirDatos();
        System.out.println("El sueldo de "+ empleado.nombreEmp+" es de $"+ empleado.calcularSueldo());
    }

}

Haciendo una prueba quedaria así:

Ingrese nombre empleado:
Carlos
Ingrese Cuota por hora:
10
Ingrese Horas trabajados:
180
El sueldo de Carlos es de $1800.0