Garann,

One last thing.  As Iordanov pointed out in his response, if you do decide
to keep your "own" methods inside the servlet class, then you need to
program for possibility of more than one "person" hitting your servlet at
the same time.  This is referred to as multithreading, which in turns means
you need to synchronize your methods, if appropriate.  This is ESPECIALLY
true if you are dealing with data.  This is NOT a concept that is included
in VB, as VB is a thread safe "model" and "container" (at least in Versions
5 and 6 it is, I don't think this is true for VB.NET platform).  Again, if
you don't have an Object Oriented background in C++ or Java, this will be
new concept.  If that is the case for you, do NOT declare separate methods
in your serlvet class, just incorporate your logic into the JSP.  (This is
also not a good idea for other reasons, but if you are just starting out and
you are under the gun to get something out the door, this is the fastest way
for you to proceed).  Trust me, you do NOT want to deal with concurrency
issues if you are new to OO Development.

Celeste



-----Original Message-----
From: Haseltine, Celeste [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 23, 2002 1:43 PM
To: [EMAIL PROTECTED]
Subject: Re: Where to put methods for a jsp page?


Garann,

Have you opened the compiled jsp page to see what the servlet looks like?
If you did, I think you would understand a little better what is happening.

First off, a jsp page is just a "short hand" way of writing a servlet.  When
your jsp/servlet server (say JRUN, Weblogic, etc) "touches" your jsp page,
it is compiled into a servlet.  The servlet is what is actually "run".

Having said that, the <%! %> tags are the short hand way of declaring
methods of your servlet class.  The main method of any servlet class is as
follows:

    public void _jspService(HttpServletRequest request, HttpServletResponse
response)
         throws ServletException, java.io.IOException

ANY method declared in the <%!  %> tags is NOT included as part of the
"main" servlet method above.  Therefore, those methods cannot "see" the
request or the response objects unless you pass them into your own declared
methods, and pass the data back out to the "main" servlet class above.
Again, go look at your compiled JSP pages (servlets) to see the differences.

When you do NOT include your declarations in the <%!  %> tags, the complier
throws an error, because you cannot declare another class method inside the
"main" servlet class.  This is a fundamental concept of Object Oriented
Languages, so if you do not have a background in C++ or Java, just in VB,
this will be a little confusing to you.

Bottom line, either rewrite your methods to include "passing" the response
and request objects into the method, and back into the "main" servlet method
if you need your method to see the data, or incorporate the logic directly
into your jsp (ie, remove the logic out of the method).

Hope this helps

Celeste

-----Original Message-----
From: Means, Garann R. [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 23, 2002 12:46 PM
To: [EMAIL PROTECTED]
Subject: Re: Where to put methods for a jsp page?


Monte,

I'm only putting them in <%! %> tags because I get errors like this when I
don't:

        An error occurred between lines: 51 and 53 in the jsp file:
/LabGenEdit.jsp

        Generated servlet error:

C:\Tomcat\jakarta-tomcat-4.0\work\localhost\HepC\LabGenEdit$jsp.java:121:
Type    expected.
          out.write("\r\n\t\r\n");
                      ^
Is there another way to approach it? (I'm just sort of hacking my way
through this..)

Also, what is the syntax for passing a request? Just:

        someVar = brokenMethod(request);
        ...
        public int brokenMethod(HttpServletRequest request) { ... } ?

Thanks for responding so quickly!
Garann

-----Original Message-----
From: Gardner Monte [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 23, 2002 10:35 AM
To: [EMAIL PROTECTED]
Subject: Re: Where to put methods for a jsp page?


I may have misunderstood what you're asking, but let me give it a
try.  If you are using the <%! %> syntax for declaring JSP methods, then
you have to understand that those methods are seperat from the
main method of your JSP page, which is actually the service() method
of a servlet.  The request object is a local variable of the
service method, and therefore does not exist in your other methods.
If you want other methods to be able to access the request object, you
have to pass the request object into the methods via parameters.

--hope that helps.

--Monte Glenn Gardner


On Wed, 23 Jan 2002, Means, Garann R. wrote:

> Hi,
>
> I'm converting a bunch of asp pages to jsp. The asp pages had methods
> running on the server side, so I've left them there in the jsp. When I try
> to compile the jsp, I get errors telling me the compiler doesn't know
> "request.getParameter", but only within the methods. I'll post the code,
and
> maybe someone can give me feedback?
>
> <!-- top of page (there are some declarations up here, superfluous for
these
> methods) -->
> <%! public String mkDate() {
>                 String sHourHTML = "";
>                 String sMinHTML = "";
>                 String sHTML = "";
>
>                 sHTML  = "<select name='selCollHour'>";
>
>                 // ...
>                 // ...
>                 // ... this all compiles fine, and doesn't use
> request.getParameter
>
>                 return sHTML;
>         } %>
>
> <%!     public String redChem(String root) {
>                 float usrIn = 0;
>                 float lBnd = 0;
>                 float uBnd = 0;
>                 String sRed = "";
>
>                 // these next three lines are throwing the errors
>                 usrIn = Float.parseFloat(request.getParameter("txtArea" +
> root));
>                 lBnd = Float.parseFloat(request.getParameter("hdnLowBnd" +
> root));
>                 uBnd = Float.parseFloat(request.getParameter("hdnUpBnd" +
> root));
>
>                 if (usrIn != 0) {
>                         if ((usrIn > uBnd) || (usrIn < lBnd)) {
>                                 sRed = "style='color:red'";
>                         }
>                         else {
>                                 sRed = "";
>                         }
>                 }
>                 return sRed;
>         } %>
>
>
> Thanks,
> Garann Rose Means
> ITAS1
> WA State Dept. of Corrections
>
>
===========================================================================
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
> For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
>  http://archives.java.sun.com/jsp-interest.html
>  http://java.sun.com/products/jsp/faq.html
>  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>  http://www.jguru.com/faq/index.jsp
>  http://www.jspinsider.com
>

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

Reply via email to