Thanks, Danny!  I have tried every suggestion made to no avail - I still
cannot get the bean to instantiate via the servlet.  I know I am doing
something st00pid, but I haven't figured it out yet.  And though I have
trashed JRun on this list over the years, I am (forced) running 3.2 now and
I actually find it okay (developing on Win2K; deploying to Apache).  Stay
away from the proprietary API, though. - even though there are a lot of
convenience classes, you will get screwed if you try to port your app to a
non-JRun architecture.  Still, Allaire has improved JRun a lot since 3.0.

Cheers!
Mark

----- Original Message -----
From: "Danny Rubis" <[EMAIL PROTECTED]>
Sent: Sunday, December 30, 2001 7:01 AM


> I only briefly looked at this thread, so I may be way off base.
>
> You authenticate, good.  Client then asks for a service to be performed,
good.
> At that time you should know what JavaBean-Model he needs, right.  So
> while in the servlet, get an instance of the bean, okay.  It's empty at
this
> point.
> Fill it up, create a session object, and put the bean in the
session-object,
> forward()
> to client a View-JSP. Get the session object while in the View-JSP and
therefore
>
> get the JavaBean.  Now use the bean in the View-JSP.
>
> Hopes this helps.
>
> Also, some things about JRun, I too am forced to use it, against my
preferences.
>
> Given:
> WEB-INF/com/yourcompany/yourapp/MyClass
>
> Like posted already by someone else:
> <jsp:useBean id="myservice" class="com.yourcompany.yourapp.MyClass"
> scope="session"/>
>
> For JRun, always restart the server if you change this class.
> Don't use the DEFAULTAPP, for how are you going to keep your apps
organized.
> Create an application, YOURAPP.
>
> Method 2.
>
> Once you have YOURAPP, now you can use the web.xml to your real advantage.
>
> Let JRun create a web.xml for you that you can edit.  Put web.xml-type of
things
> in
> it.  Just remember that if you use JRun's web interface to the web.xml it
will
> overwrite
> your edited version.
>
> Why?  Because now you can do such things as
getServlet().getInitParameter(),
> powerful.
> Also, you can now do this:
> <jsp:useBean id="myservice" class="MyClass" scope="session"/>
>
> Where, 'myservice' is the named you assigned in the web.xml to
> com.yourcompany.yourapp.MyClass.
>
> Sans adieu,
> Danny Rubis
>
>
> Mark Galbreath wrote:
>
> > Tim,
> >
> > I'm doing everything you suggest below with the exception of having the
> > classes in a package (JRUN is not finding them.  For example, if I name
the
> > package "net.dirtroad," placing the class files in
> > /WEB-INF/classes/net/dirtroad throws a ClassNotFoundException and Forte
> > reports an "Invalid package name" error).  I don't know what's up with
this
> > (I'm new to JRUN), so I just used the default package.  Now this was
working
> > if I took the database field values and set them into session scope as
> > attributes and then set the Bean properties from the JSP page using the
> > session.getAttribute() values, but I cannot get the servlet to set the
Bean
> > properties and then read them from the JSP.  Here's the program flow
(and
> > BTW, you are right on the general architecture):
> >
> > JSP logon >> Controller servlet >> Authenticate servlet (get values from
> > database) >> JavaBean set >> Controller >> appropriate JSP based on
> > accesslevel << JavaBean get.
> >
> > I tried to send the code, but the listserv reject anything over 300
lines.
> > Below is just my Authenticate.java that attempts to set the Bean
properties.
> > I don't blame anyone for not wanting to look at my shitty code!
> >
> > public class Authenticate extends HttpServlet {
> >     public void init(ServletConfig config) throws ServletException {
> >         super.init(config);
> >     }
> >
> >     protected void processRequest(HttpServletRequest req,
> > HttpServletResponse res) throws ServletException, IOException {
> >         HttpSession session = req.getSession();
> >         if( session == null) {
> >             res.sendError( res.SC_PRECONDITION_FAILED, "Session has not
been
> > instantiated.");
> >         }
> >
> >         Integer accessCount = new Integer( 0);
> >         if( !session.isNew()) {
> >             Integer oldAccessCount = (Integer) session.getAttribute(
> > "accessCount");
> >             if( oldAccessCount != null) {
> >                 accessCount = new Integer( oldAccessCount.intValue() +
1);
> >             }
> >         }
> >         session.setAttribute( "accessCount", accessCount);
> >
> >         String parmUserid = req.getParameter( "userid");
> >         String parmPW = req.getParameter( "password");
> >
> >         if( parmUserid.trim().length() > 0 && parmPW.trim().length() >
0) {
> >             UserBean userBean = new UserBean();
> >             Calendar ts = Calendar.getInstance();
> >             String time = ts.getTime().toString();
> >             String sql = "SELECT * FROM validation.dbo.gatekeeper";
> >             String dbURL = "jdbc:microsoft:sqlserver://CC615520-C:1433";
> >             String minit = null;
> >
> >             try {
> >
> > Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
> >                 Connection conn = DriverManager.getConnection(
> > dbURL,"sa","rocket01");
> >                 Statement stmt = conn.createStatement();
> >                 ResultSet rs = stmt.executeQuery( sql);
> >
> >                 while( rs.next()) {
> >                     String id = rs.getString( "email");
> >                     String pw = rs.getString( "passwd");
> >
> >                     if( parmUserid.equalsIgnoreCase( id) &&
> > parmPW.equalsIgnoreCase( pw)) {
> >                         String fname = rs.getString( "fname");
> >                         if( rs.getString( "minit") != null) { minit =
> > rs.getString( "minit");}
> >                         String lname = rs.getString( "lname");
> >                         String accesslevel = rs.getString(
"accesslevel");
> >                         String lastaccess = rs.getString( "lastaccess");
> >
> >                         userBean.setUserID( id);
> >                         userBean.setPassword( pw);
> >                         userBean.setFname( fname);
> >                         if( minit != null) {
> >                             userBean.setMinit( minit);
> >                         }
> >                         userBean.setLname( lname);
> >                         userBean.setAccessLevel( accesslevel);
> >                         userBean.setLastAccess( lastaccess);
> >
> >                         String updateSQL = "UPDATE
validation.dbo.gatekeeper
> > SET lastaccess='" + time + "' WHERE email='" + parmUserid + "'";
> >                         stmt.executeUpdate( updateSQL);
> >                         conn.commit();
> >                         conn.close();
> >                         RequestDispatcher rd =
> > getServletContext().getRequestDispatcher( "/servlet/Controller");
> >                         if( rd != null) {
> >                             rd.forward( req, res);
> >                         } else {
> >                             res.sendError( res.SC_NOT_FOUND, "The
Controller
> > is not available.");
> >                         }
> >                     }
> >                 }
> >             } catch( ClassNotFoundException e) {
> >                 e.printStackTrace();
> >             } catch( SQLException e) {
> >                 e.printStackTrace();
> >             }
> >
> >             RequestDispatcher rd =
> > getServletContext().getRequestDispatcher( "/newUser.jsp?userid=" +
> > parmUserid);
> >             if( rd != null) {
> >                 rd.forward( req, res);
> >             } else {
> >                 res.sendError( res.SC_NOT_FOUND, "The requested resource
was
> > not available.");
> >             }
> >
> >         } else {
> >             int cnt = 0;
> >             try {
> >                 cnt = Integer.parseInt( session.getAttribute(
> > "accessCount").toString());
> >             } catch( NumberFormatException e) {
> >                 e.printStackTrace();
> >             }
> >             if( cnt < 3) {
> >                 RequestDispatcher rd =
> > getServletContext().getRequestDispatcher( "/index.jsp?error=true");
> >                 if( rd != null) {
> >                     rd.forward( req, res);
> >                 } else {
> >                     res.sendError( res.SC_NOT_FOUND);
> >                 }
> >             } else {
> >                 session.invalidate();
> >                 res.sendError( res.SC_UNAUTHORIZED, "You have exhausted
your
> > login attempts.  Please contact the system administrator.");
> >             }
> >         }
> >     }
> >
> >
___________________________________________________________________________
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> > of the message "signoff SERVLET-INTEREST".
> >
> > Archives: http://archives.java.sun.com/archives/servlet-interest.html
> > Resources: http://java.sun.com/products/servlet/external-resources.html
> > LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
>

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to