我的Servlet:
package br.com.cad.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.cad.dao.Cadastro;
import br.com.cad.basica.Contato;
public class AddDados extends HttpServlet{
protected void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
PrintWriter out = response.getWriter();
String nome = request.getParameter("nome");
String sobrenome = request.getParameter("sobrenome");
String rg = request.getParameter("rg");
String cpf = request.getParameter("cpf");
String sexo = request.getParameter("sexo");
String dataEmTexto = request.getParameter("DataNascimento1")+
request.getParameter("DataNascimento2")+request.getParameter("DataNascimento3");
Calendar dataNascimento1 = null;
Calendar dataNascimento2 = null;
Calendar dataNascimento3 = null;
try {
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
dataNascimento1 = Calendar.getInstance();
dataNascimento1.setTime(date);
dataNascimento2 = Calendar.getInstance();
dataNascimento2.setTime(date);
dataNascimento3 = Calendar.getInstance();
dataNascimento3.setTime(date);
} catch(ParseException e) {
out.println("Erro de conversão da data");
return;
}
Contato contato = new Contato();
contato.setNome(nome);
contato.setSobrenome(sobrenome);
contato.setRg(rg);
contato.setCpf(cpf);
contato.setSexo(sexo);
if ("Masculino".equals(contato.getSexo())) {
contato.setSexo("M");
} else {
contato.setSexo("F");
}
contato.setDataNascimento1(dataNascimento1);
contato.setDataNascimento2(dataNascimento2);
contato.setDataNascimento3(dataNascimento3);
Cadastro dao = new Cadastro();
dao.adiciona(contato);
out.println("<html>");
out.println("<body>");
out.println("Contato " + contato.getNome() + " adicionado com sucesso");
out.println("</body>");
out.println("</html>");
}
}
我的Dao对象:
package br.com.cad.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Date;
import br.com.cad.dao.ConnectDb;
import br.com.cad.basica.Contato;
public class Cadastro {
private Connection connection;
public Cadastro() {
this.connection = new ConnectDb().getConnection();
}
public void adiciona(Contato contato) {
String sql = "INSERT INTO dados_cadastro(pf_nome, pf_ultimonome, pf_rg, pf_cpf, pf_sexo,pf_dt_nasc) VALUES(?,?,?,?,?,?,?,?)";
try {
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getSobrenome());
stmt.setString(3, contato.getRg());
stmt.setString(4, contato.getCpf());
stmt.setString(5, contato.getSexo());
stmt.setDate(6, new Date( contato.getDataNascimento1().getTimeInMillis()) );
stmt.setDate(7, new Date( contato.getDataNascimento2().getTimeInMillis()) );
stmt.setDate(8, new Date( contato.getDataNascimento3().getTimeInMillis()) );
stmt.execute();
stmt.close();
System.out.println("Cadastro realizado com sucesso!.");
} catch(SQLException sqlException) {
throw new RuntimeException(sqlException);
}
}
}
我的html表单为cadastra.jsp
<label>Data de nascimento</label>
<br>
<select id="birthDay" name="dataNascimento1">
<option selected="" value="">Dia</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
...
<option value="31">31</option>
</select>
<select id="birthMonth" name="dataNascimento2">
<option selected="" value="">Mês</option>
<option value="1">janeiro</option>
<option value="2">fevereiro</option>
<option value="3">março</option>
</select>
<select id="birthYear" name="dataNascimento3">
<option selected="" value="">Ano</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
</select>
如何将其存储在我的mysql数据库中,格式为dd / mm / yyyy?如何从出生日期的combox中获取参数?我不知道如何以html形式获取这样的树值,如树combox和转换,存储在db ... 请帮帮我!
答案 0 :(得分:2)
在servlet中获得值后,可以使用SimpleDateFormat #format()将Date格式化为特定模式的字符串。
String newstring = new SimpleDateFormat(“yyyy-MM-dd”)。format(date); 的System.out.println(newstring); // 2013-01-15
此外,您的html代码必须位于表单中,如下所示:
<form:form method="post" action="addContact.html">
<!-- html fields.. -->
</form:form>
在servlet中,尝试重写doGet和doPost方法。看一眼: https://stackoverflow.com/tags/servlets/info