Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - thehiphapper

#1
PHP / Problema con cake php y bake
5 Noviembre 2016, 20:32 PM
Estoy tratando de usar la consola de cakephp 2.9 pero al ejecutarla me tira el siguiente error(ver mas abajo), lo soluciono copiando la carpeta
C:\xampp\htdocs\elmas1\lib\Cake\Console\Config
a la ruta
C:\xampp\htdocs\elmas1\app

Pero creo que podría dar problemas, además de que lo lógico sería editar el fichero que se muestra en la consola, pero no se que editar exactamente.

c:\xampp\htdocs\elmas1\lib\Cake\Console>cake
PHP Warning:  include(c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php): failed to open stream: No such file or directory in C:\xampp\htdocs\el
mas1\lib\Cake\Core\Configure.php on line 72

Warning: include(c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php): failed to open stream: No such file or directory in C:\xampp\htdocs\elmas1\
lib\Cake\Core\Configure.php on line 72
PHP Warning:  include(): Failed opening 'c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php' for inclusion (include_path='C:\xampp\php\PEAR') in
C:\xampp\htdocs\elmas1\lib\Cake\Core\Configure.php on line 72

Warning: include(): Failed opening 'c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xa
mpp\htdocs\elmas1\lib\Cake\Core\Configure.php on line 72
PHP Fatal error:  Can't find application core file. Please create c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php, and make sure it is readabl
e by PHP. in C:\xampp\htdocs\elmas1\lib\Cake\Core\Configure.php on line 77

Fatal error: Can't find application core file. Please create c:\xampp\htdocs\elmas1\lib\Cake\Console\Config\core.php, and make sure it is readable by
PHP. in C:\xampp\htdocs\elmas1\lib\Cake\Core\Configure.php on line 77


#2
Gracias, despues de unos dias haciendo pruebas, creo que lo domino  ;-)
#3
Cita de: Zeros1001 en  5 Septiembre 2016, 12:01 PM
Tienes que llamar desde Jquery a tu servlet (el mismo nombre del servlet), de todas formas, ahí no estás usando Ajax, y si no usas Ajax la página se recargará y tú no quieres eso, no?

Saludos!

Muchas gracias, efectivamente me había colado con el nombre del servlet. No quiero que se recargue la página, ahora funciona y parece que no se recarga o por lo menos da esa sensación, siempre he pensado que jquery evitaba que se recargase la página, ¿como se debería hacer correctamente?Muchas gracias.
#4
Estoy aprendiendo a usar servlet y simplemente quería desde un jsp (index.jsp), pulsando un boton, el servlet me devuelva "Boton pulsado" impreso en un div del index.jsp, pero quería hacerlo con jquery  para que no se recargue la página, de momento llevo lo siguiente:


Index.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <script src="scripts/jquery-3.0.0.min.js">

</script>
<script>
$(document).ready(function() {
$('#submit').click(function(event) {

$.post('ActionServlet', {

}, function(responseText) {
$('#tabla').html(responseText);
});
});
});
</script>
    </head>
    <body>
        <h1>Hello World!</h1>
        <form id="form1">
            <input type="button" id="submit" value="Pulsame" />
        </form>
        <br>
        <div id="tabla"></div>
       
       
       
    </body>
</html>



Servlet:

package MiPackage;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*
* @author user
*/
public class MiServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
       
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
       
        response.setContentType( "text/html; charset=iso-8859-1" );
PrintWriter out = response.getWriter();
        out.println("<p>Boton pulsado<p>");
       
       
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}




web.xml (aquí no toqué nada, según se generó, así lo he dejado)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>MiServlet</servlet-name>
        <servlet-class>MiPackage.MiServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MiServlet</servlet-name>
        <url-pattern>/MiServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>




El problema es que cuando pulso el boton no hace nada, miro en la consola web de firefox y cada vez que pulso me da el siguiente error:

POST XHR http://localhost:8080/ajaxjsp2/ActionServlet             [HTTP/1.1 404 Not Found 0ms]


¿donde estoy metiendo la pata?Gracias.
#5
Gracias, parece que aunque añada excepción, no es suficiente, también desactive el antivirus (avast)  y parce que funciona así que debe ser tema de puertos o configuración de antivirus,todo esto desde el emisor (Windows 7).
#6
Tengo instalado steam en una torre (w7) y en un portatil (w10), he conseguido que hagan ping un equipo al otro y "del otro al uno", en el windows 10 tengo mcafee (firewall de mcafee) y en el windows 7 avast free (firewall de windows), en ambos equipos, en el firewall tengo añadido steam como excepción pero tambien probé a deshabilitarlo y nada.

El problema que tengo es que no puedo usar la opción de "retrasmisión en casa", de windows 7 a windows 7 sin problema, pero de windows 7 a windows 10 no hay manera, lo raro es que antes de tocar nada, hacia ping de w7 a w10 pero no de w10 a windows 7, ambos equipos están metidos en el mismo grupo de hogar y ya no se qué mas probar, ¿alguna sugerencia?, gracias.
#7
Muchas gracias, muy ingenioso. Hay un pequeño problema, he puesto puntos de ruptura y la variable num, no coge ningún valor, debería cogerlo en la siguiente linea:

           
Código (java) [Seleccionar]
  int num = Integer.parseInt(String.valueOf(st.nextToken()));

En cambio cuando pasa de esa linea sin coger ningún valor, va directamente a:

Código (java) [Seleccionar]
catch (Exception e){ //Catch de excepciones
           System.err.println("Ocurrio un error: " + e.getMessage());
       }


el error que da es: Ocurrio un error: null

¿el error podría deberse a que cada vez que se llama a st.nextToken, analiza el siguiente string?,

No se si me explico, si por ejemplo el string es "1 Hola que tal", La clase StringTokenizer la primera vez que llamas a st.nextToken te llama al método isNumber y como es un numero retorna verdadero, pero a la hora de pasar el valor 1 a num, se llama de nuevo a st.nextToken por lo que intenta pasar "hola" a la variable entera num.
#8
El fichero contiene lo siguiente:


3
3
0   2   2
1   1   2
2   3   2
3   1   4
4   2   2
5   3   4
6   1   4
7   1   2
8   3   3
9   1   4


Quería almacenar todo esto en: int Numeros[];

He probado a leer el fichero caracter por caracter y me lo lee bien, haciendo uso de la clase fileread, para que lo imprima bien hago:

Código (java) [Seleccionar]
int caract = fr.read();

  //Se recorre el fichero hasta encontrar el carácter -1
  //   que marca el final del fichero
  while(caract != -1)
  {
      //Mostrar en pantalla el carácter leído convertido a char
     
      System.out.print((char)caract);  
            caract = fr.read();
  }


Si no hago la conversion a tipo caracter, no me visualiza bien los numeros(me muestra otros numeros distintos), descarte esa opcion y probé con otro código, esta vez usando las clases FileInputStream, DataInputStream, BufferedReader y StringTokenizer. Ahora me pone null al ejecutar el siguiente codigo:

Código (java) [Seleccionar]
while ((strLinea = buffer.readLine()) != null)   {
               
             
               StringTokenizer st = new StringTokenizer(strLinea, "\t");
               while (st.hasMoreTokens()) {
                   
                           System.out.println(st.nextToken());


                   Numeros[cont]=Integer.parseInt(st.nextToken());
               cont++;    
               }
               
           }



¿cual es la manera mas sencilla y efectiva de pasar mi fichero .txt a int Numeros[]?


Gracias.
#9
Gracias, al final era un comentario, que era muy largo y me estaba dando problemas.
#10
Tengo 3 clases creadas, la idea es mover una imagen en un JFrame usando las flechas de teclado, compila sin error, muestra la imagen en el JFrame, pero al pulsar las teclas de dirección del teclado, la imagen no se mueve, ¿que tendría que cambiar?Gracias.

Clase juegoInicio:

import javax.swing.JFrame;


public class JuegoInicio extends JFrame
{
   

    public JuegoInicio()
    {
    add(new Tablero());
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(800, 600);
    setLocationRelativeTo(null);
    setTitle("R-Type");
    setResizable(false);
    setVisible(true);
    }

   
    public void main(String[] args)
    {
       new JuegoInicio();
    }
}


Clase Tablero:


import java.awt.Image;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.ImageIcon;
import java.awt.Toolkit;
import javax.swing.JPanel;
import java.awt.Graphics2D;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.Timer;
import java.awt.event.KeyListener;
import java.awt.event.ActionListener;
   
    public class Tablero extends JPanel implements ActionListener
   
    {
     private Timer timer;
     private Craft craft;
   
    public Tablero()
    {
    addKeyListener(new TAdapter());
    setFocusable(true);
    setBackground(Color.BLACK);
    setDoubleBuffered(true);
    craft = new Craft();
    timer = new Timer(5, this);
    timer.start();
    }
   
    public void paint(Graphics g)
    {
    super.paint(g);
    Graphics2D g2d=(Graphics2D)g;
    g2d.drawImage(craft.getImage(), craft.getX() ,getY(), this);
   
    Toolkit.getDefaultToolkit().sync();
    g.dispose();
    }
   
    public void actionPerformed(ActionEvent e)
    {
    craft.move();
    repaint(); //vuelve a ejecutar el metodo paint
    }
   
   
    public class TAdapter extends KeyAdapter {
        public void KeyReleased(KeyEvent e) {
            craft.keyReleased(e);
        }
        public void KeyPressed(KeyEvent e) {
            craft.keyPressed(e);
        }
    }
}


Clase Craft:

import java.awt.event.ActionListener;
import javax.swing.JPanel;
import java.awt.Image;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.ImageIcon;
import java.awt.Toolkit;
import javax.swing.JPanel;
import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;


public class Craft
{
    private String craft = "Logo.jpg";//ruta donde esta la imagen que queremos pintar en pantalla
    private int dx;//desplazamiento x
    private int dy;//desplazamiento y
    private int x;
    private int y;
    private Image image;//objeto que va a contener la imagen

    public Craft()
    {
    ImageIcon ii = new ImageIcon(this.getClass().getResource(craft));//extrae la imagen que tenemos guardada
    image = ii.getImage();//almacena la imagen en un objeto
    x=40;
    y=60;
   
    }
public void move()//cuando se detecte una pulsación  de tecla se llama a este metodo
{
x += dx;//desplazamiento x
y += dy;
}
public int getX()
{
return x;
}
public int getY()
{
return y;
}
public Image getImage()
{
return image;
}
public void keyPressed(KeyEvent e)

    {
        int key = e.getKeyCode();
       
        if(key == KeyEvent.VK_LEFT)
            {
            dx = -1;
            }
        if(key == KeyEvent.VK_RIGHT)
            {
            dy = 1;
            }
        if(key == KeyEvent.VK_UP)
            {
            dx = -1;
            }
        if(key == KeyEvent.VK_DOWN)
            {
            dy = 1;
            }
    }
public void keyReleased(KeyEvent e)//para dejar de mover nuestra imagen al soltar la tecla, se hace en 2 metodos separados porque si no al soltar una de las teclas la nave se queda parada.
    {
    int key = e.getKeyCode();
    if(key == KeyEvent.VK_LEFT)
        {
        dx=0;
        }
        if(key == KeyEvent.VK_RIGHT)
        {
        dy=0;
        }
        if(key == KeyEvent.VK_UP)
        {
        dx=0;
        }
        if(key == KeyEvent.VK_DOWN)
        {
        dy=0;
        }
    }
   

}