no puedo publicar datos en la base de datos mysql desde el servicio web de descanso

And here is my rest code

public class ItemsResource extends stu{

  private UriInfo context;

   * Creates a new instance of ItemsResource
  public ItemsResource() {

   * Retrieves representation of an instance of service.ItemsResource
   * @return an instance of java.lang.String
  public String getText() {
      //TODO return proper representation object
      throw new UnsupportedOperationException();

   * POST method for creating an instance of ItemResource
   * @param content representation for the new resource
   * @return an HTTP response with content of the created resource
   public Response postText(@PathParam("id") int id,@PathParam("Password") String Password,
                        @PathParam("Username") String Username) {

       return Response.created(context.getAbsolutePath()).build();
      // return "success";
   * Sub-resource locator method for {id}

here is

class stu {

     public String createText(int id,String Username,String Password) {
          Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/users","root","789456");

          String query=  "Insert into users (id,username,password) values('"+id+"','"+Username+"','"+Password+"')";
          PreparedStatement stm = con.prepareStatement(query);         

        } catch(ClassNotFoundException e){
           System.err.println ("Sql Exception"+e);
        } catch(SQLException e){
           System.err.println ("Sql Exception"+e);

    return "success";

Now when i test rest and post data it is successfully posted but it does not get updated in database kindly tell me my error

the REST response is as

Request: POST localhost:8090/WebApplication16/resources/Users?

Status: 201 (Created)

Time-Stamp: Tue, 28 Aug 2012 11:15:51 GMT




Request: localhost:8090/WebApplication16/resources/application.wadl

Status: 200 (OK)

Time-Stamp: Tue, 28 Aug 2012 11:15:41 GMT


<?xml version="1.0" encoding="UTF-8"?>
   <application xmlns="">
       <doc xmlns:jersey="" jersey:generatedBy="Jersey: 1.5 01/14/2011 12:36 PM"/>
       <resources base="localhost:8090/WebApplication16/resources/">
           <resource path="Users">
               <param xmlns:xs="" name="id" style="template" type="xs:int"/>
               <param xmlns:xs="" name="Username" style="template" type="xs:string"/>
               <param xmlns:xs="" name="Password" style="template" type="xs:string"/>
               <method id="getText" name="GET">
                       <representation mediaType="text/plain"/>
               <method id="postText" name="POST">
                       <representation mediaType="text/plain"/>

And it is able to contact my database and a new row is created in table but with null,null,null values. Kindly help me out in this.

preguntado el 28 de agosto de 12 a las 12:08

2 Respuestas

I think the data is not "successfully posted". You use the @PathParam annotation when you have the parameters in your @Pathdel ADN, tales como los @Path("Users/{id}").

How are you sending the parameters? If you send them with a browser and a POST <form>, try to use the @FormParam anotación. Ver esta pregunta para obtener más información.

contestado el 23 de mayo de 17 a las 13:05

@post posting s a different thing i am even unable to insert while testing rest web,i am able to contact my sql but null null values are updated in row - SHREY CHATURVEDI

Have you stepped through the code and verified that those values are not null before they are sent to the database? - Corwin01

Exactly... you see NULL in the database because you pass NULL to the database. You say "Sent: 1,hey,hdhb": how did you send these values? - Flavio

With a prepared statement you shouldn't be putting the values in right away. Try the following

String query=  "insert into users (id,username,password) values(?,?,?)";
PreparedStatement stm = con.prepareStatement(query); 
stm.setInt(1, id);
stm.setString(2, Username);
stm.setString(3, Password);

There is an example of this on the Página API

Also on a side note, watch your arguments. Your method definition has createText(int id,String Username,String Password) but you pass the values in with password and username mixed up.

Respondido 28 ago 12, 13:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.