@picklesdog70
Fiz algo parecido no meu projeto, não sei se está da forma correta, vê se te ajuda em algo:
veja as imagens utilizando Servlet :
O mesmo projeto so que utilizando Struts : Gitub .
Modelagem :

Tabelas do Banco:

na minha tabela USUARIO eu tenho um campo chamado TIPO , esté campo ira conter a informação se ele é um UsuarioVip ou UsarioNormal.
na minha pagina fiz assim :
<form action="InserirUsuarioForm.do" method="POST">
Tipo de Usuários<br />
<input type="radio" name="rdbTipo" id="tipoVip" value="UsuarioVip"/>
<label for="tipoVip">Usuário Vip</label> <br />
<input type="radio" name="rdbTipo" id="tipoNormal" value="UsuarioNormal"/>
<label for="tipoNormal">Usuário Normal</label> <br />
</form>
O metodo incluir do DAO :
@Override
public void incluir(Usuario entidade) throws SQLException {
stm = conexao.prepareStatement("INSERT INTO USUARIO VALUES (?,?,?,?,?,?)");
stm.setString(1, entidade.getLogin());
stm.setString(2, entidade.getSenha());
stm.setString(3, entidade.getNome());
stm.setString(4, entidade.getTelefone());
stm.setString(5, entidade.getEmail());
stm.setString(6, entidade.getClass().getSimpleName()); // aqui ele ira pega o nome da classe
stm.executeUpdate();
stm.close();
}
Controller:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher view = null;
Usuario usuario = null;
String mensagem = null;
DAOFactory df = null;
InterfaceDAOUsuario daoUsuario = null;
try {
df = DAOFactory.getDaoFactory(DAOFactory.ORACLE);
daoUsuario = df.getDAOUsuario();
// aqui faz a verificação de qual tipo será armazenado
if(request.getParameter("rdbTipo").equals("UsuarioVip")) {
usuario = new UsuarioVip();
} else {
usuario = new UsuarioNormal();
}
usuario.setLogin(request.getParameter("txtLogin"));
usuario.setSenha(request.getParameter("txtSenha"));
usuario.setNome(request.getParameter("txtNome"));
usuario.setTelefone(request.getParameter("txtTelefone"));
usuario.setEmail(request.getParameter("txtEmail"));
daoUsuario.incluir(usuario);
request.setAttribute("user", usuario);
mensagem = "Inclusão de Usuario realizada com sucesso";
}