For the mouse thing, you would want to translate the mouse x,y position and use it to rotate the view matrix along its x and y axis.
int mouseX = getMouseX();
int mouseY = getMouseY();
Then in another function
xAxisRotation = 120*( (mouseY-screenHeight/2) / (screenHeight/2) );
yAxisRotation = 120*( (mouseX-screenWidth/2) / (screenWidth/2) );
Yes, x and y do, nominally speaking, get flipped. This is because if you picture an axis with all 3 dimensions on it, y goes up and x goes from left to right, while z goes from the back of the screen to you. So if you rotate around an axis, you're actually moving perpendicular to it. Just picture lines with arrows around them.
First, you'd need to rotate the object into position (Eg if it's oriented differently, put that matrix on). Then you do the view stuff:
glRotate3f(xAxisRotation, 1.0, 0.0, 0.0);
glRotate3f(yAxisRotation, 0.0, 1.0, 0.0);
Make sure you remember to push/pop matrices if needed.
Now that should give you a FOV of 60 degrees up, down, left, right. Good if you're going to walk and then turn using the keyboard.
If you want to do all the turning using the mouse, then you need to store the last mouse position, get the difference between the last mouse position and current mouse position, determine the number of degrees you want it to be (This can be arbitrary, the bigger it is, the more responsive your 'character' will be) and then add that rotation 'slice' on to the last rotation of the character.
I should probably add that I've never actually done this before, so take what I say with a grain of salt and try everything out, and if it works a different way, use that way. By no means is what I say supposed to be authoritative or complete, just give you some idea of what you need to do.