頁面接受的date是java.util.date,放入數據庫要用java.sql.date,實現兩者之間的轉化:
1.user.java
package model;
import java.util.Date;
public class User {
public String username,password,address,email;
Date birth;
public User(){
}
public User(String username, String password, String address, String email, Date birth) {
super();
this.username = username;
this.password = password;
this.address = address;
this.email = email;
this.birth = birth;
}
//getter,setter方法。。略
}
2.add.jsp:註冊頁面(我寫的是struts2項目,但是將date放入數據庫的例子是常見的)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- struts2標籤庫調用聲明 -->
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>註冊</title>
</head>
<body>
<s:form action="add" methods="post">
<s:fielderror/>
<table width="60%" height="76" border="0">
<s:textfield name="user.username" label="用戶名"/>
<s:password name="user.password" label="密 碼"/>
<s:textfield name="user.email" label="郵 箱"/>
<s:textfield name="user.address" label="地 址"/>
<s:textfield name="user.birth" format="yyyy-MM-dd" nice="false" label="出生日期"/>
<!--<s:textfield name="user.birth" label="出生日期"/>-->
<s:submit value="註冊" align="center"/>
</table>
</s:form>
</body>
</html>
3.AddAction.java
package com;
import com.opensymphony.xwork2.ActionSupport;
import java.util.*;
import dao.AddDao;
import model.User;
public class AddAction extends ActionSupport{
private static String FORWARD=null;//頁面導向
private User user =new User();
//private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception{
AddDao dao=new AddDao();
User u=new User();
u=dao.findName(this.user.getUsername());
if(u.getUsername()==null){
System.out.println("註冊成功");
// System.out.println(this.user.getUsername());
// System.out.println(u.getUsername());
// System.out.println(u.getBirth());
dao.add(this.user);//在AddDao中
FORWARD="success";
}
else{
System.out.println("註冊失敗");
FORWARD="input";
}
return FORWARD;
}
}
4.AddDao.java
package dao;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import model.User;
public class AddDao {
Connection con;
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/struts2";
public AddDao(){
try{
Class.forName(driver);
this.con=DriverManager.getConnection(url,"root","root");
}catch(Exception e){
e.printStackTrace();
}
}
/*
public void add(User user){
String sql="INSERT INTO user(username,password,address,email,birth) VALUES ( ?, ?, ?, ? ,?)";
try {
PreparedStatement cmd=this.con.prepareStatement(sql);
cmd.setString(1, user.getUsername());
cmd.setString(2, user.getPassword());
cmd.setString(3, user.getAddress());
cmd.setString(4, user.getEmail());
cmd.setDate(5, new java.sql.Date(user.getBirth().getTime()));//重點
cmd.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
...
}