Pegar dado do <select> <option> dá página html pelo servlet

galera, preciso pegar o item selecionado no drop down dá página HTML, e com base no dado obtido, determinar se perfil vai ser igual a 0 ou 1, mas o servlet nem ao menos está conseguindo obter algum valor de name=“perfil” dá página HTML, alguém sabe o que pode estar errado?
desde já obrigado!!!

A parte do select option na página html:

			<label for="perfil">Selecionar perfil</label> <select
				class="form-control" id="perfil" name="perfil" type="text">
				<option>Administrador</option>
				<option>Professor</option>

			</select>
		</div>

O método doPost do servlet:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		int perfil = 0;
		String matricula = request.getParameter("matricula");
		System.out.println(request.getParameter("perfil"));
		if(request.getParameter("perfil").equals("Administrador"))
		perfil = 1;
		if(request.getParameter("perfil").equals("Professor"))
		perfil = 0;
		
		
		
		Professor p = new Professor(matricula, perfil);
		ProfessorService ps = new ProfessorService();
	    ps.cadastrar(p);

		request.setAttribute("professor", p);
		RequestDispatcher dispatcher = request.getRequestDispatcher("CadastrarProfessor.jsp");
		dispatcher.forward(request, response);
	}

Remove o type=“text” do seu select e coloca a propriedade value no seu option com o valor 0 e 1

Exemplo:

<option value="2">Exemplo 1</option>
<option value="3">Exemplo 2</option>
1 curtida

Eai Mike, obrigado pela ajuda, deu certo, agora está inserindo, porém, independente do que está selecionado, o perfil fica com o valor 0… vou ver se encontro o pq desse erro, mas claro, se for algo óbvio pra você e vc achar necessário, aceito mais essa ajuda rápida

Posta como esta o código :+1:

Consegui arrumar já, agora está inserindo correto, se é admin, o banco recebe 1 no perfil, se for professor, o banco recebe 0 no perfil…
ficou assim:

Index.html:

				<label for="perfil">Selecionar perfil</label> <select
					class="form-control" id="perfil" name="perfil">
					<option value="0">Professor</option>
					<option value="1">Administrador</option>

				</select>
			</div>

Método doPost do servlet ficou assim:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		int perfil = Integer.parseInt(request.getParameter("perfil"));
		
		String matricula = request.getParameter("matricula");
		System.out.println(request.getParameter("perfil"));
		
		
		
		
		Professor p = new Professor(matricula, perfil);
		ProfessorService ps = new ProfessorService();
	    ps.cadastrar(p);

		request.setAttribute("professor", p);
		RequestDispatcher dispatcher = request.getRequestDispatcher("CadastrarProfessor.jsp");
		dispatcher.forward(request, response);
	}

essa é a página jsp pra quando um professor é cadastrado…

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    
    
   
<%@ page import="model.Professor"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>professor cadastrado</title>
</head>
<body>

   <p>Professor cadastrado:</p>
	<p>Matrícula: ${professor.matricula};</p>
	
	
	<p>Perfil: ${professor.perfil};</p>


	<p>professor cadastrado com id: ${professor.id};</p>
	

</body>
</html>

Agora que consegui pegar do e dizer se perfil receberia 0 ou 1, tem como, para mostrar o professor q foi cadastrado, pegar o texto “Administrador” ou “Professor” selecionado ?
e esse Id também está sempre mostrando 0… mas sei q tem uma string sql que mostra o último id inserido no banco