Erro no struts ajudaaaa!

Erro:

HTTP Status 404 - Servlet action is not available

type Status report

message Servlet action is not available

description The requested resource (Servlet action is not available) is not available.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


	<servlet>
		
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		
		<init-param>
			<param-name>application</param-name>
			<param-value>ApplicationResources</param-value>
		</init-param>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-xml</param-value>
		</init-param>		
		<init-param>
			<param-name>debug</param-name>
			<param-value>2</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>2</param-value>
		</init-param>
		
		<load-on-startup>2</load-on-startup>
		
	</servlet>
	
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

</web-app>

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>

< !DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" />

<struts-config>
	<form-beans>
		<form-bean name="funcionarioForm" type="org.jf.FuncionarioForm" />
	</form-beans>
	<action-mappings>
		<action type="org.jf.FuncionarioAction" 
				name="teste" 
				scope="request" 
				path="/cadastroFuncionario">
			<forward name="sucesso" path="/funcionarioForm.jsp"/>
		</action>
	</action-mappings>
</struts-config>

FuncionarioAction

package org.jf;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class FuncionarioAction extends Action {
	
	public ActionForward execute(ActionMapping mapping,
								 ActionForm form,
								 HttpServletRequest request,
								 HttpServletResponse response)
								 throws Exception {
		
		return mapping.findForward("sucesso");
		
	}
	
}

FuncionarioForm

package org.jf;

import org.apache.struts.action.*;

public class FuncionarioForm extends ActionForm {
	
	private String nome;
	private String idade;
	
	public String getNome() { return this.nome; }
	public void setNome(String nome) { this.nome = nome; }
	
	public String getIdade() { return this.idade; }
	public void setIdade(String idade) { this.idade = idade; }
	
}

index.jsp //formulario

<html>
  <head>
    <title>teste</title>
  </head>
  <body>
  	<form action="cadastroFuncionario.do" method="post">
  		<input type="text" name="nome">
  		<input type="text" name="idade">
  		<input type="submit" name="submit">
  	</form>
  </body>
</html>

Coloque seu codigo com a tag Code, vc colocou todos jars da sua aplicação?

sim… somente o struts.jar já que é uma app simples.

Atente para o seu Struts config… há divergencias na tag name do action… deve ser o mesmo da declaração acima (form).

Acho vc precisa desse também:

servlet-api.jar

Fiz a alteração e continua o mesmo erro :frowning:

servlet-api.jar esta no tomcat/commons/lib entao… nao eh isso :frowning:
ainda pra garantir tentei por no path e nda… mermo erro =/ …

revise os nomes das classes e pacotes copie e cole por segurança, pode ser algum errinho de digitação.

Eu mesmo achei um erro…
no struts-config.xml

la tah struts-xml.. troquei para struts-config.xml

porem… mesmo erro…

nao funcionaaa! :~(

Eu uso meu struts-config assim:

<action path="/xxx" type="br.com.xx.struts.action.xx" name="xxx">

tenta usar assim, não sei se ordem interfere alguma coisa

Acho que identifiquei o erro:

Olha o nome do seu form-bean:

<form-bean name="funcionarioForm" type="org.jf.FuncionarioForm" />

Olha o nome que vc esta usando na action

<action type="org.jf.FuncionarioAction" name="teste" 	scope="request" 
 				path="/cadastroFuncionario">

não é teste e sim o nome do form bean: funcionarioForm

tentei… e nda =/

pedrosa vc poderia me mandar um exemplo vc usando struts… web.xml e um struts-config.xml ?!

pq to tentando fazer isso há uns 3 dias

vo colar como esta o codigo novamente.

viu o meu ultimo post?

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


	<servlet>
		
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		
		<init-param>
			<param-name>application</param-name>
			<param-value>ApplicationResources</param-value>
		</init-param>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml</param-value>
		</init-param>		
		<init-param>
			<param-name>debug</param-name>
			<param-value>2</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>2</param-value>
		</init-param>
		
		<load-on-startup>2</load-on-startup>
		
	</servlet>
	
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

</web-app>

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://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>
	<form-beans>
		<form-bean type="org.jf.FuncionarioForm" name="funcionarioForm" />
	</form-beans>
	<action-mappings>
		<action path="/cadastroFuncionario" 
				type="org.jf.FuncionarioAction" 
				name="funcionarioForm"
				scope="request" 
				>
			<forward name="sucesso" path="/funcionarioForm.jsp"/>
		</action>
	</action-mappings>
</struts-config>

FuncionarioAction.java

package org.jf;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public final class FuncionarioAction extends Action {
	
	public ActionForward execute(ActionMapping mapping,
								 ActionForm form,
								 HttpServletRequest request,
								 HttpServletResponse response)
								 throws Exception {
		
		System.out.println("teste");
		return mapping.findForward("sucesso");
		
	}
	
}

FuncionarioForm.java

package org.jf;

import org.apache.struts.action.*;

public class FuncionarioForm extends ActionForm {
	
	private String nome;
	private String idade;
	
	public String getNome() { return this.nome; }
	public void setNome(String nome) { this.nome = nome; }
	
	public String getIdade() { return this.idade; }
	public void setIdade(String idade) { this.idade = idade; }
	
}

index.jsp

<html>
  <head>
    <title>teste</title>
  </head>
  <body>
  	<form action="cadastroFuncionario.do" method="post">
  		<input type="text" name="nome">
  		<input type="text" name="idade">
  		<input type="submit" name="submit">
  	</form>
  </body>
</html>

vi pedrosa.
por favor vc poderia olhar como esta o codigo cm algumas alterações… porem o mesmo erro.

manda esse projeto zipado vou olhar aqui.

enviado…

resolvido galera…
um amigo ajudou…
faltava uns jars… vlww pedrosaaa. vlww a todos :smiley: