esta mi web.xml

<?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" id="WebApp_ID"    
         version="3.0">
<display-name>struts2app</display-name>
 <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

este es mi struts.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     "http://struts.apache.org/dtds/struts-2.0.dtd">
 <struts>


    <package name="struts2app" extends="struts-default" namespace="/">
        <action name="insert"  class="info.trisan.Insert" method="execute">
            <result name="fail">/insert.jsp</result>
            <result name="success">/success.jsp</result>
        </action>

    </package>
 </struts>

este es mi jsp

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html>
 <head></head>
 <body>
 <form action="insert">
<label>Serial no</label>
<input type="text" name="sno"/><br/>
<label>Ser Name</label>
<input type="text"  name="sname"/><br/>
<label>Ser country</label>
<input type="text" name="scountry"/><br/>

<input type="submit" value="click me"/>
</form>
</body>
</html>

esta es mi clase de acción

 package info.trisan;
 import java.sql.*;

 public class Insert {
String sno;
String sname;
String scountry;

public String getSno() {
    return sno;
}

public void setSno(String sno) {
    this.sno = sno;
}

public String getSname() {
    return sname;
}

public void setSname(String sname) {
    this.sname = sname;
}


public String getScountry() {
    return scountry;
}

public void setScountry(String scountry) {
    this.scountry = scountry;
}

public String execute(){
        String output="fail";

        int sn=Integer.parseInt(sno);
    try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection    con=DriverManager.getConnection("url", "abc", "abc");
        PreparedStatement pst=con.prepareStatement("insert into details values(?,?,?");
        int n=pst.executeUpdate();
        if(n==sn){
            output="success";
        }           
    }
    catch(SQLException sqe){
        System.out.println(sqe.toString());
    }
    catch(ClassNotFoundException sqe){
        System.out.println(sqe.toString());
            }       
        return output;
}

 }

aquí iam tratando de ejecutar este código en welogic12

servser dirección/struts2app/
a continuación, la página jsp se abre,una vez que hace clic en «enviar» que se le está mostrando siguiente error

Error 404-No Encontrado
De RFC 2068 Protocolo de Transferencia de Hipertexto — HTTP/1.1:
10.4.5 404 No Encontrado

El servidor no ha encontrado nada que coincida con el URI de la Solicitud. No hay indicación de si la condición es temporal o permanente.

Si el servidor no desea que esta información esté disponible para el cliente, el código de estado 403 (Prohibido) puede utilizarse en su lugar. El 410 (Ido) código de estado DEBE ser utilizado si el servidor sabe, a través de algunos internos mecanismo configurable, que un viejo recurso está permanentemente disponible y no tiene una dirección de reenvío.

He probado con StrutsPrepareAndExecuteFilter también,no hay ningún resultado
No puedo entender,Alguna ayuda ?

  • Con StrutsPrepareAndExecuteFilter es mejor, ¿por qué no actualizar a la última versión?
  • puedes intentar esta url : serveraddress/yourapname/insertar.¿o serveraddress/yourapname/insertar.acción
  • he probado este serveraddress/nombreproyecto/insertar,no funciona

1 Comentario

  1. 1

    La mejor solución es
    1) Si usted tiene un <transport-guarantee> etiqueta en web.xml archivo , a continuación, cambiar su valor de CONFIDENTIAL a NONE.

    2) Si la 1ª solución no funciona, a continuación, suponga que el proyecto de la página de inicio de sesión
    http://localhost:8080/ABC/login.jsp a continuación, copie ABC y péguelo en <context-root> etiqueta de application.xml archivo.
    Esta técnica ha funcionado para mí

Dejar respuesta

Please enter your comment!
Please enter your name here