La Web del Programador: Comunidad de Programadores
 
    Pregunta:  18945 - ACCESO A FORMULARIOS HTML DESDE JAVA
Autor:  JAIME GARCIA SAEZ
Estoy escribiendo un buscador tematico que accede a determinadas webs propuestas por el usuario. En ellas, trata de encontrar la informacion que le pueda resultar de utilidad al usuario, extrayendo para ello los elementos significativos. Poniendo un ejemplo, si el usuario quiere informacion sobre becas, el buscador deberia meterse en las webs seleccionadas por el usuario y tratar de encontrar toda la informacion sobre becas como le sea posible. De cada beca, ademas, intentara obtener datos como entidad, dotacion, duracion, tipo, lugar, informacion adicional, organismo, etc.

Ocurre que en determinadas webs, el acceso a esa informacion es a traves de formularios. Por tanto, mi pregunta se dirige a cómo puedo acceder desde un programa Java a dichos formularios, para analizarlos e introducir los datos de busqueda que den como resultado el volcado de la informacion de becas en dicha web. Es decir, busco la manera de rellenar automaticamente formularios.

Esto implica varios pasos. Identificacion de los campos del formulario, relleno de los campos, composicion del mensaje GET y recogida del mensaje de respuesta. ¿Alguien conoce alguna forma de acceder a formularios de esta manera? Agradeceria cualquier pista o consejo que pudierais darme.

Gracias y un saludo.

  Respuesta:  Rafael Hernamperez Martin
Hola, Jaime,

Para hacer estas y otras muchas cosas, debes utilizar, en primer lugar, un servidor Web que posea un servidor de aplicaciones. Esto significa que el servidor sera capaz de capturar peticiones via Web (GET o POST del formulario), ejecutar aplicaciones (ya sea Java, JSP, PHP, Servlets, ASP...) desde el propio servidor, y, mediante dichas aplicaciones formar una pagina HTML con los datos recogidos.

Yo recomiendo utilizar el servidor de aplicaciones Apache Tomcat, pues es muy fiable, rapido, optimizado y, ademas, gratuito. Una vez tengas el Tomcat puedes añadir JSP, Servlets y clases Java para formar la aplicacion que necesites.

JSP (Java Server Pages) es un lenguaje muy sencillo, que embebe el HTML y un poco de codigo Java para capturar las peticiones y formar las paginas de respuesta.

Servlet es parecido, pero algo mas complejo. Puedes prescindir de Servlets si utilizas JSP (en principio).

Si tu servidor Web no es propio, es decir, que utilizas un ISP, deberias alquilar un Hosting y que utilice un servidor de aplicaciones apropiado.

Espero que esto te oriente un poco.

Atentamente, un cordial saludo

Rafael Hernamperez Martin