esatto, devi usare ancora i "?":
codice:
String nome=request.getParameter("nome");
String cognome=request.getParameter("cognome");
String username=request.getParameter("username");
String password=request.getParameter("password");
String datanascita=request.getParameter("datanascita");
String sesso=request.getParameter("sesso");
String indirizzo=request.getParameter("indirizzo");
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbproject");
String querySQL = "INSERT INTO medicoremoto (nome, cognome, username, password, datanascita, sesso, indirizzo) VALUES (?, ?, ?, ?, ?, ?, ?);");
PreparedStatement ps = conn.prepareStatement(querySQL);
ps.setString(1, nome);
ps.setString(2, cognome);
ps.setString(3, username);
.....
ps.setString(7, indirizzo);
ps.executeUpdate();
Non avrai un ResultSet perche' la query di insert nn restituisce risultati, a differenza delle query di select.