Struts, Entendendo os diretórios

Bom, estou tentando desenvolver minha primeira aplicação com auxilio do Struts, estou usando netbeans como ferramenta de desenvolvimento, e me deparo com uma dúvida…
Minhas webs, estão em.
Cadastro/web/WEB-INF/…
Aqui dentro está a página principal da aplicação, que é "register.jsp"
A aplicação é simples só validar os campos de um formulário.
Eis o código do meu web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <description>Validação de e-mail e senha, para efetuação de login.</description> <display-name>Cadastro</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <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> <!-- ################## Mapeamento Padrão ##################### --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <!-- Arquivo de Boas vindas --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
E aqui o struts-config.xml

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

<!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 name="userFormBean" type="andre.UserFormBean"/>
    </form-beans>
    <global-exceptions>
      
    </global-exceptions>
    <global-forwards>
        <forward name="welcome"  path="/Welcome.do"/>
    </global-forwards>
    <action-mappings>
        <action path="/Welcome" forward="/index.jsp"/>
        <action path="/actions/register" type="andre.RegisterAction"
        name="userFormBean" scope="request" input="/WEB-INF/action/register.jsp">
        <forward name="success" path="/WEB-INF/result.jsp"/>
        <forward name="bad-address" path="/WEB-INF/bad-address.jsp"/>
        <forward name="bad-password" path="/WEB-INF/bad-password.jsp"/>
        </action>
    </action-mappings>
    <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>

    <message-resources parameter="com/myapp/struts/ApplicationResource"/>    
    <plug-in className="org.apache.struts.tiles.TilesPlugin" >
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />      
        <set-property property="moduleAware" value="true" />
    </plug-in>
    
    <!-- ============= Validator plugin =============== -->
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property
            property="pathnames"
            value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
  
</struts-config>

Executei o projeto e só apareceu a página index.jsp

Esse arquivo de boas vindas é a página que será exibida quando executar o projeto?
Como funciona a arvore de arquivos nessas aplicações?
Por favor!! :lol: :oops:

Olá André!

Então se eu não me engano por vc ter colocado o código:

[code]#

index.jsp

[/code]

Toda primeira requisição vai acabar caindo no index.jsp

Minha sugestão é que vc tire essa configuração e tente entrar em sua pagina da seguinte forma:
/actions/register.do
Assim vc cai em sua action diretamente!

Ou vc pode fazer sua pagina index.jsp ter um link para a action register, lembrando que vc deve chamar suas actions da seguinte forma: /minhaACtion.do . Afinal foi assim que vc configurou em seu web.xml :stuck_out_tongue: ( tudo o que for .do passa por um action do Struts )

Tem uma apostila muito boa ( FREE ) da Caelum que explica sobre o struts.
é bem didática e está disponível para download.

procure pelo site da empresa Caelum e pela apostila “Apostila Fj21”

Ao executar, olha o erro que dá!!

ERRO - O Ant está mal-configurado e não pode ser executado.
java.lang.ClassNotFoundException: org.apache.tools.ant.input.InputHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.apache.tools.ant.module.bridge.AuxClassLoader.findClass(AuxClassLoader.java:85)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.tools.ant.module.bridge.AntBridge.createAntInstance(AntBridge.java:283)
at org.apache.tools.ant.module.bridge.AntBridge.getAntInstance(AntBridge.java:264)
at org.apache.tools.ant.module.bridge.AntBridge.getInterface(AntBridge.java:253)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:460)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)

Olá eu estava com o mesmo problema. O que resolveu para mim foi configurar o path do ant no netbeans.

O path é “C:\Arquivos de Programas\NetBeans 6.1\java2\update\backup\netbeans\ant”.

Então é só ir em “/Ferramentas/Opções/Miscelanea” no netbeans e colocar o path no Home do Ant.

Falow.