在實踐項目中我們有可能需要做到新增功能,新增一張表,或是新增多張表。這里我新增的是一張表。
這里主要描述DAO層與Servlet 層:
DAO 層:
public class UserDaoImpl implements UserDao {private Connection con = null;private PreparedStatement ps = null;private ResultSet rs= null;private String insert="INSERT INTO um_usm_athentication
(Athenticationname,Credit,Apply,Remarks,Identificationname,Vsalidityperiod,ExamineStateID) VALUES(?,?,?,?,?,?,?)";
@Override
public boolean insert(Userautonym t) {boolean returnA = false;try {con= DbUtil.getConnection();ps = con.prepareStatement(insert);ps.setString(1, t.getAthenticationname());ps.setString(2, t.getCredit());ps.setString(3, t.getApply());ps.setString(4, t.getRemarks());ps.setString(5, t.getIdentificationname());ps.setString(6, t.getVsalidityperiod());ps.setInt(7, t.getExamineStateID());if (ps.executeUpdate() > 0) {returnA = true;System.out.println("Apply");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{ //關閉流DbUtil.close(con, ps, rs);}return returnA;}
}
Servlet層:
public void insertprove(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String Athenticationname = request.getParameter("Athenticationname");String Credit = request.getParameter("Credit");//獲取當前系統時間Timestamp date=new Timestamp(System.currentTimeMillis());//定義格式,沒有顯示毫秒DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//將當前系統時間轉換為不顯示毫秒情況,保存為String類型在dateNow中String dateNow= df.format(date);//可以控制臺輸出dateNow的值System.out.println("系統時間:"+dateNow);String Apply =dateNow;String Remarks = request.getParameter("Remarks");String Identificationname = request.getParameter("Identificationname");String Vsalidityperiod = request.getParameter("Vsalidityperiod");int ExamineStateID = Integer.parseInt(request.getParameter("ExamineStateID")); Userautonym userautonym = new Userautonym();userautonym.setAthenticationname(Athenticationname);userautonym.setCredit(Credit);userautonym.setApply(Apply);userautonym.setRemarks(Remarks);userautonym.setIdentificationname(Identificationname);userautonym.setVsalidityperiod(Vsalidityperiod);userautonym.setExamineStateID(ExamineStateID);IUserService userService = new UserServiceImpl();boolean success = userService.insert(userautonym);if (success) {request.getSession().setAttribute("strMsg", "新增成功");} else {request.getSession().setAttribute("strMsg", "新增失敗");}response.sendRedirect("LoginServlet?fun=provessss");}
在頁面層用post 提交表單的方法就可以進行傳值了。
如:
<form action="${ctx}/servlet/LoginServlet" method="post">
<input type="hidden" name="fun" value="insertprove"/>
填寫所需字段的name 值
記得在點擊新增按鈕加上type="submit"
</form>