I have implemented a character in JBox2D which moves with the help of a wheel rotating at the bottom of it. The movement is the best result I've had 'till now but it's a little glitchy when the character stands on the edge. So I am thinking should I use five smaller wheels instead of a big wheel. The wheel/wheels will not be visible in the finished product, now they are drawn for debugging. Here is a video. Is there a better way to do this using JBox2D?
When using a physics system, you need to use the physics system. The way to move things around is to apply forces to them.
You mention that you'll have explosions and bullets and you want them to react correctly, that's fine. You can apply a movement force and explosions and bullets will apply their own forces too.
This will actually give you better results because your physics system needs to know all the forces and velocities of the objects to properly calculate their response. If you were to leave the physics system entirely out of the movement of your characters, when one of your characters experienced the force of an explosion, it would react as if it was standing still. Even though it may be moving towards or away from the explosion. For example: if your character is running towards an explosion, they will not be thrown back as far because of their forward momentum.
Basically, if you're using a physics system, you need to keep it up-to-date with what the objects in your world are doing.