Having a problem to control digital servo with HC-06 bluetooth module
let have a look at following line of code:

int servopos = bluetooth.read();


I think that you are thinking that if you type in 1 in your
Bluetooth application. bluetooth.read() will pass that 1 to
sevopos. But, that's what not happens. What actually happens is that it will pass the ASCII value of whatever you type in you
app, to integer. So, if you have typed in 1, it will pass 49
to servopos.


  I put 45


Now, think about it. when you type in 4 of this 45,

bluetooth.available()&gt;0


becomes true. 

int servopos = bluetooth.read();


bluetooth.read() will pass 52 (ASCII of 4) to servopos. Next,

myServo.write(servopos);


myservo will move your servo to lets say 52 degrees. and then there will be a delay.

Now, when you type in 5 of this 45, the procedure will be
repeated and your servo will be moved again by 53 degrees.

Now, you might be wondering that why 4 and 5 sepratly? Well,
all these intructution are being executed in MHzs. and secondly,
you, yourself has programmed that if loop you read just once
character. Yes, it will read character by character.

  but it loose connection after servo moved once


I think your servo is drawing too much current from Arduino Board
which results in a drop in net voltage. And hence your HC-05 (kind
of) tuns off. This is what happens most of the time.