ok, here it goes the java sources if you need other java sources tell me> From: 
[EMAIL PROTECTED]> To: users@tomcat.apache.org> Subject: Re: 
javax.servlet.ServletException: Cannot execute view page '/mail.view'> Date: 
Sun, 23 Dec 2007 10:41:18 -0500> > please display all relevant java source 
files> > Bon Chance/> M--> ----- Original Message -----> From: 'rameau 
rameau1982' <[EMAIL PROTECTED]>> To: <users@tomcat.apache.org>> Sent: Sunday, 
December 23, 2007 6:28 AM> Subject: javax.servlet.ServletException: Cannot 
execute view page> '/mail.view'> > > > Hi!> I'm studying at the university an 
assignature based on web applications> developement using java servlets, 
tomcat, Model-view-controller, and a> framework done by my teacher that is a 
simplification of struts (we use his> jar to implement all te classes of his 
framework and he has told us that> everything is correct and that we cannot 
modify his classes). He has> invented a language called VIEW.> The dynamic 
pages terminate with the sufix .view> > What I'm doing is a web application 
that has some users(with passwords) in a> postgresql database (here everything 
correct) and that they login and> send/receive messages to/from the rest of the 
users.> I'm also using eclipse, so everything is well compilated> When a user 
logins, tomcat sends me an exception and doesn't shows the main> dynamic page 
where the logged user views recieved messages and can send> messages to other 
users.> I give you the code of the mail.view page:> > <?xml version='1.0' 
encoding='ISO-8859-1'?>> <v:view 
xmlns:v='http://soft0.upc.es:8080/web/NS/webfw/view'> xmlns:b='/base.vlib' 
component-element-prefixes='b'><HTML><HEAD>> <TITLE>Disseny d'aplicacions WEB: 
P3</TITLE> <LINk rel='stylesheet'> href='styles.css' 
type='text/css'/></HEAD><BODY><center><table width='700'> border='0' 
cellspacing='0' cellpadding='0'><tr><td><br/>> <b:set var='srv' 
value='${request.session.getAttribute('message_srv')}'/>> <b:if test='${not 
srv}'> <h1>ERROR</h1> <p><span style='color:> #FF0000;'>Session 
Error</span></p> <hr color='#1E90FF'/> <a> HREF='index.html'>Volver</a></b:if>> 
<b:if test='${srv}'> <H1>${srv.userName}</H1> <hr color='#1E90FF'/>> <b:set 
var='recmess' value='${srv.receivedMessages()}'/><b:if test='${not> recmess}'> 
<H2>No hay mensajes recibidos</H2></b:if>> <b:if test='${recmess}'> 
<H2>Mensajes recibidos:</H2> <FORM METHOD='POST'> ACTION='delete.do'>> <!-- 
Lista de mensajes -->> <table border='2' style='border-color: #1E90FF' 
cellspacing='1'> align='center'> <tr> <td><font>remitente</font></td>> 
<td><font>mensaje</font></td> <td><font>fecha</font></td>> 
<td><font>eliminar</font></td> </tr>> <b:for-each var='message'> 
items='${srv.receivedMessages()}'><tr><td>${message.from}</td><td><pre>${mes> 
sage.text}</pre></td><td><pre>${message.date}</pre></td><td><input> 
type='checkbox' name='message_id'> 
value='${message.id}'/></td></tr></b:for-each>> </table> <p><INPUT 
TYPE='submit' NAME='delete' VALUE='Eliminar'/></p>> </FORM></b:if>> <hr 
color='#1E90FF'/>> <FORM METHOD='POST'> 
ACTION='send.do'><font>Destinatario/s:</font><br/><select name='receiver'> 
multiple='multiple'>> <b:for-each var='user' items='${srv.userListToSend()}'> 
<option> value='${user.name}'>${user.name}</option>'</b:for-each>> 
</select><br/><font>Mensaje:</font>> <p><TEXTAREA NAME='message' ROWS='10' 
COLS='100'></TEXTAREA></p>> <p><INPUT TYPE='submit' NAME='send' 
VALUE='Enviar'/></p> </FORM>> <hr color='#1E90FF'/> <FORM METHOD='POST' 
ACTION='logout.do'> <p><INPUT> TYPE='submit' VALUE='Logout'/></p> 
</FORM></b:if>> </td></tr></table></center></BODY></HTML></v:view>> > I think 
that the problem is at:> <b:set var='srv' 
value='${request.session.getAttribute('message_srv')}'/>> > can somebody help 
me??> > Oh! and the tomcat exception:> Estado HTTP 500 -> > > type Informe de 
Excepción> mensaje> descripción El servidor encontró un error interno () que 
hizo que no pudiera> rellenar este requerimiento.> excepción 
javax.servlet.ServletException: Cannot execute view page> '/mail.view': 
webprofe.webfw.view.processor.ViewException: Error in call to> component: 
webprofe.webfw.view.processor.ViewException: Error in call to> component: 
webprofe.webfw.view.runtime.expression.EvalException: Undefined> property 
'name' on target [EMAIL PROTECTED]> 
webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:63)> 
webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> 
webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)> 
webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)> 
webprofe.webfw.controller.Controller.process(Controller.java:57)> 
webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48> 
)> javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> > > causa raíz 
webprofe.webfw.view.processor.ViewException: Error in call to> component: 
webprofe.webfw.view.processor.ViewException: Error in call to> component: 
webprofe.webfw.view.runtime.expression.EvalException: Undefined> property 
'name' on target [EMAIL PROTECTED]> 
webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:87)> 
webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)> 
webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)> 
webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> 
webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)> 
webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)> 
webprofe.webfw.controller.Controller.process(Controller.java:57)> 
webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48> 
)> javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> > > causa raíz 
webprofe.webfw.view.processor.ViewException: Error in call to> component: 
webprofe.webfw.view.runtime.expression.EvalException: Undefined> property 
'name' on target [EMAIL PROTECTED]> 
webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:87)> 
webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.components.base.IfComponent.execute(IfComponent.java:18)> 
webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)> 
webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)> 
webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)> 
webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> 
webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)> 
webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)> 
webprofe.webfw.controller.Controller.process(Controller.java:57)> 
webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48> 
)> javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> > > causa raíz 
webprofe.webfw.view.runtime.expression.EvalException: Undefined> property 
'name' on target [EMAIL PROTECTED]> 
webprofe.webfw.view.runtime.introspection.HelperInfo.getProperty(HelperInfo.> 
java:22)> 
webprofe.webfw.view.runtime.introspection.BeanHelperInfo.getProperty(HelperI> 
nfo.java:102)> 
webprofe.webfw.view.runtime.expression.PropertyExpression.evaluateWithTarget> 
(PropertyExpression.java:26)> 
webprofe.webfw.view.runtime.expression.ExpressionWithTarget.evaluate(Express> 
ionWithTarget.java:30)> 
webprofe.webfw.view.runtime.tree.ExpressionNode.invoke(ExpressionNode.java:1> 
9)> webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.components.base.ForEachComponent.processCollection(ForEa> 
chComponent.java:120)> 
webprofe.webfw.view.components.base.ForEachComponent.execute(ForEachComponen> 
t.java:61)> webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)> 
webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.components.base.IfComponent.execute(IfComponent.java:18)> 
webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)> 
webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)> 
webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)> 
webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)> 
webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> 
webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)> 
webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)> 
webprofe.webfw.controller.Controller.process(Controller.java:57)> 
webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48> 
)> javax.servlet.http.HttpServlet.service(HttpServlet.java:710)> 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)> > > nota La traza 
completa de la causa de este error se encuentra en los> archivos de diario de 
Apache Tomcat/6.0.13.> > > Apache Tomcat/6.0.13> 
_________________________________________________________________> MSN Video.> 
http://video.msn.com/?mkt=es-es> > > 
---------------------------------------------------------------------> To start 
a new topic, e-mail: users@tomcat.apache.org> To unsubscribe, e-mail: [EMAIL 
PROTECTED]> For additional commands, e-mail: [EMAIL PROTECTED]> 
_________________________________________________________________
La vida de los famosos al desnudo en MSN Entretenimiento
http://entretenimiento.es.msn.com/
package webusr31.prac3.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import webusr31.prac3.model.impl.*;

public class LoginCommand extends MailCommand {
        
        public String execute(HttpServletRequest request) throws Exception{
                
                String user = request.getParameter("user");
                String password = request.getParameter("passwd");
                MailMessageSystem app = (MailMessageSystem) 
context.getAttribute("message_app");
                
                MailMessageSession mms = null;

                try {
                        mms = app.login(user, password);
                } catch (Exception e){
                        if(e.getMessage().compareTo("NO USER")==0)
                                return "error1";
                        else if(e.getMessage().compareTo("PASSWORD INC")==0)
                                return "error2";
                        else
                                throw e;
                }
                
                request.getSession().setAttribute("message_srv", mms);
                return "ok";
        }


}
package webusr31.prac3.model.impl;

import webusr31.prac3.model.dao.*;
import webusr31.prac3.model.dao.UserVO;
import webusr31.prac3.model.dao_sql.SqlMessageDAO;
import webusr31.prac3.model.dao_sql.SqlUserDAO;
import webusr31.prac3.model.spec.Message;
import webusr31.prac3.model.spec.MessageSession;


import java.util.Date;
import java.util.Iterator;
import java.util.Vector;


public class MailMessageSession implements MessageSession {
        
        protected String user;
        protected MailMessageSystem app;
        
        public MailMessageSession(MailMessageSystem app,String user) {
                this.user = user;
                this.app = app;
        }
        
        public MailMessageSystem getSystem() {
                return app;
        }

    public int getUserId() throws Exception {
        UserVO DataUser;
        DataUser = new UserVO();
        SqlUserDAO UserDAO = (SqlUserDAO) app.getUserDAO();
        DataUser = UserDAO.select_by_name(user);
                
        return DataUser.id;
    }

    public String getUserName() {
                return user;
    }

    public boolean sendTo(String to_name, String msg) throws Exception {
        SqlMessageDAO MessageDAO = (SqlMessageDAO)app.getMessageDAO();
                MessageVO vo = new MessageVO();
                vo.from_id = getUserId();
                SqlUserDAO UserDAO = (SqlUserDAO)app.getUserDAO();
                vo.to_id = UserDAO.select_by_name(to_name).id;
                vo.set_text(msg);
                vo.set_date(new Date());
        MessageDAO.insert(vo);
        return true;

        
    }

    public Vector receivedMessages() throws Exception {
        int id=getUserId();
        SqlMessageDAO MessageDAO = (SqlMessageDAO) app.getMessageDAO();
        java.util.Vector list = MessageDAO.select_by_to(id);
        if (list.size() == 0)
                return null;
        java.util.Vector list2 = new java.util.Vector();

        Iterator it = list.iterator();
        while (it.hasNext()) {
                MessageVO vo = (MessageVO) it.next();
                Message mess = new 
Message(vo.id,app.getUserName(vo.from_id),vo.date,vo.text);
                list2.add(mess);
          }  
        
        return list2;


   }

    public boolean deleteMessage(int id) throws Exception {


        SqlMessageDAO MessageDAO = (SqlMessageDAO) app.getMessageDAO();
        MessageDAO.delete(id);
        return true;
    }

    public void logout() {
        
    }

    public java.util.Vector userListToSend() throws Exception{
        SqlUserDAO UserDAO = (SqlUserDAO)app.getUserDAO();
        return UserDAO.sendUserList(getUserId());
    }

}
package webusr31.prac3.model.impl;

import javax.servlet.ServletContext;
import java.util.Date;
import webusr31.prac3.model.spec.*;
import webusr31.prac3.model.dao_sql.*;
import webusr31.prac3.model.dao.*;


public class MailMessageSystem implements MessageSystem
{
        ServletContext context;

        protected SqlUserDAO UserDAO;
        protected SqlMessageDAO MessageDAO;

        public MailMessageSystem(ServletContext context) {
                this.context = context;

                SqlDAOFactory DAOFactory = new SqlDAOFactory(context);
                UserDAO = (SqlUserDAO) DAOFactory.newUserDAO();
                MessageDAO = (SqlMessageDAO) DAOFactory.newMessageDAO();
        }

        public MailMessageSession login(String user, String passwd) throws 
Exception {

                MailMessageSession MMS = new MailMessageSession(this,user);
                UserVO DataUser = new UserVO();

                DataUser = UserDAO.select_by_name(user);
                if (DataUser == null)
                        throw new Exception("NO USER");

                if (DataUser.password.compareTo(passwd) != 0)
                        throw new Exception("PASSWORD INC");

                return MMS;
        }
        
        public String getUserName(int user_id) throws Exception {
                UserVO DataUser = new UserVO();
                DataUser = UserDAO.get(user_id);
                return DataUser.name;
        }
    
        public UserDAO getUserDAO(){
                return UserDAO;
        }


        public MessageDAO getMessageDAO(){
                return MessageDAO;
        }

        public void close() {
        }       
}
package webusr31.prac3.model.dao_sql;

import webusr31.prac3.model.dao.*;
import java.sql.*;


/**
 * Realitzaci� de la factoria 'webprofe.prac3.model.DAOFactory' usant JDBC.
 */
public class SqlDAOFactory extends DAOFactory
{

    protected String db_url, db_user, db_password;



    public SqlDAOFactory(javax.servlet.ServletContext context)
    {
        db_url = context.getInitParameter("message_app.db.url");
        db_user = context.getInitParameter("message_app.db.user");
        db_password = context.getInitParameter("message_app.db.password");
    }

    public SqlDAOFactory(String url, String user, String password)
    {
        db_url = url;
        db_user = user;
        db_password = password;
    }

    protected Connection getDBConnection() throws Exception
    {
        try {
            Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException e) {
            // Try old driver
            Class.forName("postgresql.Driver");
        }
        return DriverManager.getConnection(db_url,db_user,db_password);
    }


    public UserDAO newUserDAO()
    {
        return new SqlUserDAO(this);
    }


    public MessageDAO newMessageDAO()
    {
        return new SqlMessageDAO(this);
    }


}
package webusr31.prac3.model.dao_sql;

import webusr31.prac3.model.dao.*;
import java.sql.*;


public class SqlMessageDAO implements MessageDAO
{

    protected SqlDAOFactory dao_fact;


    public SqlMessageDAO(SqlDAOFactory fact)
    {
        dao_fact = fact;
    }


    public MessageVO get(int id) throws Exception
    {
        MessageVO vo = null;
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        ResultSet cursor = order.executeQuery(
                "SELECT * FROM \""+DBNames.MESSAGES_TABLE+
                "\" WHERE \""+DBNames.MESSAGE_ID+"\"="+id
        );
        if (cursor.next()) {
            vo = new MessageVO();
            vo.id = id;
            vo.from_id = cursor.getInt(DBNames.MESSAGE_FROM_ID);
            vo.to_id = cursor.getInt(DBNames.MESSAGE_TO_ID);
            vo.text = cursor.getString(DBNames.MESSAGE_TEXT);
            vo.date = new 
java.util.Date(cursor.getLong(DBNames.MESSAGE_DATE)*1000);
        }
        order.close();
        dbc.close();
        return vo;
    }


    public java.util.Vector select_by_to(int to_id) throws Exception
    {
        java.util.Vector list = new java.util.Vector();
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        ResultSet cursor = order.executeQuery(
                "SELECT * FROM \""+DBNames.MESSAGES_TABLE+
                "\" WHERE \""+DBNames.MESSAGE_TO_ID+"\"="+to_id
        );
        while (cursor.next()) {
            MessageVO vo = new MessageVO();
            vo.id = cursor.getInt(DBNames.MESSAGE_ID);
            vo.from_id = cursor.getInt(DBNames.MESSAGE_FROM_ID);
            vo.to_id = cursor.getInt(DBNames.MESSAGE_TO_ID);
            vo.text = cursor.getString(DBNames.MESSAGE_TEXT);
            vo.date = new 
java.util.Date(cursor.getLong(DBNames.MESSAGE_DATE)*1000);
            list.addElement(vo);
        }
        order.close();
        dbc.close();
        return list;
    }


    public void insert(MessageVO vo) throws Exception
    {
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        // Get primary key
        ResultSet cursor = order.executeQuery(
                "SELECT nextval('"+DBNames.ID_SEQUENCE+"')"
        );
        cursor.next();
        vo.id = cursor.getInt(1);
        // Construct command
        order.executeUpdate(
                "INSERT INTO \""+DBNames.MESSAGES_TABLE+"\" ("+
                
DBNames.MESSAGE_ID+","+DBNames.MESSAGE_FROM_ID+","+DBNames.MESSAGE_TO_ID+","+
                
DBNames.MESSAGE_SUBJECT+","+DBNames.MESSAGE_TEXT+","+DBNames.MESSAGE_DATE+") 
VALUES ("+

                Integer.toString(vo.id)+","+
                
Integer.toString(vo.from_id)+","+Integer.toString(vo.to_id)+",'PRACTICA 3','"+
                vo.text+"',"+Long.toString(vo.date.getTime()/1000)+")"
        );
        order.close();
        dbc.close();
    }


    public void delete(int id) throws Exception
    {
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        order.executeUpdate(
                "DELETE FROM \""+DBNames.MESSAGES_TABLE+"\" WHERE "+
                DBNames.MESSAGE_ID+"="+id
        );
        order.close();
        dbc.close();
    }


}
package webusr31.prac3.model.dao_sql;

import webusr31.prac3.model.dao.*;
import java.sql.*;


public class SqlUserDAO implements UserDAO
{

    protected SqlDAOFactory dao_fact;


    public SqlUserDAO(SqlDAOFactory dbcf)
    {
        dao_fact = dbcf;
    }


    public UserVO get(int id) throws Exception
    {
        UserVO vo = null;
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        ResultSet cursor = order.executeQuery(
                "SELECT * FROM \""+DBNames.USERS_TABLE+
                "\" WHERE \""+DBNames.USER_ID+"\"="+id
        );
        if (cursor.next()) {
            vo = new UserVO();
            vo.id = cursor.getInt(DBNames.USER_ID);
            vo.name = cursor.getString(DBNames.USER_NAME);
            vo.password = cursor.getString(DBNames.USER_PASSWORD);
        }
        dbc.close();
        return vo;
    }


    public UserVO select_by_name(String name) throws Exception
    {
        UserVO vo = null;
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        ResultSet cursor = order.executeQuery(
                "SELECT * FROM \""+DBNames.USERS_TABLE+
                "\" WHERE \""+DBNames.USER_NAME+"\"='"+name+"'"
        );
        if (cursor.next()) {
            vo = new UserVO();
            vo.id = cursor.getInt(DBNames.USER_ID);
            vo.name = cursor.getString(DBNames.USER_NAME);
            vo.password = cursor.getString(DBNames.USER_PASSWORD);
        }
        dbc.close();
        return vo;
    }

        public java.util.Vector sendUserList(int user_id) throws Exception
    {
        java.util.Vector list = new java.util.Vector();
        Connection dbc = dao_fact.getDBConnection();
        Statement order = dbc.createStatement();
        ResultSet cursor = order.executeQuery(
                        "SELECT * FROM \""+DBNames.USERS_TABLE+
                        "\" WHERE \""+DBNames.USER_ID+"\"!="+user_id
                );
        while (cursor.next()) {
            UserVO vo = new UserVO();
            vo.id = cursor.getInt(DBNames.USER_ID);
            vo.name = cursor.getString(DBNames.USER_NAME);
            list.addElement(vo);
        }
        order.close();
        dbc.close();
        return list;
    }

}
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to