Boa tarde galera, tudo beleza?
Estou aprendendo a utilizar Struts2. Pretendo de inicio acessar o banco e trazer umas informações de umas tabelas e montar meu JSP. Assisti
uns tutoriais utilizando Struts2 + boxSQL e implementei, porém estou tendo um erro que não explicar o que porque.
Eu sou iniciante em Java e JavaEE, mas decidi criar uma aplicação do zero pra aprender melhor. Podem me ajudar por favor?
Vou colocar todas as informações:
Erro:Nov 5, 2007 2:02:43 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.NoClassDefFoundError: com/squishers/DAO/MembrosDAO
at com.squishers.actions.MembrosAction.<init>(MembrosAction.java:10)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)
at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)
at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)
at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113)
at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275)
at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365)
at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:74)
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Essa é a tela de erro que estou tendo no browser
[img]http://www.squishers.com/spdio/erro.JPG[/img]
Esssa é a estrutura do projeto:
[img]http://www.squishers.com/spdio/estrutura.JPG[/img]
package com.squishers.actions;
import java.util.List;
import com.squishers.DAO.MembrosDAO;
import com.squishers.beans.Membros;
public class MembrosAction {
MembrosDAO mDAO = new MembrosDAO();
private List<Membros> membros;
public String execute(){
setMembros(mDAO.getMembro());
return "sucess";
}
public final List<Membros> getMembros() {
return membros;
}
public final void setMembros(List<Membros> membros) {
this.membros = membros;
}
}
package com.squishers.beans;
public class Membros {
private String nome;
private String nick;
private String msn;
private int icq;
private String configPC;
private String games;
public Membros(){
}
public Membros(String nome, String nick, String msn, int icq, String configPC, String games) {
super();
this.nome = nome;
this.nick = nick;
this.msn = msn;
this.icq = icq;
this.configPC = configPC;
this.games = games;
}
public final String getNome() {
return nome;
}
public final void setNome(String nome) {
this.nome = nome;
}
public final String getNick() {
return nick;
}
public final void setNick(String nick) {
this.nick = nick;
}
public final String getMsn() {
return msn;
}
public final void setMsn(String msn) {
this.msn = msn;
}
public final int getIcq() {
return icq;
}
public final void setIcq(int icq) {
this.icq = icq;
}
public final String getConfigPC() {
return configPC;
}
public final void setConfigPC(String configPC) {
this.configPC = configPC;
}
public final String getGames() {
return games;
}
public final void setGames(String games) {
this.games = games;
}
}
package com.squishers.DAO;
import java.util.ArrayList;
import java.util.List;
import org.boxsql.BoxSQL;
import com.squishers.beans.Membros;
public class MembrosDAO {
public List<Membros> getMembro() {
BoxSQL box = new BoxSQL();
List<Membros> membros = box.getList("ListarMembros.sql", Membros.class);
box.release();
return membros;
}
}
SELECT
*
FROM
MEMBROS
ORDER BY
NICK
box.connectionType=jdbc
box.pathBase=/com/squishers/resources
jdbc.url=jdbc:jtds:sqlserver://localhost:1433/squishers
jdbc.driver=net.sourceforge.jtds.jdbc.Driver
jdbc.user=squishers
jdbc.password=charneuba
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
<action name="Membros" class="com.squishers.actions.MembrosAction">
<result>membros.jsp</result>
</action>
</package>
</struts>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<s:head theme="ajax" debug="true"/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SQS - Squishers Clan</title>
</head>
<body>
<div align="center">
<div>Squishers Page</div>
<s:tabbedPanel id="Tabs" cssStyle="font-family: Verdana; font-size: 12px; width: 70%;">
<s:div label="Home" href="home.jsp" theme="ajax" refreshOnShow="true" executeScripts="true"
cssStyle="display: none; font-weight: normal; padding: 10px; text-align: left;">Home</s:div>
<s:url id="membrosUrl" action="Membros"/>
<s:div label="Membros" href="%{membrosUrl}" theme="ajax" refreshOnShow="true" executeScripts="true"
cssStyle="display: none; font-weight: normal; fonta-family: Verdana; font-size: 11px; padding: 10px; text-align: left;">Membros</s:div>
<s:div label="Historia" href="historia.jsp" theme="ajax" refreshOnShow="true" executeScripts="true"
cssStyle="display: none; font-weight: normal; fonta-family: Verdana; font-size: 11px; padding: 10px; text-align: left;">História</s:div>
<s:div label="Forum" theme="ajax">Forum</s:div>
<s:div label="SQSNet" theme="ajax">SQSNet</s:div>
<s:div label="Game" theme="ajax">O Game</s:div>
<s:div label="Links & Downloads" theme="ajax">Links e Downlodas</s:div>
</s:tabbedPanel>
</div>
</body>
</html>
<%@ taglib prefix="s" uri="/struts-tags" %>
<table border="0" align="center">
<tr>
<td style="padding-bottom: 10px; padding-right: 20px;">
<table cellspacing="0" cellpadding="5" border="1" class="blockTable">
<tr>
<th colspan="4" align="center">Membro</th>
</tr>
<tr>
<th>Nome: </th>
<th>Nick: </th>
<th>MSN: </th>
<th>ICQ: </th>
<th>Config PC: </th>
<th>Games: </th>
</tr>
<s:iterator value="membros">
<tr>
<td><s:property value="nome"/></td>
<td><s:property value="nick"/></td>
<td><s:property value="msn"/></td>
<td><s:property value="icq"/></td>
<td><s:property value="configPC"/></td>
<td><s:property value="game"/></td>
</tr>
</s:iterator>
</table>
</td>
</tr>
</table>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SquishersPage</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
Grato
