PDF de programación - Java Servlets

Imágen de pdf Java Servlets

Java Servletsgráfica de visualizaciones

Publicado el 31 de Julio del 2017
650 visualizaciones desde el 31 de Julio del 2017
227,2 KB
23 paginas
Creado hace 18a (17/04/2006)
Java Servlets

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y Programación

Universidad Complutense de Madrid

17 de abril de 2006

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

input, output

En pascal input, output

p r o g r a m h o l a M u n d o ( input , output );
var

nombre : String ;

begin

readLn ( nombre );
w r i t e L n ( ’ Hola ’ , nombre );

end .

1
2
3
4
5
6
7

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

input, output

HttpServletRequest, HttpServletResponse

import javax . s e r v l e t .*;
import javax . s e r v l e t . http .*;
import java . io .*;
public class H o l a M u n d o e x t e n d s H t t p S e r v l e t {

public final void doGet ( final H t t p S e r v l e t R e q u e s t request ,

final H t t p S e r v l e t R e s p o n s e r e s p o n s e )

throws S e r v l e t E x c e p t i o n , I O E x c e p t i o n {
S e r v l e t O u t p u t S t r e a m out = r e s p o n s e . g e t O u t p u t S t r e a m ();
String nombre = r e q u e s t . g e t P a r a m t e r ( " nombre " );
r e s p o n s e . s e t C o n t e n t T y p e ( " text / html " );
if ( nombre == null ) {

out . p r i n t l n ( " <p > Hola Mundo </ p > " );

} else {

out . p r i n t l n ( " <p > Hola " + nombre + " </p > " );

}

}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Servidor de aplicaciones: Tomcat

Los severlet son controlados por servidor de aplicaciones.
Tomcat: http://jakarta.apache.org/tomcat/index.html
Cuando una petición llega

1 Si el objeto de la clase no ha sido creado

1 Carga la clase
2 Crea el objeto
3 Invoca el método init.

2 Llama al método service.

Si debe eliminar al servlet llama al método destroy.

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Servlet contador I

public class C o n t a d o r e x t e n d s H t t p S e r v l e t {

p r i v a t e int c o n t a d o r ;

/*

*/

M é t o d o s para g u a r d a r el c o n t a d o r a n t e s de f i n a l i z a r y l e e r l o
al e m p e z a r . . . . . . . . . . . . . . . . . . . . . . . . .

p r i v a t e s y n c h r o n i z e d int i n c r e m e n t a () {

c o n t a d o r ++;
return c o n t a d o r ;

}

public final void doGet ( final H t t p S e r v l e t R e q u e s t request ,

final H t t p S e r v l e t R e s p o n s e r e s p o n s e )

throws S e r v l e t E x c e p t i o n , I O E x c e p t i o n {
int n = i n c r e m e n t a ();
S e r v l e t O u t p u t S t r e a m out = r e s p o n s e . g e t O u t p u t S t r e a m ();
String nombre = r e q u e s t . g e t P a r a m e t e r ( " nombre " );
r e s p o n s e . s e t C o n t e n t T y p e ( " text / html " );
out . p r i n t l n ( " <p > Número de a c c e s o s : " + n + " </p > " );

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Servlet contador II

p r i v a t e S e r v l e t C o n f i g config ;
p r i v a t e final static String s t r F i c h e r o = " f i c h e r o " ;

public final void init ( final S e r v l e t C o n f i g c )

throws S e r v l e t E x c e p t i o n {
config = c ;
S e r v l e t C o n t e x t ctx = config . g e t S e r v l e t C o n t e x t ();
String f i c h e r o = config . g e t I n i t P a r a m e t e r ( s t r F i c h e r o );
try {

B u f f e r e d R e a d e r f

= new B u f f e r e d R e a d e r (

new F i l e R e a d e r ( ctx . g e t R e a l P a t h ( f i c h e r o )));

c o n t a d o r = I n t e g e r . p a r s e I n t ( f . r e a d L i n e ());
f . close ();

} catch ( F i l e N o t F o u n d E x c e p t i o n e ) {

c o n t a d o r = 0;

} catch ( I O E x c e p t i o n e ) {

c o n t a d o r = 0;

}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Servlet contador III

public final void d e s t r o y () {

S e r v l e t C o n t e x t ctx = config . g e t S e r v l e t C o n t e x t ();
String f i c h e r o = config . g e t I n i t P a r a m e t e r ( s t r F i c h e r o );
try {

F i l e W r i t e r f = new F i l e W r i t e r ( ctx . g e t R e a l P a t h ( f i c h e r o ));
f . write ( c o n t a d o r + " \ n " );
f . close ();

} catch ( I O E x c e p t i o n e ) {

throw new R u n t i m e E x c e p t i o n ( e . g e t L o c a l i z e d M e s s a g e ());

}

}

1
2
3
4
5
6
7
8
9
10
11

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Aplicación Hola I

T O M C A T _ H O M E / w e b a p p s / hola

| - - c a b e c e r a . html
‘-- pie . html

| - - build . xml
| - - c o n t a d o r . txt
| - - html
|
|
| - - prj . el
| - - src
|
|
|
|
|
|
|
|
‘-- WEB - INF

| - - C o n t a d o r . java
| - - Debug . java
| - - E n v o l t o r i o H T M L . java
| - - Fecha . java
| - - H o l a M u n d o . java
| - - I n c l u y e F i c h e r o . java
| - - Login . java
‘-- Sesion . java

| - - C o n t a d o r . class
| - - Debug . class
| - - E n v o l t o r i o H T M L . class
| - - Fecha . class
| - - H o l a M u n d o . class
| - - I n c l u y e F i c h e r o . class
| - - Login . class
‘-- Sesion . class

| - - c l a s s e s
|
|
|
|
|
|
|
|
| - - lib
‘-- web . xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Aplicación Hola II (fichero web.xml)

<? xml v e r s i o n = " 1.0 " e n c o d i n g = " ISO -8859 -1 " ? >
< web - app >

< display - name > S e r v l e t s de prueba </ display - name >
< s e r v l e t >

< servlet - name > hola </ servlet - name >
< servlet - class > H o l a M u n d o </ servlet - class >

</ s e r v l e t >
< s e r v l e t >

< servlet - name > c o n t a d o r </ servlet - name >
< servlet - class > C o n t a d o r </ servlet - class >
< init - param >

< param - name > f i c h e r o </ param - name >
< param - value > c o n t a d o r . txt </ param - value >

</ init - param >

</ s e r v l e t >
< servlet - m a p p i n g >

< servlet - name > i n v o k e r </ servlet - name >
< url - p a t t e r n >/ http /* </ url - p a t t e r n >

</ servlet - m a p p i n g >
< servlet - m a p p i n g >

< servlet - name > i n v o k e r </ servlet - name >
< url - p a t t e r n >/ s e r v l e t /* </ url - p a t t e r n >

</ servlet - m a p p i n g >

</ web - app >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Filtros I

Transformar la salida del servlet

Filtro 1

Filtro 2

Servlet

Aplicaciones:

autentificación,

cifrado,

transformaciones XML,

lo que se quiera....

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Filtros II

public class E n v o l t o r i o H T M L i m p l e m e n t s Filter {

p r i v a t e static final String c a b e c e r a = " html / c a b e c e r a . html " ;
p r i v a t e static final String pie = " html / pie . html " ;
p r i v a t e static final String s t r T i t u l o = " titulo " ;
p r i v a t e F i l t e r C o n f i g conf ;
public void init ( F i l t e r C o n f i g f i l t e r C o n f i g ) throws S e r v l e t E x c e p t i o n {

conf = f i l t e r C o n f i g ;

}
public void d e s t r o y () {

conf = null ;

}
public void d o F i l t e r ( S e r v l e t R e q u e s t request ,

S e r v l e t R e s p o n s e response ,
F i l t e r C h a i n f i l t e r C h a i n )

throws IOException , S e r v l e t E x c e p t i o n {
String f i c h e r o = conf . g e t S e r v l e t C o n t e x t (). g e t R e a l P a t h ( c a b e c e r a );
String c a b e c e r a = I n c l u y e F i c h e r o . i n c l u y e ( f i c h e r o );
String titulo =
conf . g e t I n i t P a r a m e t e r ( s t r T i t u l o );
S e r v l e t O u t p u t S t r e a m out = r e s p o n s e . g e t O u t p u t S t r e a m ();
c a b e c e r a = c a b e c e r a . r e p l a c e A l l ( " < title > " ," < title > " + titulo );
out . p r i n t l n ( c a b e c e r a );
f i l t e r C h a i n . d o F i l t e r ( request , r e s p o n s e );
f i c h e r o = conf . g e t S e r v l e t C o n t e x t (). g e t R e a l P a t h ( pie );
out . p r i n t l n ( I n c l u y e F i c h e r o . i n c l u y e ( f i c h e r o ));

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Filtros III

html/cabecera.html

<! D O C T Y P E HTML PUBLIC " -// W3C // DTD HTML 4.01// EN " >
< html >

< head >

< meta http - equiv = " Content - Type " c o n t e n t = " text / html ; c h a r s e t = iso -8859 -15 " >
< title > </ title >

</ head >
< body >

html/pie.html

< hr >
< a d d r e s s >

<a href = " mailto : l u i s @ r a m o n v a z q u e z . net " >

Luis F e r n a n d o Llana Díaz

</ a >

</ a d d r e s s >

</ body >

</ html >

1
2
3
4
5
6
7

1
2
3
4
5
6
7
8

Luis Fernando Llana Díaz

Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets

Filtros IV (fichero web.xml)

..... p a r a m e t r o s g l o b a l e s de la a p l i c a c i o n
< filter >

< filter - name > e n v o l t o r i o H o l a </ filter - name >
< filter - class > E n v o l t o r i o H T M L </ filter - class >
< init - param >

< para
  • Links de descarga
http://lwp-l.com/pdf5900

Comentarios de: Java Servlets (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad