JSP cadastro em 2 tabelas

Olá Galera, sou novo no fórum e sou novo na linguagem.
Estou gostando bastante de Java e JSP, principalmente porque eu era webmaster e conheço bem Html5 e Css, agora quero começar a desenvolver meus “sisteminhas”.

Procurei pela minha dúvida no fórum e na web mas não consegui resolver o mesmo ainda.

Tenho 2 tabelas:
cursocd e idiomacd

Tenho minha classe “Curso” e meu servlet “CursoServlet” que já estão funcionando e gravando o curso no banco.
Como disse, sou novo em JSP e não tenho domínio do mesmo, pode parecer até boba minha pergunta mas lá vai.

as duas tabelas que mencionei acima contém campos que estão dentro do form a qual quero gravar no banco de dados.

minha tabela cursocd tem:

id_cursocd
id_usuario
nome_curso
local_curso
data_inicio_curso
data_fim_curso
descricao_curso

minha tabela idiomacd tem:

id_idiomacd
id_usuario
ingles
espanhol
frances

como faço para gravar nessas tabelas os meus campos do form passando pelo servlets e pela class?

Tenho que criar dois servlets sendo: CursoServlets e IdiomaServlets e as classes Curso e Idioma ou posso tratar tudo dentro de um arquivo Servlet e salvar em cada tabela distinta ?

meu arquivo CursoServlet (funcionando):

public class CursoServlet extends br.com.vaga.infra.HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        
        this.forwardJSP("/curso/cadastroCurso.jsp", request, response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String mensagem = "";
        String nomeCurso = request.getParameter("nomeCurso");
        String localCurso = request.getParameter("localCurso");
        String strDataInicioCurso = request.getParameter("dataInicioCurso");
        String strDataFimCurso = request.getParameter("dataFimCurso");
        String descricaoCurso = request.getParameter("descricaoCurso");
        
        boolean ok = true;
        Connection connection = null;
        
        try {
            
            if (nomeCurso == null || "".equals(nomeCurso)) {
                mensagem = "Campo nome do curso é obrigatório.";
                ok = false;
            }
        
            if (localCurso == null || "".equals(localCurso)) {
                mensagem = "Campo local do curso é obrigatório.";
                ok = false;
            }
            
            Date dataInicioCurso = Format.stringToDate(strDataInicioCurso, null);
            if (dataInicioCurso == null) {
                ok = false;
                mensagem = "...";
            }
            
            Date dataFimCurso = Format.stringToDate(strDataFimCurso, null);
            
            if (descricaoCurso == null || "".equals(descricaoCurso)) {
                mensagem = "A descrição do curso é obrigatória.";
                ok = false;
            }
            
        //if localCurso...
        
        if (ok) {
            connection = this.getConnetion();
            Curso curso = new Curso();
            curso.setNomeCurso(nomeCurso);
            curso.setLocalCurso(localCurso);
            curso.setDataInicioCurso(dataInicioCurso);
            curso.setDataFimCurso(dataFimCurso);
            curso.setDescricaoCurso(descricaoCurso);
                if (!curso.insert(connection, curso)) {
                    ok = false;
                    mensagem = "Erro no cadastro do curso.";
                }
                else{
                    mensagem = "curso cadastrado com sucesso";
                }
            }
        
        } catch (Exception e) {
            mensagem  = "Curso - Erro no processamento.";
            ok = false;
        } finally {
            try {
                this.close(connection, ok);
            } catch (Exception ex) {
                Logger.getLogger(CursoServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            request.setAttribute("mensagem", mensagem);
            this.forwardJSP("/curso/cadastroCurso.jsp", request, response);

        }
        
    }
}

Minha classe Curso:


(GET SETS ...)

    public boolean insert(java.sql.Connection conn, Curso curso) {
		String sql = " insert into Curso (id_usuario, nome_curso, local_curso, data_inicio_curso, data_fim_curso, descricao_curso) "
				+ " values ("
				+ br.com.vaga.infra.SqlUtils.param(
						curso.getIdUsuario())
				+ ", "
                                + br.com.vaga.infra.SqlUtils.param(
						curso.getNomeCurso(), 50)
				+ ", "
                                + br.com.vaga.infra.SqlUtils.param(
						curso.getLocalCurso(), 50)
				+ ", "
                                + br.com.vaga.infra.SqlUtils.param(
						curso.getDataInicioCurso())
				+ ", "
                                + br.com.vaga.infra.SqlUtils.param(
						curso.getDataFimCurso())
				+ ", "
				+ br.com.vaga.infra.SqlUtils.param(
						curso.getDescricaoCurso(), 999)
	 + ") ";
		return this.insertobject(conn, sql);
	}

Valeu pessoal!