当前位置:编程学习 > JAVA >>

MVC设计模式编写的一个login小项目

   MVC设计模式编写的一个login小项目,其中的编程思想主要有,面向对象、面向接口编程;包分的比较细,比较复杂,使用实现接口编程;主要java代码如下:所用的html和jsp就不一一列出了,html中所用的高级点的技术就是插入背景和背景音乐:<bgsound src="images/style.mp3" loop="-1">;

     以及验证码的切换用到了css:

    <script type="text/javascript">
       function change(img){
          img.src = img.src + "?" + new Date().getTime(); 
       }  
        </script>

<img src="./CheckCode" onclick="change(this)">(看不清,点击验证码)

    还有大家所看到的欢迎字样的来回滚动:

<marquee behavior="alternate" crollamount="10">
   <img src="./images/welcome.gif" width="200" height="100" />
   <img src="./images/welcome.gif" width="200" height="100" />
       
   <img src="./images/welcome.gif" width="200" height="100" />
       
   <img src="./images/welcome.gif" width="200" height="100" />
  </marquee>

 

   

\

\    

\

\

\

\

\

\\

 

 

 

 

 

 

以下列出几个重要的java类,javabean和dao包下的接口、测试包中的java代码以及server层的简单类就不一一列出来了,这都比较简单,一下servlet包中的增删改查已经和与数据库连接中的类

dao包中的实现类:


package com.csdn.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.csdn.bean.User;
import com.csdn.util.DBConnection;

public class UserDaoImp implements UserDao {
 // 封装与数据库关联的对象
 private PreparedStatement ps;
 private ResultSet rs;

 public User login(String username, String password) {
  // 1.声明返回值对象
  User user = null;
  // 2.声明sql语句
  String sql = "select id,username,password,logintime from user where username=? and password=?";
  // 3.获取连接对象
  Connection con = DBConnection.getCon();
  // 4:根据预处理的sql语句 获取 PreparedStatement对象
  try {
   ps = con.prepareStatement(sql);
   // 5.为占位符 赋值
   int index = 1;
   ps.setString(index++, username);
   ps.setString(index++, password);
   // 6.执行查询
   rs = ps.executeQuery();
   // 7.遍历结果集
   if (rs.next()) {
    // 实例化返回值user对象
    user = new User();
    // 赋值
    user.setId(rs.getInt("id"));
    user.setLogintime(rs.getTimestamp("logintime"));
    user.setUsername(rs.getString("username"));
    user.setPassword(rs.getString("password"));
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } finally {
   // 8.释放资源
   DBConnection.release(rs, ps);
  }
  return user; // 这里的返回值一定要记得写,建议创建返回值对象user的时候就写上,以免编写完代码了忘了写,测试的时候出现空指针错误
 }

 public boolean insert(User entity) {
  // 1.声明返回值对象
  boolean flag = false;
  // 2.声明sql语句
  String sql = "insert into user(username,password,logintime) values(?,?,?)";
  // 3.获取连接对象
  Connection con = DBConnection.getCon();
  // 4.插入数据
  Date currentTime = new Date();
  //获取出错原因:Timestamp获取的有毫秒数,所以格式化时间的时候要带上毫秒数;格式:"yyyy-MM-dd HH:mm:ss.SSS";//Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
  //java.sql.Timestamp date = java.sql.Timestamp.valueOf(currentTime.toLocaleString());
  //new出当前时间的毫秒数
  java.sql.Timestamp date = new java.sql.Timestamp(currentTime.getTime());
  try {
   ps = con.prepareStatement(sql);
   ps.setString(1, entity.getUsername());
   ps.setString(2, entity.getPassword());
   ps.setTimestamp(3, date);
   int i = ps.executeUpdate();
   if (i > 0) {
    flag = true;
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } finally {
   // 5.释放资源
   DBConnection.release(rs, ps);
  }
  return flag; // 这里的返回值一定要记得写,建议创建返回值对象user的时候就写上,以免编写完代码了忘了写,测试的时候出现空指针错误
 }

 public boolean delete(User entity) {
  // 1.声明返回值对象
  boolean flag = false;
  // 2.声明sql语句
  String sql = "delete from user";
  // 3.获取连接对象
  Connection con = DBConnection.getCon();
  // 4.插入数据
  try {
   ps = con.prepareStatement(sql);
   int i = ps.executeUpdate();
   if (i > 0) {
    flag = true;
   }
  } cat

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,