Re: Can pass Request Object :(
Tereska wrote:
When I make empty constructor all is OS,but when I add "response" I
have something like this:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 1 in the jsp file: /index.jsp
Generated servlet error:
G:\Documents and
Settings\Tereska\.netbeans\5.5\apache-tomcat-5.5.17_base\work\Catalina\localhost\FTestNew\org\apache\jsp\index_jsp.java:42:
cannot find symbol
symbol : constructor start(javax.servlet.http.HttpServletRequest)
location: class sp.start
sp.start me = new sp.start(request);
^
1 error
I wondering what is wrong. I have that kind of constructor....
No, actually, you don't. You defined a method "start()" with void return type.
Constructors do not have return types.
package sp;
import javax.servlet.http.HttpServletRequest;
public class start {
You chould name your classes with an initial upper-case letter:
public HttpServletRequest r = null; // no need to specify null here
Better that the instance variable be /private/, not /public/, and don't be
afraid of longer names. /r/ is a bit too terse.
public void start(HttpServletRequest r) { // CONSTRUCTOR CANNOT RETURN VOID
The use of the keyword /void/ makes this not a constructor. That's why you got
the error.
this.r=r;
}
}
Try this:
<code>
package sp;
import javax.servlet.http.HttpServletRequest;
public class Start
{
private final HttpServletRequest request;
public Start( HttpServletRequest req ) // no return type
{
if ( req == null )
{
throw new NullPointerException( "null request" );
}
this.request = req;
}
public final HttpServletRequest getRequest()
{
return request;
}
}
</code>
- Lew