You are on page 1of 11

Seminario Sistemas Semipresencial

Carlos 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 significativos Ejemplo:
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

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado
.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 matemticas
Si se importa la clase, se tiene acceso al conjunto de funciones matemticas estndar:
Math.abs( x ) para int, long, float y double Math.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 float Math.random() devuelve un double Math.max( a,b ) para int, long, float y double Math.min( a,b ) para int, long, float y double Math.E para la base exponencial Math.PI para PI

Ejemplo: class Mates { public static void main( String args[] ) { int x; double rand,y,z;

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado 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 Math

System.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 GET Un 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.com En la barra de URL de un navegador cualquiera la peticin anterior sera anloga a la siguiente direccin Web: www.host.com/index.html Peticin 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

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado 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: Nombre Hipervnculo enlace o link Descripcin Es 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.

Al realizar el envo satisfactorio de los datos de un formulario, el navegador Formulario web Web genera una peticin GET o POST (comnmente POST) automtica a la par que enva los datos al servidor. Todos 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. Cualquier 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).

Barra de direcciones

Script activo o pasivo

SERVLETS Servlet 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

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado 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/ nombreServlet El 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.

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado 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:

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado 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=20 HttpServletResponse 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(); }

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado

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 8080 La forma ms fcil de cambiar el 8080 por otro puerto es modificar en el archivo: <jboss>/server/default/deploy/jboss-web.deployer/server.xml En la siguiente lnea y reiniciar el servidor: <Connector port="8080" address="${jboss.bind.address}"

2. Forma:
Modificar ste puerto y el rango de direcciones a las que JBoss escucha es muy sencillo. Basta con editar el archivo jboss/server/default/deploy/jbossweb.sar/server.xml (cambiar default por la instancia utilizada) y modificar el puerto y la direccin donde escuchar. La lnea a editar es la que empieza por: 1 <Connector protocol="HTTP/1.1" ... />

Por ejemplo, para escuchar peticiones de cualquier rango de direcciones en el puerto estndar HTTP (el puerto 80), la cambiaramos por: 1 <Connector protocol="HTTP/1.1" port="80" address="0.0.0.0" redirectPort="443" />

Tras hacer el cambio, basta con reiniciar JBoss.

Linkografa: http://html.rincondelvago.com/java-servlets.html http://es.wikipedia.org/wiki/Servidor_web https://www.ideasoft.biz/wiki/display/O3PS/HowTo+Cambiar+el+puerto+8080 +en+JBoss tp://java.hijodeblog.com/2011/07/25/como-cambiar-el-puerto-8080-pordefecto-de-jboss/

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado

El comando MkLink: Aplicado en DOS


MKLINK Crea vnculos simblicos y fsicos a un directorio o archivo. Como usarlo: MKLINK /D Nombre Destino Crea un vnculo simblico (acceso directo) a una carpeta MKLINK /H Nombre Destino Crea un vnculo fsico MKLINK /J Nombre Destino Crea una unin de directorios Ejemplos prcticos del uso del comando MKLINK Crear un acceso directo:
MKLINK /D MisFotos "D:\Imagenes\Fotos\Fotos de marta"

Sintaxis
MKLINK [[/ d] | [/h] | [/j]] <Link><Target>

Parmetros
Parmetro Descripcin

Crea un vnculo simblico de directorio. De forma predeterminada, mklink crea un vnculo simblico de archivo. /h Crea un vnculo fsico en lugar de un vnculo simblico. /j Crea a una unin de directorios. <Link> Especifica el nombre del vnculo simblico que se va a crear. Especifica la ruta de acceso (relativa o absoluta) que hace referencia el <Target> nuevo vnculo simblico. /? Muestra la Ayuda en el smbolo del sistema. /d

Ejemplo:
Para crear un vnculo simblico denominado MyDocs desde el directorio raz del directorio \Users\User1\Documents, escriba:
MKLINK /d \MyDocs \Users\User1\Documents

1. Navegamos a la carpeta Users (generalmente en C) y buscamos la carpeta a mover, en este caso C:Usersmiusuario , la copiamos en la unidad a donde queremos que est, en este caso D: quedando la ruta de la misma como D:miusuario . 2. Borramos la carpeta C:Usersmiusuario, esto es muy importante de lo contrario te aparecer un error diciendo No se puede crear un fichero que ya existe 3. Abrimos una ventana de MSDOS dando click derecho y seleccionando la opcin Ejecutar como administrador al cono de Smbolo de sistema ubicado en 9

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado

Inicio>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:miusuario Y 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/Eclipse Hay 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 RAM 2. 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 RAM Por ejemplo :
cd C:\Dev\Apps Xcopy jdk R:\jdk\ /s ren jdk jdk-COPY mklink /J jdk R:\jdk

10

Seminario Sistemas Semipresencial


Carlos Culcay Alvarado Ejemplo: crear un enlace al sdk de android con MKlink 1. 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 SDK instalado, de la siguiente manera: 1

MKLINK /J C:\Android "C:\Program Files\Android\android-sdk\"

Diferencia entre java y java EE JAVA es el nombre de la tecnologa, mientras que J2EE es el nombre de un mdulo de la tecnologa JAVA, orientado a Web
j2SE (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.

11

You might also like