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]