Salvar dados ComboBox

Galera estou com um dúvida/problema no qual eu tenho um combobox onde ele vem carregado com informações do banco.
Se eu fizer tudo com o CPF, consigo inserir perfeitamente no banco!
Mas se eu tento fazer preenchendo o combobox pelo nome do professor, no banco ele fica null na tabela disciplina.
A chave primaria da tabela professor é CPF, mas fica difícil cadastrar apenas vendo o CPF no combobox, por isso queria mostrando nome.

Professor: <select name=professor>
			<%
			Statement stmP = conexao.createStatement();
			String sqlP = "SELECT nome FROM professor";
			ResultSet rsP = stmP.executeQuery(sqlP);
			while(rsP.next()){
				String valor = rsP.getString(1);			
			%>
			<option value="<%=valor%>"><%=valor%></option>
			<%
			}
			%>			
		   </select>

na minha servlet está assim

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String nome = request.getParameter("nome");
		String sala = request.getParameter("sala");
		String horario = request.getParameter("horario");
		String dia_semana = request.getParameter("dia");
		String professor = request.getParameter("professor");
		String aluno = request.getParameter("aluno");
		
		Disciplina disciplina = new Disciplina();
		disciplina.setNome(nome);
		disciplina.setSala(sala);
		disciplina.setHorario(horario);
		disciplina.setDia_semana(dia_semana);
		disciplina.getProfessor().setCpf_professor(professor);
		disciplina.getAluno().setCpf(aluno);
		
		FabricaConexao fabrica = new FabricaConexao();
		Connection con = fabrica.open();
		
		RepositorioDisciplina rep = new RepositorioDisciplina(con);
		rep.inserir(disciplina);
		
		fabrica.close();
		
		RequestDispatcher rd = request.getRequestDispatcher("Sucesso.jsp");
		rd.forward(request, response);		
	}