Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema1 Servlets Sesiones Filtros PDF
Tema1 Servlets Sesiones Filtros PDF
" # $ %&
'
()
! "# $ "%
) ******************************************************************************************************************************** +
$&'($
,% -(,. -. . $ (/
0-&-0 $&1
'$% - $
* ******************************************************************************************************************* +
$&'($
,0-
. $ (/
* ******************************************************************************************************* +
$&'($
$&'($
************************************************************************************** 3
********************************************************************************************************************** 4
$&'($
78************************************************************************************************************************************** 5
********************************************************************************************************************************* 9
******************************************************************************************************************************** 9
-! "$ $
-'-: * $&'($
*; ********************************************************************** >
( ,
***************************************************************************************************************************** >
( 0
= @
**************************************************************************************************************************
( 0
& AB
( 0
& @
( 0
*********************************************************************************************************************** D
( 0
E ******************************************************************************************************************** D
$F
( 0
******************************************************************************************************************** C
***************************************************************************************************************** C
$ ,0,I %
&$ "$
E ********************************************************** 3
******************************************************************************************************************** 3
7&$! "$
- 7&$
8 -( $&'($ =
/% $8 . $(
$&'($
************************************************************************************************ 4
=
***************************************************************************************** 5
- ******************************************************************************************
0&$-0,I % ****************************************************************************************************************************************************CK
=
,/%
********************************************************************************************************************************************CK
G ********************************************************************************************************CK
******************************************************************************************************************************C3
G ***********************************************************************************************************C3
= @
(
2
= @
= @
**************************************************************************************************************C4
B
*********************************************************************************C4
G *********************************************************************************C4
************************************************************************************************************C4
= @
= @
*******************************************************************************************************C4
************************************************************************************************C5
!
E (
E -
"
***********************************************************************************************D >
B (
****************************************************************************D >
"
- , ,( &/ *************************************************************************************************************************************************D D
E*
E*
****************************************************************************************************************D D
E*
0M
********************************************************************************************************************D +
*****************************************************************************************************************************D D
&
-% / -0,/% $ ********************************************************************************************************************************************D 3
&/0$ -2,$% / - 1% 0&/% / ******************************************************************************************************************D 5
&-H 2$% /
$L **************************************************************************************************************************************+>
/ &/ **********************************************************************************************************************************************************+>
$ $2 (/ ****************************************************************************************************************************************************+>
$ $2 (/ C****************************************************************************************************************************************************+
Contenedor / Servidor
"
F B G
@
AB
@
@
B
@
@
*$
"
?
G
@
?
B
*
F B G @
@
B
6 @
@
@
@
F B G @
"
$$
AB
@
$ L
B
$$
O
@
F
F B G
P
@
AB
F B
$L @
0
F B
B
B
FB
8
*
* .
AB
B @
@
B AB
AB
AB
*
G
$$
** *
0
B
-@
'2
@
G
$$
* B
@
*$ B B
@
@
B
-: Q . L 0Q 2
-@@
@
-@@
AB
@
--
*
0
@
-@@
AB
0
@
$ L @
7$ L 8
@ @
F B
@
@
B
*
@
O"
B F
G
R
AB
AB
T
B
AB
G *(
@ AB U
AB
B
@B
@@
@@
F B
AB
*%
AB M
AB
*(
F B
R
F B
F B
*P
AB
S
R
@
@
@*
?
(
S
?
8 AB
M
@B
AB
@B
B
F
@
@B
@*
7
@
AB
F B
@B
@B
B AB
*
@
M
= @*
(
@ AB
*
0B
B
= @
F
@
E*
E*
*M
6
B
- ,
B
H
M
F
@8 @B
* (
=
B
F B
G B
AB
S
@
@
B
AB
G J
7 '28
F B
@B
*
B
@
B AB
B
@
B AB
@
@
* .
@@
AB
"
@
7
AB
AB
AB
F B
*
(
@B
8
F B
*
0
&"%
@M
L $-
- B
- ,
@ 7@ AB
7
= @
& AB
= @
&
E*
*M
8
& AB
&
= @
@B
@8
7M
@
$
@ AB @
7M
@ @B
AB M
o
"
8
@
*$
@
G
= @
7
@
6
S
M
= @
@
@
6
6
8V
H
78
78
H$
@*
AB
H$
"&(
AB
7! B
H$
"&(
@ B
AB
6
AB
B
?
$E
@*
*$
H$ *
AB
@B
"
B
B
7@
@ AB
@8
. $($ $ 7@
8*
,
@
@
G
$F B G
(
B
o
o
@
F B
B M
B @
B
@
M
B
B
B @
AB
0H ,
*
AB B
'
@
@
*
@
6
@
+ M
* 0
=
0
M @
0
@
@
B
B
AB
* 0
M6
B
AB
B
*(
0H ,
@
@
*-./(0 ,0
AB
7
8
B
- ,
M AB
- ,
@B
$$ AB
*
B
* (
0
@
4/1,9 5*
(
B - ,
E
7
G **
8* (
*
@
W*
Estructura de un servlet
$
* *;Q
E*
*;Q
E*
*M
@B
@*;Q
= @
V
@B
@
M
$E
= @
& AB
AB
= @
&
8
S
,/$E
V***
X
X
*
C*
D*
6
H
AB
= @
AB
8*
H
*
$%
?
B
S
B
@B
B
@
* $
@
M
B
7
0B
B
F B G
B
B
B
J
@
G
G 8
*
B
?
@
E
8
6
G J&
@B
?
6
$
(
6
6 @B
*
@
F
AB
@
B M
*
P AB
6
M
$
.
@B
@
@
B 7S
*E
8 @B
@
B
@B
78
AB
B
B
B
AB
@
G *
@B6 AB
M
G
@
6
*
78
7
,
0
7
7
NX
78
8* $
8 AB
0
6
B
8V
G *
78V
NX
"
@
@
? AB
S
S
?
?
?
B AB
@B
*
G @
6
? AB
G @
$
6
B B
*
$
AB
@
@
$
6
= @
B
&
& AB
G *
= @
@
@
*
7= @
F
@
& AB
= @
6
AB
= @
&
& AB
H
8V
**X
@
*
@
B
?*
AB
@B
- ,@
@ AB
E*
*;
E*
*M
@*;
@7
G B 8
"#
@
AB
*
$
AB
*
=
=
7 F
@B
F
E*
F E*
G B 8
*H
@
*M
@*= @
@
@
*
@
@
?
@
26
?
?
@
B
7
0
@
? AB
*/=5*1 4+'(- AB
S
7
$
& AB
26
*>.*;1
*;64+;* &
F B
B
G
8
B
& AB
@ B
@
B
G
AB
B
7
& @
AB
& @
@B
*
@ B
G 8
8*
G
@B
78
0
? AB
@
@
B
S
?
E
@B
B
@
F B G *
B
B
G 8*$
BF
6
G
***
M
@
**
% &'
0
(
6
AB M
= @
H
AB
@
"
@
6
?
@
resp)
26
*;.7 *+
protected
void 04 *5*1*(= @
,
@
protected
= @
& AB
&
8@
&
M @
= @
req,
&
resp)
8@
H$
void
req,
. $($ $
protected
& AB
protected
?1404;
& AB
G =
service
04 61(4+;(= @
= @
req,
&
=$-.
M
& AB
resp)
AB
req,
M
= @
AB
*
&
resp)
,
B
protected
& AB
protected
& AB
resp)
8@
= @
req,
&
resp)
8@
"
void 04 /,)*(= @
,
&-0$
& AB
= @
req,
7
& AB
@
= @
&
? AB
*
= @
req,
resp)
& AB
B
req)
B
& AB
void ;*/=()*(= @
&
8 @
protected
protected
&
void 04 .1(= @
B
= @
req,
8@
,/%
void 04 4;1(= @
,
protected
&
resp)
@B
:::
void
;*/=()*(
&
$
0
'
0
0
( )*
'
( &
&
req,
AB
AB
AB
& AB
@ B
@ B
@
6
@B
G
@R
res)
*
'
$
@
26
"
G
AB
T@
ZY@
YJ
ZYJ@
B
$ B
T@
F
E
0
F B
java.lang.String
? AB @
F B
26
*1A40
java.lang.Object
ZYJ
$ B
'
AB
* (
java.util.Enumeration
.7 7 ,/<
B
@
$ B
*
AB
$ B
"&,
AB
java.lang.String
B
@
AB
@
S
*E
E T@
ZY@
Z AB
B *
E 7S
*E
int
$ B
$ B
java.lang.String
- , AB
*$
@ 2,2$
@ 2,2$
int
B *
- ,*
& AB
. @
AB
@
M
@@
. @
java.lang.String
& AB
C*D
& AB
OP
B
@@
B
@
& AB
B
. @
B
AB
@ MJ B
java.net.URL
java.io.InputStream
"&( AB
B
@
G
AB
AB
G S
54-(java.lang.String message,
java.lang.Throwable throwable)
$
$E
E@
*
void
54-(java.lang.String msg)
$
void
AB
@
@
void
, @B
void
java.lang.String
java.lang.String
java.util.Set
@ M
B
E *
B
E *
&
6.95() =4(0
- '
"
* B *@
7[
* B *@
7[%
* B *@
[\
]
7['
B]
$E
78[8Q
$ B
8 1A/4C ;
'
7[ @
@
*
[8Q
[\@
788Q
8Q
78Q
][[Q
C A(5* 7
B*M
788V
]7
[\
B*
E $
* B *@
7[%
* B *@
*
,
7['
78Q
@
[\
8Q
88Q
X
0
E]
]PPQ
* B *@
7['
XJJ
E*
[\@
E 78Q
7[0B
0
8Q
78
'
AB
6
0
@
[8Q
? = @
@
@
G
$
& AB
G
B
26
B
&
26
@
G 7 G
6
@
, @B
AB
B
@
= @
?F
@ B
@ B
7 G
& AB
*
E*
7 G
*=
H $ 8*
& AB
G
@
B
,
? G
$ B @
@
G
$ @
@
G
$
$
&
G
@
G 7. @
@
@
@
@
= @
& AB
/ F
M
M
8
AB
6
B
8
B
B
R
AB
M
*
F
*B
*$ B
B
7
AB
, @B
$ @
8*
?
8*
!B
26
AB
&
B
6
?
B LB
AB
/
$
$
& AB *
' B *
%
*
?
B
@
78
B
@
8
B
G AB
G *
@
M @
F
@
*B *2 @
G *
2 @78
' B
B
@
0
M78
=
F
*B
*B
B
8
,
@
=
@
%
@
@*
2
H$
78
G *
7
M
=
B
G * *
B
M
*$ B
"&( AB
M
F
B
B
*$ B
78
E
E
M @
0
G *
M 78
" *
= @
@
G
78
G
7
@
= @
G
G Q @
G
*
G *
B *
(
0
26
@
@
= 2(
@
?
= 2(*
@
S
@
6
AB
B
@B
F
&
?
@
,
@
$E
= 2(
8 AB
8*
G
@
/B @B
@
6
@ 2,2$ 72B @B @
@
7 E
B
B
AB
"
AB
B
@
AB
/B @B
*
0
AB
/B @B
S
@ AB
@B
@B6
M
@B
@
R
F
* *
78
= @
&
* *,/$E
F
AB
@B
@
AB
@
@ 7
*
@
B
[
E J@
@
^ 70
@ [ E JM
S
@
]" T5[ @
AB
^ 8
@B
Q M
B
B
]" T5[ @
T5 @
AB
*
"
AB
@B
U
@B
@
7
Q M
^
B 8
B
*=
@ 8
AB
AB
B B
@
0
B
*
@ B
@B
*
&
6
=
F
*B
*B
B
*0
Z
@B
*0
Y
$
B 8 @
M
F
"&(7
*2
&
"&( @
@
B
B
=
M
%
78
@
6
=
M
@*
@B
*
&
/B @B
/B @B
/B @B
Q
*+
78
F
,*
"&(*
B
@
AB
- * &+
.(
0 1
G
/
H$
H$
"&(
AB
o
6
7! B
@
8
@
"&(*
@ B
AB
@*
o
B
/
B
? @
AB
6
B G
G
B
*-(;1/4 A17 5*
F
B
B
G
@
/
* $
H$ *
B
@
B
@B
AB
*( @
*-(;1/4 A17 5*
YM
YM
ZY
Z&
,.
2$ =/. ][ /
JM
[ -0 ,/% ][J
J&
[Z
YM Z
YMCZ
Y
Z&
Z
[ '-("$][[ZY
Y,% "
< $] B
YJ
[ '-("$][[ ZY
' B ] [$
Z
Z
[Z
YJMCZ
Y
YJ
YJM
AB
B
*-(;1/4 B,=,
* *;Q
E*
*;Q
E*
*M
@B
&
@*;Q
E
= @
V
@B
M
7= @
S
$E
& AB
,/$E
A = @
&
V
*
@ 7[
B ]
JJ(
E JM
[8Q
78Q
@
]7
A*
G
7O%
P8Q
]7
JJ2
@
7[YM
Z[8Q
B *@
7[YM
Z[8Q
B *@
7[Y
Z&
B *@
7[YJM
B *@
7[Y
B *@
7[.
B *@
7[YMCZ%
B *@
7[YMCZ0
B *@
7[YJ
Z[8Q
B *@
7[YJM
Z[8Q
78Q JJ
A*
7O0
P8Q
@B
B *@
B *
X
YJ
Z[8Q
Z[8Q
Z[8Q
[ 8Q
[\
[\
\[YJMCZ[8Q
\[YJMCZ[8Q
AB
B
@
B
B
B
@
?
AB
AB
B
@
AB
G *
@
B
G
<html>
<head> <title>Ejemplo de servlet</title> </head>
<body>
<h1>Introduzca su nombre y pulse el boton de enviar</h1>
<form action="miaplicacion/HolaServlet" method="post">
Nombre:<input type="text" name="nombre" size="30">
<input type="submit" name="enviar" value="Enviar">
</form>
</body> </html>
-
B G
B
G
import java.io.*;
import javax.servlets.*;
import javax.servlets.http.*;
public class HolaServlet extends HttpServlet {
/** Redefinicin del
parmetros de inicio*/
metodo
init
configuracin
de
los
salida:
out.println("<head>");
out.println("<title> Respuesta de HolaServlet </title>");
out.println("<head>");
out.println("<body>");
out.println("<h1>Funcion!:El
pagina</h1>");
servlet
ha
generado
la
out.println("<br>");
out.println("<font color="red">");
out.println("<h2>Hola " + name + "</h2>");
out.println("</font>");
out.println("</body>");
out.println("</html>");
/** Se fuerza del volcado del buffer de la salida y se cierra
el canal*/
out.flush();
out.close();
} //fin doPost()
}//fin clase
Sesin y estado
@
@ ?
@ ?
B
AB
EG
B *
M
B
0
- ,
G B ?
B
^
B
^
$F
@
AB
AB
@
AB
G *
^
OF
P@
@
!B
!B
M
@
"&(*
^
6
@B6
@
7=
@ JJS S S *F B *
Y @B
@ ]P=
]D D D D D D
]PB D P
B ]P
PZ
^
0
^ ]+*C 0
^ *
2 E-
^ *
@*
^ 7
E*
*M
$ - ,
7[*B D *
0
@*0
@
= @
^ 7[
73> 8Q JJ
B
F
B @
E
AB
G
- B
*=
!B
[ [F B [8Q
@
3>
[8Q
^ 8Q
^
@
*
^
B
AB
@
78Q
AB
B
@
B
S
Creacin
(
G
B
G
B
AB
@ ?
= @
* (
B
6
= @& AB
26
.
78
B *
= @
B
]
A*
78Q
HttpSession
$
@ B
G *
AB
EG
*0
M
@B
B B
B
G
B @
26
0
78
2 E,
AB
AB
@
@
AB
B
Y
B
B Z
E B
G *
,
AB
B
B B
'
78
M
G@
2 E,
, 78
M
G
78
78
*E
G
J
B
.
.
*E
G Y
Z*
AB
= @
B@
AB
AB
E@
G *
26
-
B
E
/ F
@
P* ,
AB
F
6
@B
G *
B
AB
@
AB
B
@
7
@
?
B
O
78
*
B
?
@B
8*
?
$E
@B
= @
7= @
G *
26
0
8
.
7= @
0B AB
@
@B
@
@
@
B 7S
*E
8*
B
B
6
G
G
B
E@
YJ
!
$
"
Z2 $
B M
YJ
% &'
B
@B
0
? @
= @
G *
26
.
7= @
B
7= @
G @B
@B6
G *
*%
*E
% &'
$
@B
= @
78 @
G *
% &'
(
1*
M
6
8 B
@B
B
= @
AB
G 7
*B
*$
26
B L B
78
AB
B " L B
78
AB
E@
% &'
(
G *
1*
F
B
G *
@B
= @
7= @
*B
*$
26
B
G
&
7= @
8
B
G *
& @
7= @
0B
% &'
& @
@B
= @
G
L
B
$
G *
= @
26
%
78
B
.
' B 78
B
B
78
@ ?
B
/ F
= @
AB
B
G
B
@ ?
Contexto de Servlet
=
- ,
O0
B
@
7M
AB
B
AB
B @
B G
?
AB
AB
B
B
*E
JZ
T @@Z
T @@Z
G
E
G *
B
B R
B
@
B
*
0B
* -
@
@B
* 7$
'28*
Interface ServletContext
$
@ B
"
@ @B
0
.
B
E
G
E@B
E 78Q
* $
G
@B
26
@B
/ F
@B
$ B
@B
@B
G *
0
E
-
B
-
B
-
8
B
7
B
78
/ F
Manejo de Eventos
!
"
"
'
G
*.
AB
B AB
@B
G *
E (
*B
26
E ,
E $
8
0
E $
78
AB
"
*
S
*E
'
E .
+0
1*
@B
B
0
E -
E
E
*
F
*B
26
$
B
E -
B M
B
E
& @
E -
8
B
8
&
E -
B
U
La interface RequestDispatcher
$
@ B
? @
J
@B
6
S
B
AB
AB
B
,
B = 2(
B
@B
@B
*$
@B
@B
$F
@B
* $
@
& AB
A. *
& AB
A. *
. @
. @
B
A.
A
M
7
A*
& AB
. @
7[
A*
& AB
. @
7[J
[8Q
@8Q
A.
A
@8
@ J
F *F @[8Q
Filtros
"
@B
AB
$ L **8*
AB
@
?
* %
?G
@B
B
,
B T
AB
@B6
@
AB
AB
@
AB
78
G *
78
*
"
AB
* $
*"
@
.
Y
@
@
6
78 AB
Y
Y
0
Z
YJ
0
ZFM *
T@
YJ
YJ
YJ
0
Z
T
YJ
Z
Y@
Y@
T@
Z@
YJ@
B Z
YJ@
B Z
YJ
Z
T
@@
Y
Z
T
78
Z
T
AB
@
*E
AB
G
S
AB
E*
78
@
*
YB T@
YJ
Z;*M
@@
YJB T@
AB
AB
*E
AB
7S
AB
G *
API Filtro
0
+3
34
26
$
,
*$
B
& AB
&
0M
*2
@
@
0M
@
AB
78
+3
@
M
B
*
34
"
26
%
78
78
*E
@
B
E 78
$ B
*
%B
G *
B
E
@
G *
+3
34
$5
7
6
0B
78*
B
B
B
B R
B *
@B
& AB
&
@
M
0M
,/$E
@
F
@
AB
SQ
(7 64/1 F
* *,/$E
(7 64/1 F
E*
(7 64/1 F
E*
0M
(7 64/1 F
E*
(7 64/1 F
E*
(7 64/1 F
E*
$E
(7 64/1 F
E*
& AB
(7 64/1 F
E*
&
6.95() )5,;;
1A(;*
Q
Q
E Q
@
Q
Q
Q
(7 65*7 *+1;
B
6.95() =4(0
JJ
E
Q
0
]
8V
Q
S
$E
$F
G *
6.95() =4(0
& AB
&
0M
JJ
0
0
AB
@
8 1A /4C ; ,/$E
E
0
JJ '
$E
G
E
E 78Q
JJ $
('7
] 7,
7[
[8Q
]] +.558 V
] +*C ,
7> 8Q
X
] +*C ,
0
0
JJ
7[
78 VX
AB
8Q
' B 78 \ 8Q
0
@
7
6.95() =4(0
8Q
AB
AB
G
&D K
D *>
G C*K
D *>
Anotaciones
2B
*E
*(
G 7
AB
B
&D K
@B
"&(
M
D *>
*
(
B
_
`.
@B
]P2
P B
@ "
@B
= @
]V[J
7= @
[ [J
& AB
[X8
= @
A= @
V
&
@
8V
X
(
AB
AB6 @
AB
G B
_
][2
@
@
"&(
7
$$ 3 7AB
][ 2
@
_
_
[X8
[ B
G D *>
E
B AB
]V[J2
_
=
[ B
@ G
/ /7
T.
B
7OJ
/ F
*.
P8
@
= @
6
8
@
@
]V[J 2
J;[X8
G
* $
8
$$ 3
B
*
javax.servlet.Filter.
@B
@B
V
7= @
& AB
A = @
&
@
8V
***
X
X
_
`.
B (
E*
E (
E*
E -
E*
& AB
E*
& AB
E*
*M
@*= @
E*
*M
@*= @
(
B
@B
2 (
@B
E ,
0
?
E
0
[ [
[
2 @@
E $
7[
E (
8V
E 78Q
*2
7[
[
[
T 8Q
V
[JB @
J;[ X8Q
X
X
_
` .
@
_
7
]V_
B ]['
B
][0
AB
7
,
][@
7
G *
*
B
[8 _
]V[J0
B ]['
C[8X8
[
][@
C[
*E
<servlet>
<servlet-name>ConfigurableServlet</servlet-name>
[X
<servlet-class>tidw.ConfigurableServlet</servlet-class>
<init-param>
<param-name>parametro1</param-name>
<param-value>Valor1</param-value>
</init-param>
<init-param>
<param-name>parametro2</param-name>
<param-value>Valor2</param-value>
</init-param>
</servlet>
$
AB @
* (
@
*E
G
B
@ *
Procesamiento asncrono
"
@
D *>
*=
AB
AB
AB
@ M
*-
B
AB
B
R
M
AB
AB
@ @
@B
@
AB
F
B
AB
B
AB
B
*$
AB
@
M
B
AB
B G @
@
AB @
M
D *>
B
B @
@
AB
U
AB
B
B
B @
6
@
B
@
AB
AB
T B@@
Z B YJ
T B@@
B@@
] B 8
B@@
7
8
B
$
2
-
AB
S
G@
*K
@
import
import
import
import
import
import
import
import
import
*E
_
S
G
B
B
Y
7
*
B MB
- ,
java.io.IOException;
javax.servlet.ServletException;
javax.servlet.annotation.WebServlet;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
tidw.asincservlet.MiClaseAsincrona;
java.util.concurrent.ScheduledThreadPoolExecutor;
javax.servlet.AsyncContext;
Fragmentos web
/
S
@
G
-M
B
$
B
B
S
@
-& AB
@
J
AB
T @
*E
B
G S
2$ -T,%
B
B
@
S
S
B
*E
*E
*-
Z
Y
Y
T
T
YJ
Y
Z2
Z S *2
YJ
YJ
Z
Z
Y
YJ
YJS T
$
*E
YS
*E
B
@
G
F @
G *
M
AB @
AB
-&
$
O
@
S
B
AB
Z2 (
YJ
Z
Z
@
@
B@
Otros.
$
U
0
AB
?
G Q
@
U
@B
^
6
@
= @/
AB
AB
@
E@B
0
Ejemplo 1
@WebServlet(name="CabecerasServlet", urlPatterns={"/cabeceras"})
public class CabecerasServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
out.println("<html>");
@
E
out.println("<head>");
out.println("<title>Cabeceras Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1> Cabeceras: </h1>");
out.println("<ul>");
Enumeration<String> nombresDeCabeceras =
request.getHeaderNames();
while (nombresDeCabeceras.hasMoreElements()) {
String cabecera = nombresDeCabeceras.nextElement();
out.println("<li><b>" + cabecera + ": </b>"
+ request.getHeader(cabecera) + "</li>");
}
out.println("</ul>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
processRequest(request, response);
}
}
Ejemplo 2
B@
= 2(
out.println("<ul>");
for (String hobby : hobbies) {
out.println("<li>" + hobby + "</li>");
}
out.println("</ul>");
out.println("Esta solicitud ha sido invocado con Los
siguientes parametros:<br/>");
out.println(request.getQueryString());
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}