/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Ang. flere skriv to outputstream i servlet~
Fra : Flare


Dato : 15-10-04 20:33

Hej

Jeg er ved at strikke et lille Servlet framework sammen med et command
pattern. Jeg sender request objektet rundt for at kunne bruge det i mine
enkelte commands som bliver kaldt. Men jeg kan kun skrive til outputstreamen
én gang. resten kommer ikke med.

Jeg henter min writer med.

response.setContentType("text/html");
PrintWriter out = a.response.getWriter();
out.println(" Hello world!");
out.flush();
out.close();

Anders




 
 
Jonathan Stein (15-10-2004)
Kommentar
Fra : Jonathan Stein


Dato : 15-10-04 21:47

Flare wrote:

> ... Men jeg kan kun skrive til outputstreamen
> én gang. resten kommer ikke med.
> ...
> out.close();

Derfor?

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

Flare (15-10-2004)
Kommentar
Fra : Flare


Dato : 15-10-04 22:20

>> out.close();
>
> Derfor?

Når jeg næste gang kalder det samme kode vil jeg vel åbne den igen? Eller
hvad?

Jeg har jo flere metoder som skal have mulighed for at skrive til writeren.
Både A og B (kan) blive kaldt. Det det afhænger af en request parameter.

(klasse A)
------------------
public String Execute(HttpServletRequest request,
HttpServletResponse response) {
try
{
PrintWriter out = response.getWriter();
out.println("TestControlerl was called!");
out.flush();
out.close();
}catch(IOException e) { }
return null; }

(klasse B)
------------------
public String Execute(HttpServletRequest request,
HttpServletResponse response) {
try
{
PrintWriter out = response.getWriter();
out.println("TestControlerl was called!");
out.flush();
out.close();
}catch(IOException e) { }
return null; }



Jonas Kongslund (15-10-2004)
Kommentar
Fra : Jonas Kongslund


Dato : 15-10-04 22:50

On Fredag 15 oktober 2004 23:19, Flare wrote:

> Når jeg næste gang kalder det samme kode vil jeg vel åbne den igen? Eller
> hvad?

Når den først er lukket så kan den ikke åbnes igen.

--
Jonas Kongslund

hug (19-10-2004)
Kommentar
Fra : hug


Dato : 19-10-04 22:28

Hejsa

Åben den i execute methoden, i en try-catch-finally block laver du de to
kald til metoderne A og B, hvor en parameter til begge er din stream, og i
finally kalder du close metoden.

Altså lidt sådan (pseudo)

PrintWriter out = response.getWriter();
try
{
// Gør et eller andet A
a(out);

// Gør et eller andet B
b(out);
}
catch
{
// Whatever
}
finally
{
out.close();
}

PS. Jeg benytter altid response.getOutputStream() for at få en stream og
ikke en writer. Derefter wrapper jeg den i en BufferedWriter.. Skulle efter
sigende give bedre performance.

//Henrik




"Flare" <none@at.all> wrote in message
news:41703efd$0$230$edfadb0f@dread14.news.tele.dk...
> >> out.close();
> >
> > Derfor?
>
> Når jeg næste gang kalder det samme kode vil jeg vel åbne den igen? Eller
> hvad?
>
> Jeg har jo flere metoder som skal have mulighed for at skrive til
writeren.
> Både A og B (kan) blive kaldt. Det det afhænger af en request parameter.
>
> (klasse A)
> ------------------
> public String Execute(HttpServletRequest request,
> HttpServletResponse response) {
> try
> {
> PrintWriter out = response.getWriter();
> out.println("TestControlerl was called!");
> out.flush();
> out.close();
> }catch(IOException e) { }
> return null; }
>
> (klasse B)
> ------------------
> public String Execute(HttpServletRequest request,
> HttpServletResponse response) {
> try
> {
> PrintWriter out = response.getWriter();
> out.println("TestControlerl was called!");
> out.flush();
> out.close();
> }catch(IOException e) { }
> return null; }
>
>



Jonas Kongslund (20-10-2004)
Kommentar
Fra : Jonas Kongslund


Dato : 20-10-04 02:29

On Tirsdag 19 oktober 2004 23:27, hug wrote:
> PS. Jeg benytter altid response.getOutputStream() for at få en stream og
> ikke en writer. Derefter wrapper jeg den i en BufferedWriter.. Skulle
> efter sigende give bedre performance.

Den output stream som du får tilbage er allerede en buffered stream. Du kan
styre størrelsen på bufferet med metoden setBufferSize hørende til klassen
ServletResponse.

--
Jonas Kongslund

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste