Академический Документы
Профессиональный Документы
Культура Документы
TECNOLÓGICO
Ingeniería en Sistemas Computacionales Tecnológico
NACIONAL
DE MÉXICO de la Costa Grande
Unidad II “Aplicaciones web”
Por lo tanto, ambas versiones del JDK proporcionaban control del tipo todo o nada. Los programas tenían
todos los permisos o tenían los permisos otorgados por la sandbox. La nueva plataforma Java tiene un
mecanismo más robusta y flexible a la vez, una política de seguridad asigna un conjunto de permisos a
orígenes de código, los cuales un poco de investigación y lectura por parte del programador, puede lograr
vencer las nuevas barreras de seguridad, que protegen programas disfrazados de applets.
Hay varias clases de permisos cada una de las cuales encapsula los detalles de un permiso particular.
establece que es posible leer y escribir cualquier archivo del directorio /tmp/. La jerarquía de permisos se
muestra en el siguiente diagrama:
policy.provider = sun.security.provider.PolicyFile
Es decir, los permisos se deben especificar en un fichero. La siguiente línea muestra un ejemplo de permiso en un
fichero de política de seguridad:
Se pueden crear archivos de políticas en localizaciones prefijadas. Por defecto existen dos localizaciones:
Estas localizaciones están establecidas por defecto en el fichero java.security de la siguiente forma:
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
Durante la fase de desarrollo es mejor no modificar estos ficheros estándar java.policy o .java.policy (ya que los
podríamos dejar en un estado peligroso).
Es mejor especificar de forma explícita el archivo de políticas necesario para cada aplicación. Para ello hay que
colocar los permisos en un determinado archivo (por ejemplo aplicacion.policy
e iniciar la máquina virtual del siguiente modo:
java-Djava.security.policy=aplicacion.policyAplicacion
Para applets cargados con appletviewer se utiliza (si el fichero de política se llama applet.policy).
Appletviewer −J−Djava.security.policy=applet.policyapplet.html
El archivo de polÍticas especificado se añade a las políticas especificadas en los ficheros java.policy en el directorio
jre/lib/security y .java.policy en el directorio raíz del usuario. Si se añaade un segundo signo igual entonces solo se
utiliza el archivo de política especificado, ignorando los otros.
appletviewe r −Djava.security.policy==aplicacion.policyAlicacion
Como ya se comentó anteriormente, las aplicaciones Java ejecutadas localmente, por defecto, no instalan ningún
administrador de seguridad. Para ver el efecto de los ficheros de políticas en las aplicaciones hay que utilizar un
administrador de seguridad, para ello hay dos posibilidades:
java −Djava.security.manager−Djava.security.policy=aplicacion.policyAplicacion
nombreClase es el nombre completo (incluyendo la información del paquete al que pertenece) de una clase de
permisos (por ejemplo java.net.SocketPermission).
nombreDestino es una especificación del permiso, en el ejemplo anterior sería especificar el servidor y quizá un
numero de puerto.
listaAcciones es también una especificación de permiso, se trata de una lista de acciones como read o connect
separadas por comas. Algunas clases de permisos no necesitan que se especifique nombreDestino o listaAcciones.
Ejemplo: ISCTAPU2EJEM009
Archivo html
<!--
Nombre del programa: ISCTAPU2EJEM009.html
Fecha de programacion: 16 de Abril de 2018
Autor :
Objetivo : Carga el appet de java ISCTAPU2EJEM009.class
-->
<HTML>
<HEAD>
<TITLE>Topicos Avanzados de programación </TITLE>
</HEAD>
<CENTER>
<h1>
UNIDAD 2
</h1>
<h6>
"Desarrollo de aplicaciones para internet"
</h6>
<APPLET
CODE = "ISCTAPU2EJEM009.class"
WIDTH = 1000
HEIGHT = 200>
</APPLET>
</CENTER>
</HTML>
Archivo java
/***************************************************
Nombre del programa: ISCTAPU2EJEM009.java
Fecha de programacion: 16 de Abril de 2017
Autor :
Objetivo : Ejemplo de visualizacion de CampodeTexto
mediante la pulsacion de un Boton
*****************************************************/
import java.awt.*;
import java.applet.*;
public class ISCTAPU2EJEM009 extends Applet {
// Declaracion de variables objetos de clase TextField de libreria awt
TextField CampodeTexto1, CampodeTexto2;
Ejercicio: ISCTAPU2EJER009
1) En base al ejemplo ISCTAPU2EJEM009.java debera realizar las investigacion necesaria para poder realizar la
practica
2) Debera deiseñar la interfaz para capturar
a) Nombre
B) Apellido Paterno
C) Apellido Materno
D) Fecha de nacimiento
1) Año
2) Mes
3) Dia
Bajo el siguiente formato
2018 Abril 16
3) A su vez cada uno de los datos debe tener su objeto reflejo correspondiente
4) El objeto reflejo del nombre debe tener las siguientes caracteristicas
1) Color de fondo blanco
2) Color de letra Rojo
5) El objeto reflejo del Apellido paterno debe tener las siguientes caracteristicas
1) Color de fondo Negro
2) Color de letra blanca
6) El objeto reflejo del Apellido materno debe tener las siguientes caracteristicas
1) Color de fondo Azul
2) Color de letra blanca
Practica: ISCTAPU2PRAC009
INVESTIGAR TODA LA TEORIA RELACIONADA A CADA UNO DE LOS METODOS SIGUIENTES EN SU LIBRETA
- handleEvent
- action
ELABORAR UN MAPA MENTAL EN SU LIBRETA DE CADA UNO DE LOS TEMAS INVESTIGADOS EN EL PUNTO
ANTERIOR
Ejemplo1M
Archivo en java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
Archivo en html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="000000">
<center>
<applet
code = "MenuEmergente.class"
width = "500"
height = "300"
>
</applet>
</center>
</body>
</html>
Ejemplo2M
Archivo en java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
frame(String title){
super(title);
label = new Label("¡Hola desde Java!");
setLayout(new GridLayout(1, 1));
add(label);
menubar = new MenuBar();
menu = new Menu("Archivo");
menuitem1 = new MenuItem("Elemento 1");
menu.add(menuitem1);
menuitem1.addActionListener(this);
menuitem2 = new MenuItem("Elemento 2");
menu.add(menuitem2);
menuitem2.addActionListener(this);
menuitem3 = new MenuItem("Elemento 3");
menu.add(menuitem3);
menuitem3.addActionListener(this);
menubar.add(menu);
setMenuBar(menubar);
addWindowListener(new WindowAdapter() {public void
windowClosing(WindowEvent e) {setVisible(false);}});
}
Archivo en html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="000000">
<center>
<applet
code = "Ejemplo2M.class"
width = "500"
height = "300"
>
</applet>
</center>
</body>
</html>