I would want to see your "web.xml", and any information that shows up in the Tomcat console (not log file).
> -----Original Message----- > From: Caroline Jen [mailto:[EMAIL PROTECTED] > > I am experimenting a basic application - logon. I got > the first two screens working without problem. > However, the third screen displays a blank page (no > error message). I am having a very difficult time to > figure out the problem; henceforth, seeking help. > Here is the history of my application: > > 1. http://localhost:8080/LogonPractice/index.jsp (no > problem and I clicked on "Sign in") > 2. > http://localhost:8080/LogonPractice/Logon.do;jsessionid=170B50 > E4D8E07EE36290E98342E8BF9C > (no problem and the screen asked for username and > password. I filled out the information and clicked on > "Submit") > 3. http://localhost:8080/LogonPractice/LogonSubmit.do > (displayed a blank page) > > The Tomcat log file shows the following (no error > message at all): > > 2003-09-29 23:29:26 action: Processing a GET for > /Logon > 2003-09-29 23:29:26 action: Looking for Action > instance for class > org.apache.struts.actions.ForwardAction > 2003-09-29 23:29:26 action: Double checking for > Action instance already there > 2003-09-29 23:29:26 action: Creating new Action > instance > 2003-09-29 23:29:35 action: Processing a POST for > /LogonSubmit > 2003-09-29 23:29:35 action: Looking for ActionForm > bean under attribute 'logonForm' > 2003-09-29 23:29:35 action: Creating new ActionForm > instance of class 'org.apache.artimus.logon.LogonForm' > 2003-09-29 23:29:35 action: Storing instance under > attribute 'logonForm' in scope 'request' > 2003-09-29 23:29:35 action: Populating bean > properties from this request > 2003-09-29 23:29:35 action: Validating input form > properties > 2003-09-29 23:29:35 action: No errors detected, > accepting input > 2003-09-29 23:29:35 action: Looking for Action > instance for class > org.apache.artimus.logon.LogonAction > 2003-09-29 23:29:35 action: Double checking for > Action instance already there > 2003-09-29 23:29:35 action: Creating new Action > instance > > in my struts-config.xml, I have: > > <action > path="/LogonSubmit" > > type="org.apache.artimus.logon.LogonAction" > name="logonForm" > scope="request" > validate="true" > input="/signin/Logon.jsp"> > <forward > name="valid" > path="/signin/Welcome.jsp"/> > </action> > > and my LogonAction.java is: > > package org.apache.artimus.logon; > > import java.io.IOException; > import javax.servlet.ServletException; > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpSession; > import javax.servlet.http.HttpServletResponse; > import org.apache.struts.action.Action; > import org.apache.struts.action.ActionError; > import org.apache.struts.action.ActionErrors; > import org.apache.struts.action.ActionForm; > import org.apache.struts.action.ActionForward; > import org.apache.struts.action.ActionMapping; > import org.apache.struts.action.ActionServlet; > > import org.apache.artimus.lang.Constants; > > public final class LogonAction extends Action { > > public boolean isUserLogon(String username, > String password) throws UserDirectoryException > { > > return > (UserDirectory.getInstance().isValidPassword(username,password)); > // return true; > > } > > > public ActionForward execute(ActionMapping > mapping, > ActionForm form, > HttpServletRequest request, > HttpServletResponse response) > throws IOException, ServletException { > > // Obtain username and password from web tier > String username = ((LogonForm) > form).getUsername(); > String password = ((LogonForm) > form).getPassword(); > > // Validate credentials with business tier > boolean validated = false; > try { > > validated = > isUserLogon(username,password); > } > > catch (UserDirectoryException ude) { > // couldn't connect to user directory > ActionErrors errors = new ActionErrors(); > errors.add(ActionErrors.GLOBAL_ERROR, > new ActionError("error.logon.connect")); > saveErrors(request,errors); > // return to input page > return (new > ActionForward(mapping.getInput())); > } > > if (!validated) { > // credentials don't match > ActionErrors errors = new ActionErrors(); > errors.add(ActionErrors.GLOBAL_ERROR, > new ActionError("error.logon.invalid")); > saveErrors(request,errors); > // return to input page > return (new > ActionForward(mapping.getInput())); > } > > // Save our logged-in user in the session, > // because we use it again later. > HttpSession session = request.getSession(); > session.setAttribute(Constants.USER_KEY, > form); > > // Log this event, if appropriate > if (servlet.getDebug() >= Constants.DEBUG) { > StringBuffer message = > new StringBuffer("LogonAction: User > '"); > message.append(username); > message.append("' logged on in session "); > message.append(session.getId()); > servlet.log(message.toString()); > } > > // Return success > return (mapping.findForward(Constants.VALID)); > > } > > } // End LogonAction > > > The Constants.class is in the > ApplicationRoot/WEB-INF/classes/org/apache/artimus/lang > directory. And I have > public static final String VALID = "valid"; > > My Welcome.jsp in the ApplicationRoot/signin folder > looks like: > > <%@ taglib uri="/tags/struts-bean" prefix="bean" %> > <%@ taglib uri="/tags/struts-html" prefix="html" %> > <%@ taglib uri="/tags/struts-logic" prefix="logic" %> > <HTML> > <HEAD> > <TITLE>Welcome!</TITLE> > <html:base/> > </HEAD> > <BODY> > <logic:present name="user"> > <H3>Welcome <bean:write name="user" > property="username"/>!</H3> > </logic:present> > <logic:notPresent scope="session" name="user"> > <H3>Welcome World!</H3> > </logic:notPresent> > <html:errors/> > <UL> > <LI><html:link forward="logon">Sign > in</html:link></LI> > <logic:present name="user"> > <LI><html:link forward="logoff">Sign > out</html:link></LI> > </logic:present> > </UL> > <IMG src='struts-power.gif' alt='Powered by Struts'> > </BODY> > </HTML> > > > > __________________________________ > Do you Yahoo!? > The New Yahoo! Shopping - with improved product search > http://shopping.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]