Erro: Struts

7 respostas
vjfenix

Olá pessoal!!!

Estou estudando o struts e fiz um exemplo porém está me dando um erro que não consegui entender, se agluem puder me ajudar..

struts.config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"         "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
	<action-mappings>
		<action path="br.com.csj.struts.action.ListaCandidatoAction">
		<forward name="lista" path="lista.jsp"></forward>
		</action>		
	</action-mappings>
	<message-resources parameter="MessageResources"></message-resources>
</struts-config>

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">

  <servlet>
    <servlet-name>candidato</servlet-name>
    <servlet-class>br.com.csj.struts.action.ListaCandidatoAction</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>candidato</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

</web-app>
action
@Override
	public ActionForward execute(ActionMapping map, ActionForm form,
			ServletRequest request, ServletResponse response) throws Exception {
		List<CandidatoVo> lista = new CandidatoBo().listar();
		return map.findForward("lista");
	}

Erro:
HTTP Status 404 - Servlet candidato is not available
________________________________________
type Status report
message Servlet candidato is not available
description The requested resource (Servlet candidato is not available) is not available.
________________________________________
Apache Tomcat/6.0.16

7 Respostas

Anderson_Leite

No web.xml voce nao mapeia sua classe contato. Tem que mapear a Action do Struts

<!-- Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

 <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
 </servlet>
vjfenix
Anderson Leite:
No web.xml voce nao mapeia sua classe contato. Tem que mapear a Action do Struts
<!-- Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

 <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
 </servlet>

Anderson,

Fiz a alteração mas ainda está com o mesmo erro.. se vc tiver mais alguma sugestão.... Estou chamando dessa forma.

http://localhost:8080/struts/listaCandidato.do

escobardo

Olá,
Acho que o mapeamento da action ta errado, tenta assim:

<action path="/listaCandidato" type="br.com.csj.struts.action.ListaCandidatoAction">  
    <forward name="lista" path="lista.jsp"></forward>  
</action>
vjfenix

escobardo:
Olá,
Acho que o mapeamento da action ta errado, tenta assim:

<action path="/listaCandidato" type="br.com.csj.struts.action.ListaCandidatoAction"> <forward name="lista" path="lista.jsp"></forward> </action>

Cara…

Fiz essa alteração e continua da mesma forma…

Valeu!!

escobardo

Tenta então alterar o endereço de acesso para: http://localhost:8080/listaCandidato.do

Lembrando de deixar a altereção que falei e a que o Anderson tinha falado

Anderson_Leite

vjfenix, posta a msg de erro aqui.

vjfenix
Anderson Leite:
vjfenix, posta a msg de erro aqui.

Anderson,

O erro é esse:

TTP Status 404 - /listaCandidato.do

type Status report

message /listaCandidato.do

description The requested resource (/listaCandidato.do) is not available.
Apache Tomcat/6.0.16

*****************************************************************************
web.xml e struts.config.xml estão na WEB-INF

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">

     <!-- Action Servlet Mapping -->  
   <servlet-mapping>  
      <servlet-name>action</servlet-name>  
      <url-pattern>*.do</url-pattern>  
   </servlet-mapping>  
      
    <servlet>  
        <servlet-name>action</servlet-name>  
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
   </servlet>  

</web-app>

*****************************************************************************

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"         "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
	<action-mappings>
		<action path="/listaCandidatoAction"
			type="br.com.csj.struts.action.ListaCandidatoAction">
				<forward name="lista" path="lista.jsp"></forward>
		</action>		
	</action-mappings>
</struts-config>
*****************************************************************************
Action
@Override
	public ActionForward execute(ActionMapping map, ActionForm form,
			ServletRequest request, ServletResponse response) throws Exception {
		List<CandidatoVo> lista = new CandidatoBo().listar();
		request.setAttribute("contatos", lista);
		return map.findForward("lista");
	}
Criado 5 de julho de 2008
Ultima resposta 9 de jul. de 2008
Respostas 7
Participantes 3