Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Cosa non va in questo web.xml?

    Salve ragazzi,
    avrei bisogno di un aiuto. Dovendo realizzare un'applicazione web che tra le tante funzionalitą deve offrire quella dell'upload di un file ho trovato un articolo di un certo Andrei Cioroianu che spiega come realizzare l'upload con JSF e Myfaces.
    Il problema č che quando provo ad importare nel mio ambiente di sviluppo (Eclipse SDK versione 3.1.2) il web.xml di questa applicazione che ho scaricato ho il seguente errore:

    Web descriptor file is corrupted: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".:56:11.

    Il web.xml č il seguente...potete aiutarmi per favore?
    Considerate che sono alle primissime armi....

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

    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>

    <servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>
    javax.faces.webapp.FacesServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>

    <filter>
    <filter-name>ExtensionsFilter</filter-name>
    <filter-class>
    org.apache.myfaces.component.html.util.ExtensionsF ilter
    </filter-class>
    <init-param>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>10m</param-value>
    </init-param>
    <init-param>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>ExtensionsFilter</filter-name>
    <servlet-name>FacesServlet</servlet-name>
    </filter-mapping>

    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    </web-app>

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    lo spiega il messaggio
    filter e filter-mapping devono essere prima di servlet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    Grazie Floyd.......
    Ho risolto il problema ma ora ne ho un altro.
    Dopo vari errori a livello di compilazione (per fortuna risolti) sono riuscito ad avviare la mia applicazione. Il problema č che quando provo a caricare un file per l'upload ho un messaggio di errore di eclipse:

    HTTP Status 500 -

    --------------------------------------------------------------------------------

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: Filter execution threw an exception


    root cause

    java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUpload
    org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:114)


    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


    Come posso risolverlo?
    Vi posto il web.xml , il faces-config.xml e MyBean.java

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

    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>

    <filter>
    <filter-name>ExtensionsFilter</filter-name>
    <filter-class>
    org.apache.myfaces.component.html.util.ExtensionsF ilter
    </filter-class>
    <init-param>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>100m</param-value>
    </init-param>
    <init-param>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>ExtensionsFilter</filter-name>
    <servlet-name>FacesServlet</servlet-name>
    </filter-mapping>

    <servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>
    javax.faces.webapp.FacesServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    </web-app>


    faces-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
    <managed-bean>
    <managed-bean-name>myBean</managed-bean-name>
    <managed-bean-class>com.devsphere.articles.jsfupload.MyBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/pages/MyForm.jsp</from-view-id>
    <navigation-case>
    <from-outcome>OK</from-outcome>
    <to-view-id>/pages/MyResult.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>

    MyBean.java

    package com.devsphere.articles.jsfupload;

    import org.apache.myfaces.custom.fileupload.UploadedFile;

    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;

    import java.io.*;

    public class MyBean {
    private UploadedFile myFile;
    private String myParam;
    private String myResult;

    public UploadedFile getMyFile() {
    return myFile;
    }

    public void setMyFile(UploadedFile myFile) {
    this.myFile = myFile;
    }

    public String getMyParam() {
    return myParam;
    }

    public void setMyParam(String myParam) {
    this.myParam = myParam;
    }

    public String getMyResult() {
    return myResult;
    }

    public void setMyResult(String myResult) {
    this.myResult = myResult;
    }

    public String processMyFile() {
    try {
    MessageDigest md
    = MessageDigest.getInstance(myParam);
    InputStream in = new BufferedInputStream(
    myFile.getInputStream());
    try {
    byte[] buffer = new byte[64 * 1024];
    int count;
    while ((count = in.read(buffer)) > 0)
    md.update(buffer, 0, count);
    } finally {
    in.close();
    }
    byte hash[] = md.digest();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < hash.length; i++) {
    int b = hash[i] & 0xFF;
    int c = (b >> 4) & 0xF;
    c = c < 10 ? '0' + c : 'A' + c - 10;
    buf.append((char) c);
    c = b & 0xF;
    c = c < 10 ? '0' + c : 'A' + c - 10;
    buf.append((char) c);
    }
    myResult = buf.toString();
    return "OK";
    } catch (Exception x) {
    FacesMessage message = new FacesMessage(
    FacesMessage.SEVERITY_FATAL,
    x.getClass().getName(), x.getMessage());
    FacesContext.getCurrentInstance().addMessage(
    null, message);
    return null;
    }
    }

    }

    Grazie

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    di nuovo il messaggio spiega il problema
    non trova la classe org.apache.commons.fileupload.FileUpload
    scarica il jar da [http://jakarta.apache.org/commons/fileupload/]qui[/url] e copialo in $webapp/WEB-INF/lib dove $webapp č la root della webapp

  5. #5
    io ho lo stesso tipo di problema, ecco l'errore che mi esce

    The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)"


    questo č il mio web.xml

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    
    <web-app>
      
        
      
      <welcome-file-list>
        <welcome-file>Prova.html</welcome-file>
      </welcome-file-list>
    
    
    <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <servlet>
     <servlet-name>springGwtRemoteServiceServlet</servlet-name>
     <servlet-class>org.spring4gwt.server.SpringGwtRemoteServiceServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
     <servlet-name>springGwtRemoteServiceServlet</servlet-name>
     <url-pattern>/prova/springGwtServices/*</url-pattern>
    </servlet-mapping>
    </web-app>
    help!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.