sábado, 24 de noviembre de 2018

Desplegar web java desde servlet

1-Necesitamos ir al proyecto, a la carpeta WEB-INF, hay hacemos click derecho y pulsamos en NEW->Other->Web->Standard Deployment Descriptor (web.xml).

2-Nos crea un archivo .xml llamado web.xml e introducimos este código dentro de las etiquetas web-app:

<welcome-file-list>
    <welcome-file>Nombre_del_servlet</welcome-file>
</welcome-file-list>

Nota: Nombre_del_servlet sin .java al final, si empiezas desde un .jsp, .html o .htm si hay que poner la extensión del fichero.

sábado, 10 de noviembre de 2018

Conectar Mysql server 8 a netbeans 8.2

Seguiremos estos pasos:

1-Nos dirigimos a la pestaña window, en el netbeans y pulsamos sobre services.

2-Nos dirigimos después a databases y pulsamos.

3-En el directorio drivers, lo pulsamos y borramos el MySQL connector 5.x que es el que viene por defecto, ya que no nos servirá para MySQL server 8.x.

4-Damos click derecho sobre drivers y nos abrirá una ventanita para un nuevo driver: New Driver.

5-Lo pulsamos y nos abrirá una ventana donde pone Add.

6-Lo pulsamos y nos  abrirá el explorador para que elijamos la ruta del MySQL connector 8.x.jar.

7-El mio (windows) estaba en C: -> Program Files (x86) -> MySQL -> Connector J 8.0 y dentro un fichero .jar, el único que había.

8-Lo seleccionas.

9-Después pulsamos sobre Ok.

10-Tras esto, nos dirigimos al primer elemento de Databases, que es: MySQL Server at localhost:3306 ....

11-Entonces click derecho y vamos a properties.

12-En la ventana que se nos abre, pulsamos sobre Admin Properties.

13-En la nueva ventana, dejamos todos por defecto menos el primero: Path/URL to admin tool.

14-Ahí pulsamos sobre Browse, que nos abrirá el explorador de archivos y vamos a la ruta del mysqladmin.exe, ese archivo me fue necesario. La ruta donde yo lo encontre es: C: -> Program Files -> MySQL  -> MySQL Server 8.0 -> bin -> mysqladmin.exe.

15-Pulsamos sobre open y ya tenemos preparado Netbeans. Ahora solo nos falta cambiar una ruta más.

16-Nos redirigimos al driver que creamos en drivers y pulsamos click derecho sobre el driver nuevo y pulsamos sobre Connect Using.

17-Se nos abre una nueva ventana, dejamos todos los valores por defecto, que son los del usuario administrador, introducimos la contraseña de administrador que tenemos en MySQL Server.

18-Y para terminar, al final donde dice: JDBC URL, borramos la parte del final, dejamos esta parte que os dejo: jdbc:mysql://localhost:3306/mysql.

19-Para probar que todo está bien pulsamos sobre Test Connection y si todo esta correcto nos saldrá debajo un mensaje en color azul.

20-Si todo ha ido bien pulsamos sobre Finnish. Y conexión establecida.

Ahora a programar. Suerte y que os haya servido de ayuda.

domingo, 28 de octubre de 2018

Problemas en ejecutar Tomcat en xampp

Si has tenido problemas para ejecutar Tomcat en xampp porque el puerto 8080 ya estaba en uso, te comento lo que yo tuve que hacer:

1- Ejecuta xampp y arriba a la derecha donde pone Config, pulsa ahí.

2- Pulsa en service and ports settings y elige Tomcat.

3- Ahí, en Tomcat cambia al puerto que quieras, por ejemplo: 8081.

4- Después nos vamos al explorador de archivos, entramos en la carpeta de xampp -> Tomcat -> conf y en esa carpeta abrimos el fichero xml, hacemos click derecho server.xml y lo abrimos con notepad o con nuestro editor favorito.

5- Y ahora cualquier código que se parezca a:

<conector .... port="8080" ....>

lo cambiamos a port="8081" o al puerto que pusimos en Config.

6- Guardamos el fichero, cerramos el fichero y reiniciamos xampp.

7- Siguiendo estos pasos, el paso final es abrir nuestra página en localhost:8081 (o el puerto que establecimos). Y nos abrirá la página de inicio Apache/Tomcat.

lunes, 25 de junio de 2018

problemas testeando phpunit laravel 5.6

Otra vez me he encontrado con otro problema, esta vez en laravel 5.6, en la documentación dice que cuando quieras probar tu página lo mas rapido es hacer test de tus funciones o porciones de código.

Bueno tal como dice la documentación yo corro phpunit en la carpeta raiz y nada, me dice:

No tests executed.

Pero buscando y buscando encontré lo que trabajaba en mi proyecto y es:

 vendor/bin/phpunit tests/Feature/ExampleTest.php

por si alguien también lo necesita, aquí tienen una posible solución.

Otra solución puede ser crear un alias que nos lleve a está ruta directamente para ahorrar tiempo.

Yo tengo cygwin, así que lo que he hecho es abrir el fichero .bash_profile y crear el alias al final del fichero:

alias phpunit="vendor/bin/phpunit";

Espero le haya servido de ayuda.

sábado, 23 de junio de 2018

Añadir etiquetas metas en angular 6

Ya que las etiquetas meta no vienen muy bien explicado en la documentación de angular 6, he decidido subir un ejemplo de como añadir estas etiquetas en nuestro proyecto de angular 6. Se puede hacer como siempre se ha hecho, añadiéndolas en el index.html, pero nos encontramos con un problema, que todos los componentes tendrán las mismas etiquetas.

Así que lo mejor es subirlas como indica angular, en el fichero typescript.

Yo en el ejemplo del que me guié, incrustaba el código en el app.component.ts, así que así lo hice yo:

Aquí teneis el código para el que le sirva de ayuda:


import { Component, OnInit } from '@angular/core';
import {Meta, Title} from '@angular/platform-browser';
import {NavigationEnd, Router} from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'app';

  constructor(
    private _title: Title,
    private meta: Meta,
    private router: Router
  ) {}

  ngOnInit() {
    this.router.events.subscribe((event: any) => {
      if (event instanceof NavigationEnd) {
        switch (event.urlAfterRedirects) {
          case '/':
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            break;
          case '/pagina-1':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras claves'
            });
            break;
            case '/pagina-2':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras clave'
            });
            break;
            case '/pagina-3':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras claves'
            });
            break;
        }
      }
    });
  }
}

Espero que os sirva de ayuda, sobre todo para los que se están iniciando en angular.

miércoles, 20 de junio de 2018

Subir nueva versión a playstore de nativescript

Para subir una nueva versión de nuestra aplicación creada con nativescript a playstore debemos:

- Cambiar la versionCode y la versiónName tanto en nuestro AndroidManifest.xml en nuestra raiz del proyecto app/App_Resources/AndroidManifest.xml y en platforms/android/app/src/main/AndroidManifest.xml, no se porque pero así es como me funciona a mi, debería bastar con cambiarlo en el App_Resources, pero no, por lo menos para mi, por si alguien se encuentra este problema ahí les dejo una posible solución.

lunes, 12 de febrero de 2018

Mostrar imagen que vas a subir

Siguiendo el curso de código facílito de laravel, he añadido algo. Que se muestre la imagen que vamos a subir. Es muy fácil, solo tienes que tener instalado el plugin jquery e incrustar el script que vemos en la página de la que os dejo el enlace.

https://itsolutionstuff.com/post/display-preview-selected-image-in-input-type-file-using-jqueryexample.html

domingo, 11 de febrero de 2018

Inicio en el plugin chosen

Realizando un curso online de laravel me he encontrado con un plugin realmente muy útil, es para los select, yo lo instalé en 10 minutos, en mi proyecto.

Solo tienes que descargar en la página el .zip, descomprimirlo, e instalar la carpeta en tu proyecto.

En laravel tienes que hacer un par de pasos, que os indico, ya que cuando escribes el script no se coloca donde debería, que es al final, solo en laravel, en otros framework y lenguajes puede ser diferente. Supongo que con otros framework de php y en otros lenguajes se instalara igual que cualquier .js que este basado en jquery (despues del script de jquery). Aquí os indico los pasos a seguir en laravel:

1-Instalar el chosen.css en el head.
2-Instalar el chosen.jquery.js después del jquery.
3-Crear un campo @yield en la vista principal, por ejemplo yo lo llame @yield('js').
4-Crear un campo @section en la vista de tu select.

Lo demás es como dice la documentación, es muy fácil, simplemente llama a una clase del select que sea única, y encadenar .chosen al selector jquery. Os dejo un ejemplo y la página del plugin, el cual se  llama chosen.

Ej:

$(".single-chosen").chosen();

La página es la del enlace de abajo, ahí encontrarás la documentación, también se pueden seleccionar diversas opciones que tu mismo verás en la documentación.

https://harvesthq.github.io/chosen/

viernes, 9 de febrero de 2018

redirigir a pagina con error 404 o 500

Me he encontrado con un problema en laravel 5.5, estoy siguiendo un curso, pero está algo obsoleto, ya que es del 2015 y ya sabemos lo rápido que va esto, bueno pues os cuento, el problema es redirigir a una página cuando escribimos mal una ruta en la barra, bueno pues buscando durante un rato he encontrado una solución.

Para la solución tenemos que insertar un poco de código.

Primero vamos a app/Exceptions/handler.php.

Ya en ese fichero, vamos a la función render e insertamos un poco de código:

if($this->isHttpException($e))
        {
            switch ($e->getStatusCode()) 
                {
                // not found
                case 404:
                return redirect('home');
                break;

                // internal error
                case '500':
                return redirect('home');
                break;

                default:
                    return parent::render($request, $e);
                break;
            }
        }

De manera que la función completa nos queda así:

public function render($request, Exception $e)
    {
        if($this->isHttpException($e))
        {
            switch ($e->getStatusCode()) 
                {
                // not found
                case 404:
                return redirect('home');// esta es la ruta hacia donde queremos redirigir
                break;

                // internal error
                case '500':
                return redirect('home');// esta es la ruta hacia donde queremos redirigir
                break;

                default:
                    return parent::render($request, $e);
                break;
            }
        }
        return parent::render($request, $e);
    }

Espero que le sirva de ayuda a alguien.

jueves, 8 de febrero de 2018

Crear enlace activo en laravel

Para crear un enlace destacado en una cierta ruta, por ejemplo la ruta en la que estamos en ese momento, creamos un enlace de este tipo:

<a href="{{url('ruta_relativa')}}" class="dropdown-item {{ (url()->current() == 'https://ruta_completa_a_tu_pagina') ? 'active': '' }}">Usuarios</a>


Espero que le sirva de ayuda a alguien.

martes, 30 de enero de 2018

Problema rutas xampp laravel

Si estás teniendo problemas con las rutas y los controladores usando xampp. Prueba con esto:

1-Copia el .htaccess que esta en la carpeta public y ponlo en la carpeta raiz.
2-Cambia el nombre del fichero server.php que está en el directorio raíz, a index.php.

Después de esto, tendrás que entrar en el proyecto con la ruta de xampp.

Es decir: localhost/nombre_del_proyecto/ruta_a_la_página_o_página.

Eso es todo, espero que le sirva de ayuda a alguien.