|
| HttpServletRequest vs. ServletRequest Fra : Allan Unnerup |
Dato : 30-08-02 08:41 |
|
Hvad er forskellen på
javax.servlet.http.HtpServletRequest
og
javax.servlet.ServletRequest
?
Jo, javax.servlet.ServletRequest er den gamle og
javax.servlet.http.HtpServletRequest er den nye, men hvad ellers?
Hilsen Allan
| |
Morten (30-08-2002)
| Kommentar Fra : Morten |
Dato : 30-08-02 09:03 |
|
Allan Unnerup wrote:
> Hvad er forskellen på
> javax.servlet.http.HtpServletRequest
> og
> javax.servlet.ServletRequest
> ?
>
> Jo, javax.servlet.ServletRequest er den gamle og
> javax.servlet.http.HtpServletRequest er den nye, men hvad ellers?
Ikke just. interface HttpServletRequest extends ServletRequest.
javax.servlet.* indeholder generiske klasser. Dette er interfaces mm.
som implementeres og extendes i fex. http pakken.
Prøv at se på de javadocs der tilhører servlet pakkerne.
"GenericServlet implements the Servlet and ServletConfig interfaces.
GenericServlet may be directly extended by a servlet, although it's
more common to extend a protocol-specific subclass such as HttpServlet."
Mvh Morten
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 10:01 |
|
> Ikke just. interface HttpServletRequest extends ServletRequest.
>
> javax.servlet.* indeholder generiske klasser. Dette er interfaces mm.
> som implementeres og extendes i fex. http pakken.
>
> Prøv at se på de javadocs der tilhører servlet pakkerne.
>
> "GenericServlet implements the Servlet and ServletConfig interfaces.
> GenericServlet may be directly extended by a servlet, although it's
> more common to extend a protocol-specific subclass such as HttpServlet."
>
Ja, det ved jeg godt, men når jeg så i en HttpServlet har en kodelinie som
fx
MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 * 1024,
"UTF-8");
hvor request er i klassen javax.servlet.http.HttpServletRequest
giver exception "NoSuchMethodError", mens linien
MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 * 1024);
hvor request er i klassen javax.servlet.ServletRequest kører fint.
Så får jeg mine tvivl.
Hilsen Allan
| |
Morten (30-08-2002)
| Kommentar Fra : Morten |
Dato : 30-08-02 11:11 |
|
Allan Unnerup wrote:
>>Ikke just. interface HttpServletRequest extends ServletRequest.
>>
>>javax.servlet.* indeholder generiske klasser. Dette er interfaces mm.
>>som implementeres og extendes i fex. http pakken.
>>
>>Prøv at se på de javadocs der tilhører servlet pakkerne.
>>
>>"GenericServlet implements the Servlet and ServletConfig interfaces.
>>GenericServlet may be directly extended by a servlet, although it's
>>more common to extend a protocol-specific subclass such as HttpServlet."
>>
>
> Ja, det ved jeg godt, men når jeg så i en HttpServlet har en kodelinie som
> fx
>
> MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 * 1024,
> "UTF-8");
> hvor request er i klassen javax.servlet.http.HttpServletRequest
>
> giver exception "NoSuchMethodError", mens linien
>
> MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 * 1024);
>
> hvor request er i klassen javax.servlet.ServletRequest kører fint.
>
> Så får jeg mine tvivl.
Hvordan får du reference til den ServletRequest?
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 11:39 |
|
> > Ja, det ved jeg godt, men når jeg så i en HttpServlet har en kodelinie
som
> > fx
> >
> > MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 *
1024,
> > "UTF-8");
> > hvor request er i klassen javax.servlet.http.HttpServletRequest
> >
> > giver exception "NoSuchMethodError", mens linien
> >
> > MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 *
1024);
> >
> > hvor request er i klassen javax.servlet.ServletRequest kører fint.
> >
> > Så får jeg mine tvivl.
>
> Hvordan får du reference til den ServletRequest?
>
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.oreilly.servlet.MultipartRequest;
public class orilley extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 *
1024, "UTF-8");
}
}
Du kan se fejlmeddelelsen her:
http:\\ www.yachtdatabase.com\servlet\orilley
Hilsen Allan
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 11:49 |
|
> > Ja, det ved jeg godt, men når jeg så i en HttpServlet har en kodelinie
som
> > fx
> >
> > MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 *
1024,
> > "UTF-8");
> > hvor request er i klassen javax.servlet.http.HttpServletRequest
> >
> > giver exception "NoSuchMethodError", mens linien
> >
> > MultipartRequest multi = new MultipartRequest(request, "/tmp", 1024 *
1024);
> >
> > hvor request er i klassen javax.servlet.ServletRequest kører fint.
> >
> > Så får jeg mine tvivl.
>
> Hvordan får du reference til den ServletRequest?
>
Forskellen på de to definitioner er følgende:
public MultipartRequest(javax.servlet.http.HttpServletRequest request,
java.lang.String saveDirectory,
int maxPostSize,
java.lang.String encoding)
throws java.io.IOException
og
public MultipartRequest(javax.servlet.ServletRequest request,
java.lang.String saveDirectory,
int maxPostSize)
throws java.io.IOException
Den ene skal have første request-argument som
"javax.servlet.http.HttpServletRequest request",
den anden som
"javax.servlet.ServletRequest request"
Hilsen Allan
| |
Morten (30-08-2002)
| Kommentar Fra : Morten |
Dato : 30-08-02 12:23 |
|
Jeg ser på
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html
Der findes den constructor du benytter ganske rigtigt.
MultipartRequest(javax.servlet.http.HttpServletRequest request,
java.lang.String saveDirectory, int maxPostSize, java.lang.String encoding)
Hvilken version af MultipartRequest bruger du? Hvis det ikke er et
versioneringsproblem må jeg melde hus forbi.
Mvh Morten
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 12:49 |
|
"Morten" <usenet@kikobu.com> skrev i en meddelelse
news:3D6F5587.4000204@kikobu.com...
>
> Jeg ser på
>
>
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.htm
l
>
> Der findes den constructor du benytter ganske rigtigt.
>
> MultipartRequest(javax.servlet.http.HttpServletRequest request,
> java.lang.String saveDirectory, int maxPostSize, java.lang.String
encoding)
>
> Hvilken version af MultipartRequest bruger du? Hvis det ikke er et
> versioneringsproblem må jeg melde hus forbi.
>
Jeg benytter den seneste version (cos-27May2002).
Jeg oversætter min servlet med jdk1.2.2 inden upload til serveren. Kan det
mon have noget med den at gøre?
Hilsen Allan
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 13:02 |
|
> > Jeg ser på
> >
> >
>
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.htm
> l
> >
> > Der findes den constructor du benytter ganske rigtigt.
> >
> > MultipartRequest(javax.servlet.http.HttpServletRequest request,
> > java.lang.String saveDirectory, int maxPostSize, java.lang.String
> encoding)
> >
> > Hvilken version af MultipartRequest bruger du? Hvis det ikke er et
> > versioneringsproblem må jeg melde hus forbi.
> >
>
> Jeg benytter den seneste version (cos-27May2002).
> Jeg oversætter min servlet med jdk1.2.2 inden upload til serveren. Kan det
> mon have noget med den at gøre?
>
Det har det ikke, jeg har netop oversat med j2sdk1.4.0_01 med det samme
resultat.
Jeg benytter også jsdk2.1\servlet.jar. Findes der en senere version?
Hilsen Allan
| |
Morten (30-08-2002)
| Kommentar Fra : Morten |
Dato : 30-08-02 13:12 |
|
Allan Unnerup wrote:
>>>Jeg ser på
>>>
>>>
>>
> http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.htm
>
>>l
>>
>>>Der findes den constructor du benytter ganske rigtigt.
>>>
>>>MultipartRequest(javax.servlet.http.HttpServletRequest request,
>>>java.lang.String saveDirectory, int maxPostSize, java.lang.String
>>
>>encoding)
>>
>>>Hvilken version af MultipartRequest bruger du? Hvis det ikke er et
>>>versioneringsproblem må jeg melde hus forbi.
>>>
>>
>>Jeg benytter den seneste version (cos-27May2002).
>>Jeg oversætter min servlet med jdk1.2.2 inden upload til serveren. Kan det
>>mon have noget med den at gøre?
>>
>
>
> Det har det ikke, jeg har netop oversat med j2sdk1.4.0_01 med det samme
> resultat.
>
> Jeg benytter også jsdk2.1\servlet.jar. Findes der en senere version?
Yeps. Brug den seneste version (Servlet 2.3) - der står også lidt om det
under FAQ'en på servlets.com
Mvh Morten
| |
Allan Unnerup (30-08-2002)
| Kommentar Fra : Allan Unnerup |
Dato : 30-08-02 14:51 |
|
> > Jeg benytter også jsdk2.1\servlet.jar. Findes der en senere version?
>
> Yeps. Brug den seneste version (Servlet 2.3) - der står også lidt om det
> under FAQ'en på servlets.com
Findes version 2.3 ikke som en .jar-fil? Jeg kan kun finde den som et antal
..class/properties-filer.
http://java.sun.com/products/servlet/download.html
Hilsen Allan
| |
Morten (30-08-2002)
| Kommentar Fra : Morten |
Dato : 30-08-02 17:22 |
| | |
|
|