No sé por qué no está funcionando.
Estoy tratando de aceptar varias partes-formdata en mi servlet pero request.getPart("") no se está mostrando. Yo estoy usando el servidor glassfish 3.1.2. Tha marco utilizado es vaadin para el desarrollo de aplicaciones. Puede alguien ayudarme a solucionar este problema?

  • Tu pregunta es bastante extraño. Supongo que en realidad estás usando un IDE para desarrollar (y que incorrectamente se supone que el IDE para ser parte de Java o algo) y que no se muestra la opción de autocompletar para getPart() después de request.[ctrl+space]. Es esta, de hecho, su problema concreto?

6 Comentarios

  1. 5

    Suponiendo que el problema concreto es, de hecho, que el IDE no mostrar el getPart() método de autocompletar, entonces eso sólo puede significar que el proyecto no está configurado como un Servlet 3.0 compatible proyecto. Ese método era a saber, que se introdujo en Servlet 3.0.

    No dice nada acerca de que IDE es exactamente lo que estamos usando y tu pregunta que la historia no da ninguna pista, así que vamos a suponer que es Eclipse, que es el más ampliamente utilizado. En ese caso, usted necesita configurar en 2 lugares, siempre que he asociados correctamente el Proyecto Web Dinámico con un Servlet 3.0 compatible con el contenedor como Dirigida tiempos de ejecución en las propiedades del proyecto (de lo contrario HttpServletRequest y consortes no se han compilado en todos):

    1. En el Proyecto Facetas la sección de propiedades del proyecto, el Web Dinámicas Módulo versión se debe establecer a 3.0.

      HttpServletRequest getPart(


    2. Si el IDE ha generado un /WEB-INF/web.xml archivo, entonces usted necesita para asegurarse de que su <web-app> raíz de la declaración coincide también Servlet 3.0, de lo contrario sería todavía no durante el tiempo de ejecución.

      <?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" 
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">
      
      </web-app>
    • Gracias BalusC por tu sugerencia. Ya estoy usando Eclipse y también mi web dinámica versión del módulo se establece a 3.0. pero todavía no está funcionando.
    • Mismo problema aquí cambiado módulo web a la versión 3.9 en ambos web.xml y el proyecto facetas, pero aún no funciona
    • Cito a partir de la respuesta: siempre que he asociados correctamente el Proyecto Web Dinámico con un Servlet 3.0 compatible contenedor como Dirigidos tiempos de ejecución en las propiedades del proyecto. Para más detalles sobre ello, véase también stackoverflow.com/questions/4076601/…
  2. 1

    maven.. pom.xml.. modificar esta dependencia

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
    </dependency>

    servlet api 2.5 no es un trabajo

  3. 1

    Yo tenía el mismo problema. He aquí lo que finalmente resultó ser el problema para mí. Yo tenía una dependencia en:

    <dependency>
        <groupId>com.googlecode.jsontoken</groupId>
        <artifactId>jsontoken</artifactId>
        <version>1.1</version>
    </dependency>

    Y resultó jsontoken tiene una dependencia en servlet api 2.5. Entonces, ¿qué se ha solucionado el problema era simplemente esto:

    <dependency>
        <groupId>com.googlecode.jsontoken</groupId>
        <artifactId>jsontoken</artifactId>
        <version>1.1</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
  4. 0

    A aquellos que tropiezan en esta tarde, si la resolución sugerida por BalusC no resuelve el problema, por favor compruebe que la construcción de la ruta de acceso para provided las bibliotecas cuyo tiempo de ejecución no coincide con el tiempo de ejecución del servidor.

    Por ejemplo, si su maven pom.xml contiene entradas que proporcionan java EE bibliotecas como así…

            <dependency>
                <groupId>org.apache.openejb</groupId>
                <artifactId>javaee-api</artifactId>
                <version>5.0-1</version>
                <scope>provided</scope>
            </dependency>

    … que puede interferir con lo que su IDE percibe como el entorno de tiempo de ejecución, el cual será utilizado para proporcionar la finalización de código sugerencias.

    La forma más sencilla de localizar el problema es averiguar dónde está el HttpServletRequest clase se obtiene de.

  5. 0

    Tuve el mismo problema, quiero compartir con usted en caso de que alguien más los baches en el mismo problema:

    En mi caso he tenido una j2ee.jar que se descargan automáticamente y su versión fue probablemente de edad. Se encuentra en Bibliotecas –> j2ee Biblioteca de tiempo de ejecución (stackoverflow no me deja agregar una imagen así en eclipse – en el Explorador de Proyectos – ampliar el proyecto a –> los Recursos Java –> bibliotecas –> J2ee Biblioteca de tiempo de ejecución –> j2ee.jar)

    Me fui para el sistema de archivos donde este archivo se encuentra (tiene la siguiente ubicación para el archivo en eclipse) y lo reemplazó con un nuevo frasco. Usted puede tomar el frasco de aquí.

    A continuación, limpiar y reconstruir el proyecto.

  6. -1

    Hola amigos yo también enfrentan similar problema y yo te diré lo que he hecho.

    Estoy usando eclipse juno y Tomcat 7 servidor. Asegúrese de utilizar la última servlet API frasco. Tomcat 7 sólo el apoyo de módulo dinámico de la versión 2.5 no más que eso. A fin de utilizar más de Tomcat versión o menor dinámica versión del módulo funcionará.

    Una cosa más: abrir el servlet api frasco y ver si contiene «Parte» se puede comprobar fácilmente que.

    • la estructura del texto fue horrible

Dejar respuesta

Please enter your comment!
Please enter your name here