Consulta Java

download Consulta Java

of 11

Transcript of Consulta Java

Seminario Sistemas SemipresencialCarlos Culcay Alvarado

Consulta:1. La clase Big Decimal.- est bajo java.math biblioteca. Clase BigDecimal mejora la limitacin los usuarios sobre la accin de redondeo en los nmeros, proporcionando un conjunto de ocho modos de redondeo como ROUND_CEILING, ROUND_DOWN, ROUND_FLOOR, etc.Los clculos realizados por los programas en nmeros enteros, racionales y decimales, mediante la clase BigDecimal, se realiza a travs de una tcnica conocida como proceso de precisin arbitraria en la que estn implicados un nmero no determinado de dgitos de precisin (precisin de los dgitos del nmero a menudo se limita a la memoria del sistema del anfitrin).

Clase BigDecimal ofrece la oportunidad de realizar diversas operaciones tales como suma matemtica de suma, resta, multiplicacin y divisin. Por la disponibilidad de un conjunto de ocho modos de redondeo, se aumenta el control del usuario en la aplicacin de funcin de redondeo. Otras caractersticas como el anlisis (comparacin), formato de alteracin (cambio), hash y autorizacin en las escalas de ajuste han incrementado el uso de esta clase en la creacin de aplicaciones de negocios.La clase BigDecimal est diseada para resolver dos tipos de problemas que estn asociados con nmeros de punto flotante. En primer lugar, la clase BigDecimal se puede utilizar para representar exactamente nmeros decimales. En segundo lugar, se puede utilizar para trabajar con nmeros que tienen ms de 16 dgitos significativosEjemplo:import java.lang.Math; import java.math.BigDecimal; import java.text.NumberFormat; import java.util.*;

public class Java_Bigdecimal_Example { public static void main ( String args []) {

NumberFormat currency = NumberFormat.getCurrencyInstance ( Locale.US ) ;

double apple_price = 32.86426 ; System.out.print ( "Math class round method :" + currency.format ( Math.round ( apple_price )) + "\n" ) ;

// creating BigDecimal class object BigDecimal bigDecimal_Apple_price = new BigDecimal ( "52.2516" ) ; System.out.print ( "java.math package BigDecimal class" + " methods example: \n" + currency.format (( bigDecimal_Apple_price .setScale ( BigDecimal.ROUND_HALF_UP )) .floatValue ()) + "\n" ) ;

System.out.print ( currency.format (( bigDecimal_Apple_price.setScale ( 0 , BigDecimal.ROUND_HALF_EVEN )) .floatValue ())) ; } }2. La Clase Math.- La clase Math representa la librera matemtica de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propsito de agrupacin, por eso se encapsulan en Math, y lo mismo sucede con las dems clases que corresponden a objetos que tienen un tipo equivalente (Character, Float, etc.). El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla. Funciones matemticasSi se importa la clase, se tiene acceso al conjunto de funciones matemticas estndar:Math.abs( x )para int, long, float y doubleMath.sin( double )Math.cos( double )Math.tan( double )Math.asin( double )Math.acos( double )Math.atan( double )Math.atan2( double,double )Math.exp( double )Math.log( double )Math.sqrt( double )Math.ceil( double )Math.floor( double )Math.rint( double )Math.pow( a,b )Math.round( x )para double y floatMath.random()devuelve un doubleMath.max( a,b )para int, long, float y doubleMath.min( a,b )para int, long, float y doubleMath.Epara la base exponencialMath.PIpara PIEjemplo:class Mates {public static void main( String args[] ) {int x;double rand,y,z;float max;rand = Math.random();x = Math.abs( -123 );y = Math.round( 123.567 );z = Math.pow( 2,4 );max = Math.max( (float)1e10,(float)3e9 ); // Se imprimen en consola los nmeros obtenidos de las Operaciones anteriores para comprobar los resultados de la aplicacin de los mtodos definidos en la clase MathSystem.out.println( rand );System.out.println( x );System.out.println( y );System.out.println( z );System.out.println( max );}3. Estructura Bsica de Servlet y W. S.Web Server.- Un servidor web o servidor HTTP es un programa informtico que procesa una aplicacin del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y sncronas o asncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicacin del lado del cliente. El cdigo recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisin de todos estos datos suele utilizarse algn protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicacin del modelo OSI. El trmino tambin se emplea para referirse al ordenador que ejecuta el programa.Peticin GETUn servidor web opera mediante el protocolo HTTP, de la capa de aplicacin del Modelo OSI. Al protocolo HTTP se le asigna habitualmente el puerto TCP 80. Las peticiones al servidor suelen realizarse mediante HTTP utilizando el mtodo de peticin GET en el que el recurso se solicita a travs de la url al servidor web.GET /index.html HTTP/1.1 HOST: www.host.comEn la barra de URL de un navegador cualquiera la peticin anterior sera anloga a la siguiente direccin Web:www.host.com/index.htmlPeticin Web.- El navegador por medio de la interfaz de usuario permite al usuario realizar una o varias peticiones web. La interfaz de usuario o entorno de usuario es el conjunto de elementos del navegador que permiten realizar la peticin de forma activa. Una peticin Web no slo puede ser realizada mediante un navegador sino con cualquier herramienta habilitada para tal fin, como una consola de comandos Telnet.Elementos del entorno de usuario ms comunes en navegadores Web visuales:NombreDescripcin

Hipervnculo enlace o linkEs una porcin de contenido Web, texto, imagen y otros elementos, que enlaza con una direccin Web. Al pulsar un hipervnculo el navegador genera una peticin GET automtica a la direccin URL de dicho link.

Formulario webAl realizar el envo satisfactorio de los datos de un formulario, el navegador Web genera una peticin GET o POST (comnmente POST) automtica a la par que enva los datos al servidor.

Barra de direccionesTodos los navegadores incluyen una barra de direcciones mediante la cual puede accederse manualmente a cualquier direccin URL, de modo que el navegador generar una peticin GET automtica a dicha URL cada vez que el usuario lo desee.

Script activo o pasivoCualquier aplicacin Javascript tiene acceso al estado del navegador, cmo puede modificar los datos que describen tal estado, de forma pasiva (sin medio de la intervencin del usuario) o de forma activa (mediante alguna accin del usuario).

SERVLETSServlet son una serie de aplicaciones programadas en Java que se ejecutan completamente en un servidor (Web Server). Un servlet va a aceptar una peticin de un cliente a travs del Web Server, har su tarea y devolver al cliente una respuesta.Los servlets son el sustituto de los antiguos CGI (Common Gateway Interface), puesto que los CGI estaban escritos en C Perl y los servlets estarn escritos en Java, aportando este lenguaje la independencia de plataforma. Algunas ventajas de los servlets frente a CGI son: Persistencia de los servlets: Los servlets se cargan una sola vez por el Web Server y pueden mantener la conexin entre varias peticiones. Rapidez de los servlets: puesto que slo se cargan una vez. Independencia de plataforma. Extensibilidad de los servlets. Como estn escritos en Java, aportan todos los beneficios de este lenguaje. Java es lenguaje robusto y orientado a objetos, por lo que es fcilmente extensible a nuestras necesidades. Seguridad de los servlets: La nica forma de invocar un servlet es a travs de un Web Server. Esto da un alto nivel de seguridad, especialmente si el Web Server est protegido por un muro de contencin (firewall). Esto significa que el cliente no puede borrar ni modificar nada del propio servidor. Para ampliar la seguridad, puedo definir usuarios y grupos de usuarios. Por ltimo decir que se pueden usar caractersticas nativas de seguridad, como el encriptamiento de mensajes.Los servlets pueden ser usados por cualquier nmero de clientes.Flujo de un Servlet:En primer lugar, el cliente (Navegador Web) hace una peticin para cargar una pgina HTML. El http Web service (que est dentro del Web Server) recibe la peticin reconociendo que se trata de una peticin de lectura de una pgina HTML. Tras esto, invoca el File Servlet para buscar el fichero de E/S. La pgina HTML ser devuelta al cliente expuesta en el navegador.Si el navegador Web hace una peticin POST de HTML, el http service recibir de nuevo la peticin. Si el POST requiere que se cargue un servlet, la peticin ser reenviada la invoker servlet, que invocar el servlet deseado. El servlet har algn tipo de proceso y devolver datos de vuelta al cliente a travs de http.

Cmo sabe exactamente el http Web service si tiene que invocar un servlet? En el lado del cliente habr que especificar un URL que llame especficamente al servlet que queremos invocar.http:// localhost:8080/servlet/ nombreServletEl nombre del servlet suele ser un alias.Ahora vamos a ver el ciclo de vida del servlet:Carga del servlet: Si no estaba cargado, se carga con el invoker. El servlet se carga una sola vez, y despus se lanzan hilos del mismo servlet a todo cliente que lo solicite.Inicializacin del servlet: Se llama al mtodo init() del servlet para proceder a su inicializacin. La llamada a este mtodo se hace una sola vez tras ser cargado el servlet, aunque otros clientes quieran acceder a l.Desde la peticin HTML POST se llama el mtodo doPost() del servlet.El servlet realiza sus procesos y devuelve algo sobre el output stream.La respuesta que viene del servlet la recibe inicialmente el http Web service, que har tambin sus procesos.El API Servlet:El API Servlet es claro y simple. Un servlet es una clase Java que implementa la interfaz Servlet, que define cinco mtodos: service(): Es el corazn de los servlets. El servidor invoca al mtodo service() para ejecutar respuestas. El mtodo service() acepta como parmetros objetos ServletRequest, que encapsula la peticin del cliente y ServletResponse, que dispone de mtodos para devolver informacin al cliente. init(): Es el lugar donde se inicaliza el servlet. Es un mtodo que acepta como parmetros un objeto de tipo ServletConfig, que contiene la configuracin del servidor, y se garantiza que solamente se llamar una vez durante la vida del servlet getServletConfig(): Debe devolver el objeto ServletConfig que se pasa como parmetro al mtodo init(). destroy(): Libera el servlet. Se llama cada vez que el servlet debe ser descargado. Todos los recursos del sistema bloqueados por init() son liberados al invocar este mtodo y se garantiza que solo se le llamar una vez durante el la vida del servlet. getServletInfo(): devuelve una cadena con la informacin de Copyright. Para asegurar un ptimo rendimiento, el servidor solamente carga una vez el servlet. Una vez cargado, permanece en memoria, estando disponible en cualquier instante para procesar cualquier peticin. Por lo tanto, varias tareas pueden llamar simultneamente al mtodo service(), por lo que la sincronizacin dentro de service debe ser una premisa a no olvidar jams.Creacin de servlets:Hay slo dos pasos bsicos para escribir un servlet que sirva una respuesta para una peticin a travs de http:Crear una nueva clase servlet que extienda Javax.servlet.http.HttpServlet. Esta clase a su vez extiende la clase Javax.servlet.GenericServlet y contiene un cdigo especial para analizar informacin sobre la cabecera y el paquete del cliente. Este cdigo se encuentra en la clase Javax.servlet.http.HttpServletRequest. Para evitar hacer referencia a estas clases con el nombre tan largo basta con poner estas sentencias de importacin en la cabecera de nuestro servlet:import Javax.servlet.*;import Javax.servlet.http.*; Sobrescribir los mtodos doGet y doPost. Aqu es donde se realiza realmente el trabajo para que el servlet tenga sentido. Estos mtodos reciben por parmetros la peticin del cliente y la respuesta al mismo. Ambos mtodos lanzan excepciones. Una cabecera para estos mtodos es:public void doGet/doPost (HttpServletRequest req,HttpServletResponse rep)throws ServletException, Java.io.IOException {HttpServletRequest proporciona los datos del solicitante, como nmero de sesin, informacin, etc. Es una especie de array cuyos elementos puedo pasar como parmetros a travs del URL:http://localhost:8080/servlet/NombreServlet nombre=Pepe & edad=20HttpServletResponse proporciona servicios para dar una rplica al cliente. Representa la comunicacin de vuelta al cliente.El mtodo doGet se sobreescribir cuando el cliente quiera cargar una pgina HTML. doPost se implementar cuando el cliente quiera cargar un servlet, pasndole a ste ciertos parmetros.Las primeras instrucciones que tenemos que programar tanto en doGet como en doPost son siempre las mismas: tenemos que indicar el tipo de respuesta que le vamos a dar al cliente y crear un objeto de la clase PrintWriter para escribir la respuesta a travs de un output stream:/* indicamos que la respuesta va a ser una pgina HTML */resp.setContentType(text/html);/* Preparamos la salida */new Java.io.PrintWriter(resp.getOutStream());Opcionalmente, el servlet puede sobrescribir los mtodos init y destroy para realizar algn tipo de inicializacin y destruccin (en init podemos conectar a una base de datos y en destroy nos desconectamos).La programacin bsica de estos mtodos es:public void init (ServletConfig cfg) throws ServletException {super.init(cfg);}public void destroy () {super.destroy();}

4. Jboss.-como cambiar el Puerto 8080 (default)1. Forma:La configuracin de puertos de JBoss puede especificarse en un archivo xml, lo que facilita su administracin. Ejemplo: Cmo cambiar puerto 8080La forma ms fcil de cambiar el 8080 por otro puerto es modificar en el archivo:/server/default/deploy/jboss-web.deployer/server.xmlEn la siguiente lnea y reiniciar el servidor:Todos los programas> Accesorios, cuando se abra escribimos MKDIR y oprimimos ENTER para ver el men de ayuda de este comando

4.- Ahora si viene lo bueno escibimos en la consola lo siguiente:MKLINK /D C:Usersmiusuario D:miusuarioY si hicimos todo bien nos aparecer un mensaje de confirmacin de que toso sali bien

6.- Reinicia de nuevo y entra con la cuenta a la que le cambiaste la carpeta, si entras a la carpeta C:users vers que en vez de la carpeta miusuario est un acceso directo que lleva a la ubicacin real de tus archivos.

El comando MkLink en entorno java/EclipseHay un truco que te permite mover carpetas o archivos ( para el caso) al disco virtual sin hacer un solo cambio de configuracin.1. Copie la carpeta en el disco RAM2. Cambiar el nombre de la carpeta original ( he aadido -COPY hasta el final)3. Utilice elMKLINK / Jpara hacer un enlace desde el lugar en el disco donde el directorio que sola ser antes de que le cambi el nombre al lugar donde se ha copiado en el disco RAMPor ejemplo :cd C:\Dev\AppsXcopy jdk R:\jdk\ /sren jdk jdk-COPYmklink /J jdk R:\jdk

Ejemplo: crear un enlace al sdk de android con MKlink1. puedes aplicar el siguiente comando para crearle una especie de link en un directorio especifico como por ejemplo en C:\Android, de la ruta del SDKinstalado, de la siguiente manera:1MKLINK /J C:\Android "C:\Program Files\Android\android-sdk\"

Diferencia entre java y java EEJAVA es el nombre de la tecnologa, mientras que J2EE es el nombre de un mdulo de la tecnologa JAVA, orientado a Webj2SE (java) es la plataforma que comnmente se utiliza para hacer nuestros programas en java, mientras que java EE es el entorno que permite desarrollar aplicaciones en la Web (por ejemplo web service, o aplicaciones cliente/servidor)Qu es Java Enterprise Edition (Java EE)?Java EE es un entorno independiente de la plataforma centrado en Java para desarrollar, crear e implementar en lnea aplicaciones empresariales basadas en web. Java EE incluye muchos componentes de Java Standard Edition (Java SE). La plataforma Java EE consta de un conjunto de servicios, API y protocolos que proporcionan la funcionalidad necesaria para desarrollar aplicaciones basadas en web de varios niveles.Java EE simplifica el desarrollo de aplicaciones y reduce la necesidad de programacin y formacin para programadores al crear componentes modulares normalizados y reutilizables, as como al permitir controlar muchos aspectos de la programacin automticamente por nivel.Si es un desarrollador empresarial, necesita Java EE. Los desarrolladores empresariales necesitan Java EE porque crear aplicaciones empresariales distribuidas no es sencillo, y necesitan una solucin de alta productividad que les permita centrarse nicamente en escribir su lgica empresarial y disponer de una gama completa de servicios de clase empresarial en la que confiar, como objetos distribuidos transaccionales, middleware orientado a mensajes y servicios de directorio y asignacin de nombres.

9