jsp实现仿QQ空间新建多个相册名称,向相册中添加照片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp实现仿QQ空间新建多个相册名称,向相册中添加照片相关的知识,希望对你有一定的参考价值。

 

工具:Eclipse,Oracle,smartupload.jar;语言:jsp,Java;数据存储:Oracle。

实现功能介绍:

主要是新建相册,可以建多个相册,在相册中添加多张照片,删除照片,删除相册,当相册下有照片时先删除照片才能删除相册。

因为每个相册和照片要有所属人,所以顺带有登录功能。

声明:只是后端实现代码,前台无任何样式,代码测试可行,仅供参考。

代码:

数据库连接帮助类:

public class JDBCHelper {  
    public static final String DRIVER = "oracle.jdbc.driver.OracleDriver";  
    public static final String URL = "jdbc:oracle:thin:@localhost:1521:xxxx";  
    public static final String DBNAME = "scott";  
    public static final String PASSWORD = "xxxx";  
    public static Connection getConn() throws Exception{  
        Class.forName(DRIVER);  
        Connection conn = DriverManager.getConnection(URL, DBNAME, PASSWORD);  
        return conn;  
    }  
}  

图片上传时,要修改图片名称,防止上传重名图片将上一张覆盖,这里的做法是将图片名改为由用户ID和精确到毫秒的时间组成,修改图片名的帮助类:

public class PhotoName {  
    private String ip;  
  
    public PhotoName(String ip) {  
        super();  
        this.ip = ip;  
    }  
  
    public String getIp() {  
        return ip;  
    }  
  
    public void setIp(String ip) {  
        this.ip = ip;  
    }  
    public String getTime(){  
        Date date = new Date();  
        DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");  
        return df.format(date);  
    }  
    public String getPhotoName(){  
        return this.ip + this.getTime();  
    }  
  
}  

实现所有这些的接口类:

public interface UpDAO {  
    /** 
     * 创建相册名称 
     *  
     */  
    public int creAlbum(AlbumPOJO ap);  
    /** 
     *显示所创建的所有相册名称 
     */  
    public List<AlbumPOJO> findAllAlbum(int id);  
    public List<PhotoPOJO> findAllPhoto(int id);  
    /** 
     * 上传照片 
     */  
    public int upPhoto(PhotoPOJO pp);  
    /** 
     * 删除相册 
     * @param id 相册id 
     * @return 
     */  
    public int delAlbum(int id);  
    /** 
     * 删除照片 
     * @param id 照片id 
     * @return 
     */  
    public int delPhoto(int id);  
    /** 
     * 登录 
     * @param username 
     * @param password 
     * @return 
     */  
    public UserPOJO login(String username,String password);  
}  

接口的具体实现类:

public class UpDAOImpl implements UpDAO {  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#creAlbum(cn.jvsun.POJO.AlbumPOJO) 
     * 创建相册名称 
     */  
    public int creAlbum(AlbumPOJO ap) {  
        int albumNum=this.getAlbumNum();  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        try {  
            conn=JDBCHelper.getConn();  
            conn.setAutoCommit(false);  
            String sql="insert into album(id,a_name,user_id)values(?,?,?)";  
            pstate = conn.prepareStatement(sql);  
            pstate.setInt(1, albumNum);  
            pstate.setString(2,ap.getA_name());  
            pstate.setInt(3, ap.getUser_id());  
            pstate.execute();  
            conn.commit();  
  
        } catch (Exception e) {  
            e.printStackTrace();  
            try {  
                conn.rollback();//出问题就撤回,全不提交  
            } catch (SQLException e1) {  
                e1.printStackTrace();  
            }  
        }finally{  
            try {  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
        return albumNum;  
    }  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#upPhoto(java.lang.String, java.lang.String, int) 
     * 上传照片 
     */  
    public int upPhoto(PhotoPOJO pp) {  
        int pNum=this.getPhotoNum();  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        try {  
            conn=JDBCHelper.getConn();  
            conn.setAutoCommit(false);  
            String sql="insert into photo(id,p_name,p_url,p_albumid)values(?,?,?,?)";  
            pstate = conn.prepareStatement(sql);  
            pstate.setInt(1, pNum);  
            pstate.setString(2,pp.getP_name());  
            pstate.setString(3, pp.getP_url());  
            pstate.setInt(4, pp.getP_albumId());  
            pstate.execute();  
            conn.commit();  
  
        } catch (Exception e) {  
            e.printStackTrace();  
            try {  
                conn.rollback();//出问题就撤回,全不提交  
            } catch (SQLException e1) {  
                e1.printStackTrace();  
            }  
        }finally{  
            try {  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
        return pNum;  
    }  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#delAlbum(int) 
     * 删除相册 
     */  
    public int delAlbum(int id) {  
        int result=0;   
        Connection conn = null;  
        PreparedStatement pstate = null;  
        String sql="delete from album where id="+id+"";   
        try {  
            conn=JDBCHelper.getConn();  
            pstate = conn.prepareStatement(sql);  
            result=pstate.executeUpdate();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }finally{  
            try {  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
        }  
        return result;  
           
          
    }  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#delPhoto(int) 
     * 删除照片 
     */  
    public int delPhoto(int id) {  
        int result=0;   
        Connection conn = null;  
        PreparedStatement pstate = null;  
        String sql="delete from photo where id="+id+"";   
        try {  
            conn=JDBCHelper.getConn();  
            pstate = conn.prepareStatement(sql);  
            result=pstate.executeUpdate();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }finally{  
            try {  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
        }  
        return result;  
    }  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#login(java.lang.String, java.lang.String) 
     * 用户登录 
     */  
    public UserPOJO login(String username, String password) {  
        UserPOJO user=null;  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        ResultSet res = null;  
        try {  
            conn=JDBCHelper.getConn();  
            String sql="select id,username from userinfo where username=? and password=?";  
            pstate = conn.prepareStatement(sql);  
            pstate.setString(1, username);  
            pstate.setString(2, password);  
            res = pstate.executeQuery();  
            while(res.next()){  
                user=new UserPOJO(res.getInt(1),username,null);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }finally{  
            try {  
                res.close();  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
              
        }  
        return user;  
    }  
    /** 
     * 相册序列号 
     */  
    public int getAlbumNum(){  
        int albumNum=-1;  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        ResultSet res = null;  
        try {  
            conn=JDBCHelper.getConn();  
            String sql="select aid.nextval from dual";  
            pstate=conn.prepareStatement(sql);  
            res=pstate.executeQuery();  
            while(res.next()){  
                albumNum=res.getInt(1);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }finally{  
            try {  
                res.close();  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
        return albumNum;  
    }  
    /** 
     *照片序列号 
     */  
    public int getPhotoNum(){  
        int photoNum=-1;  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        ResultSet res = null;  
        try {  
            conn=JDBCHelper.getConn();  
            String sql="select pid.nextval from dual";  
            pstate=conn.prepareStatement(sql);  
            res=pstate.executeQuery();  
            while(res.next()){  
                photoNum=res.getInt(1);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }finally{  
            try {  
                res.close();  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
        return photoNum;  
    }  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#findAll() 
     * 显示所创建的相册名 
     */  
    public List<AlbumPOJO> findAllAlbum(int id) {  
        List<AlbumPOJO> list= new ArrayList<AlbumPOJO>();  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        ResultSet res = null;  
        try {  
            conn=JDBCHelper.getConn();  
            String sql="select id,a_name,user_id from album where user_id=?";  
            pstate = conn.prepareStatement(sql);  
            pstate.setInt(1, id);  
            res = pstate.executeQuery();  
            while(res.next()){  
                AlbumPOJO ap=new AlbumPOJO(res.getInt(1),res.getString(2),res.getInt(3));  
                list.add(ap);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }finally{  
            try {  
                res.close();  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
              
        }  
        return list;  
    }  
  
    /* (non-Javadoc) 
     * @see cn.jvsun.DAO.UpDAO#findAllPhoto(int) 
     * 显示照片 
     */  
    public List<PhotoPOJO> findAllPhoto(int aid) {  
        List<PhotoPOJO> list= new ArrayList<PhotoPOJO>();  
        Connection conn = null;  
        PreparedStatement pstate = null;  
        ResultSet res = null;  
        try {  
            conn=JDBCHelper.getConn();  
            String sql="select id,p_name,p_url from photo where P_ALBUMID=?";  
            pstate = conn.prepareStatement(sql);  
            pstate.setInt(1, aid);  
            res = pstate.executeQuery();  
            while(res.next()){  
                PhotoPOJO pojo=new PhotoPOJO(res.getInt(1),res.getString(2),res.getString(3), aid);  
                list.add(pojo);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }finally{  
            try {  
                res.close();  
                pstate.close();  
                conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
              
        }  
        return list;  
    }  
  
      
}  

用户,相册,照片三个POJO类:

/** 
 * 用户实体类 
 * 
 */  
public class UserPOJO implements Serializable{  
    private static final long serialVersionUID = 7554548269035753256L;  
    private int id;  
    private String username;  
    private String password;  
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    public String getUsername() {  
        return username;  
    }  
    public void setUsername(String username) {  
        this.username = username;  
    }  
    public String getPassword() {  
        return password;  
    }  
    public void setPassword(String password) {  
        this.password = password;  
    }  
    public UserPOJO(int id, String username, String password) {  
        super();  
        this.id = id;  
        this.username = username;  
        this.password = password;  
    }  
    public UserPOJO(String username, String password) {  
        this.username = username;  
        this.password = password;  
    }  
    public UserPOJO() {  
        super();  
        // TODO Auto-generated constructor stub  
    }  
      
}  
** 
 * 相册实体类 
 * 
 */  
public class AlbumPOJO implements Serializable{  
    private int id;  
    private String a_name;  
    private int user_id;  
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    public String getA_name() {  
        return a_name;  
    }  
    public void setA_name(String a_name) {  
        this.a_name = a_name;  
    }  
    public int getUser_id() {  
        return user_id;  
    }  
    public void setUser_id(int user_id) {  
        this.user_id = user_id;  
    }  
    public AlbumPOJO(int id, String a_name, int user_id) {  
        super();  
        this.id = id;  
        this.a_name = a_name;  
        this.user_id = user_id;  
    }  
    public AlbumPOJO(String a_name, int user_id) {  
        this.a_name = a_name;  
        this.user_id = user_id;  
    }  
    public AlbumPOJO() {  
        super();  
        // TODO Auto-generated constructor stub  
    }  
      
}  
/** 
 *照片实体类 
 * 
 */  
public class PhotoPOJO implements Serializable{  
    private static final long serialVersionUID = 5937149639009957458L;  
    private int id;  
    private String p_name;  
    private String p_url;  
    private int p_albumId;  
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    public String getP_name() {  
        return p_name;  
    }  
    public void setP_name(String p_name) {  
        this.p_name = p_name;  
    }  
    public String getP_url() {  
        return p_url;  
    }  
    public void setP_url(String p_url) {  
        this.p_url = p_url;  
    }  
    public int getP_albumId() {  
        return p_albumId;  
    }  
    public void setP_albumId(int p_albumId) {  
        this.p_albumId = p_albumId;  
    }  
  
    public PhotoPOJO(int id, String p_name, String p_url, int p_albumId) {  
        super();  
        this.id = id;  
        this.p_name = p_name;  
        this.p_url = p_url;  
        this.p_albumId = p_albumId;  
    }  
    public PhotoPOJO(String p_name, String p_url, int p_albumId) {  
        this.p_name = p_name;  
        this.p_url = p_url;  
        this.p_albumId = p_albumId;  
    }  
    public PhotoPOJO() {  
        super();  
        // TODO Auto-generated constructor stub  
    }  
      
}  

login.jsp实现登录:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">   
    <title>login</title>  
  </head>  
  <body>  
  <%  
    request.setCharacterEncoding("utf-8");  
    String action=request.getParameter("action");  
    UpDAO ud=new UpDAOImpl();  
      
    String username=request.getParameter("username");  
    String password=request.getParameter("password");  
    UserPOJO pojo=ud.login(username, password);  
    if("log".equals(action)){  
        if(pojo==null){  
            %>  
            <h1>登录失败</h1>  
            <%  
        }else{  
            request.getSession().setAttribute("username", username);  
            request.getSession().setAttribute("userid", pojo.getId());  
            response.sendRedirect("index.jsp");  
        }  
    }  
  %>  
    <form action="login.jsp?action=log" method="post">  
        <input type="text" name="username" placeholder="请输入用户名"/>  
        <input type="password" name="password" placeholder="请输入密码"/>  
        <input type="submit"/>  
    </form>  
  </body>  
</html>  

index.jsp实现显示相册

技术分享

代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
    <title>person message</title>  
  </head>  
    
  <body>  
    <center>相册界面</center>  
     当前用户:<%=request.getSession().getAttribute("username")%> <br>  
    <a href="cre.jsp">去创建相册</a><br>  
        我的所有相册:<br>  
    <%  
    int userid=(Integer)request.getSession().getAttribute("userid");  
    UpDAO dao=new UpDAOImpl();  
    List<AlbumPOJO> list=dao.findAllAlbum(userid);  
    for(AlbumPOJO pojo:list){  
  %>  
  <tr>  
    <a>相册id:</a><td><%=pojo.getId() %></td>  
    <a>相册名称:</a><td><%=pojo.getA_name() %></td>  
    <a>创建者id:</a><td><%=pojo.getUser_id() %></td>  
    <td><a href="up.jsp?aid=<%=pojo.getId() %>">添加照片</a></td>  
    <td><a href="show.jsp?phid=<%=pojo.getId() %>">查看照片</a></td>  
    <td><a href="del.jsp?aid=<%=pojo.getId() %>">删除相册</a></td>  
  </tr><br>  
  <%  
    }  
  %>  
    
  </body>  
</html>  

cre.jsp创建相册

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
    <title>up photo</title>  
  </head>  
  <body>  
  <%  
    request.setCharacterEncoding("utf-8");  
    String action=request.getParameter("action");  
    UpDAO ud=new UpDAOImpl();  
    String toCre=request.getParameter("cre");  
    int userId=(Integer)request.getSession().getAttribute("userid");  
    if("cre".equals(action)){  
        AlbumPOJO ap=new AlbumPOJO(toCre,userId);  
        int aNum=ud.creAlbum(ap);  
        if(aNum!=-1){  
            response.sendRedirect("index.jsp");  
        }else{  
            %>  
            <h1>创建相册失败</h1>  
            <%  
        }  
    }  
  %>  
    <form action="cre.jsp?action=cre" method="post">  
        <input type="text" name="cre" placeholder="请输入您要创建的相册名称"/>  
        <input type="submit" value="确定">  
    </form>  
  </body>  
</html>  

up.jsp上传照片

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%@ page import="cn.jvsun.tools.*" %>  
<%@page import="org.lxh.smart.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
    <title>上传照片</title>  
  </head>  
    
  <body>  
    <%  
        int aid=Integer.parseInt(request.getParameter("aid"));  
    %>  
    <form action="upCheck.jsp" method="post" enctype="multipart/form-data">  
        <input type="hidden" name="aid" value="<%=aid %>"/>  
        <input type="file" name="photo"/>  
        <input type="submit" value="确认上传"/>  
    </form>  
  </body>  
</html>  

upCheck.jsp上传照片的处理页

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%@ page import="cn.jvsun.tools.*" %>  
<%@page import="org.lxh.smart.*" %>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <title></title>  
  </head>  
    
  <body>  
    <%  
        String ip = request.getRemoteAddr();      
        ip = ip.replaceAll(":","");  
        PhotoName pn=new PhotoName(ip);  
        String pName = pn.getPhotoName();//照片名字,是由IP加当前时间组成  
        SmartUpload smartupload = new SmartUpload();//实例化上传操作的对象  
          
        //初始化上传文件  
        smartupload.initialize(pageContext);  
        //准备上传  
        smartupload.upload();  
        int albumId=Integer.parseInt(smartupload.getRequest().getParameter("aid"));  
        //取得文件的后缀  
        String endName = smartupload.getFiles().getFile(0).getFileExt();  
        //文件保存的路径  
        /*String p_url = getServletContext().getRealPath("/")+ 
                        "file/"+pName+"."+endName;*/  
        String p_url="K:/workspace/Xiangce/WebRoot/file/"+pName+"."+endName;  
        //保存文件  
        smartupload.getFiles().getFile(0).saveAs(p_url);  
        UpDAO ad=new UpDAOImpl();  
        PhotoPOJO pojo=new PhotoPOJO(pName+"."+endName,p_url,albumId);  
        int photoNum=ad.upPhoto(pojo);  
        if(photoNum != -1){  
            request.getSession().setAttribute("phid", albumId);  
            response.sendRedirect("show.jsp");  
            } else {  
    %>  
    上传失败  
    <%  
            }  
    %>  
  </body>  
</html>  

show.jsp显示照片及信息页:

 技术分享

代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
    <title>My JSP ‘show.jsp‘ starting page</title>  
  </head>  
   
  <body>  
     <center>相册界面</center>  
     当前用户:<%=request.getSession().getAttribute("username")%> <br>  
     <%  
    int phid=(Integer)request.getSession().getAttribute("phid");  
    UpDAO dao=new UpDAOImpl();  
    List<PhotoPOJO> list=dao.findAllPhoto(phid);  
    for(PhotoPOJO pojo:list){  
  %>  
  <tr>  
    <a>照片id:</a><td><%=pojo.getId() %></td><br>  
    <a>照片名称:</a><td><%=pojo.getP_name() %></td><br>  
    <a>照片路径:</a><td><%=pojo.getP_url() %></td><br>  
    <a>照片所属相册名称:</a><td><%=pojo.getP_albumId() %></td><br>  
    <td><img src="<%=path%>/file/<%=pojo.getP_name() %>" width="100" height="100"/></td>  
    <a href="photo_del.jsp?pid=<%=pojo.getId() %>">删除照片:</a></td><br>  
  </tr><br>  
  <%} %>  
  </body>  
</html>  

photo_del.jsp删除照片

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
      
    <title>del</title>  
  </head>  
    
  <body>  
    <%  
    int pid=Integer.parseInt(request.getParameter("pid"));  
    int result=0;  
    UpDAO dao=new UpDAOImpl();  
    result=dao.delPhoto(pid);  
    if(result==1){  
        out.println("<script>alert(‘删除成功‘);window.location.href(‘show.jsp‘);</script>");  
    }else{  
        out.println("<script>alert(‘出错了‘);window.location.href(‘show.jsp‘);</script>");  
    }  
    %>  
      
  </body>  
</html>  

del.jsp删除相册

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ page import="cn.jvsun.DAO.Impl.*" %>  
<%@ page import="cn.jvsun.POJO.*" %>  
<%@ page import="cn.jvsun.DAO.*" %>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
      
    <title>del</title>  
  </head>  
    
  <body>  
    <%  
    int aid=Integer.parseInt(request.getParameter("aid"));  
    int result=0;  
    UpDAO dao=new UpDAOImpl();  
    result=dao.delAlbum(aid);  
    if(result==1){  
        out.println("<script>alert(‘删除成功‘);window.location.href(‘index.jsp‘);</script>");  
    }else{  
        out.println("<script>alert(‘删除失败,请先把相册中的照片删掉‘);window.location.href(‘index.jsp‘);</script>");  
    }  
    %>  
      
  </body>  
</html>  

数据库的建表语句:

-- Create table  
create table USERINFO  
(  
  ID       NUMBER,  
  USERNAME VARCHAR2(30),  
  PASSWORD VARCHAR2(30)  
)  
tablespace USERS  
  pctfree 10  
  initrans 1  
  maxtrans 255  
  storage  
  (  
    initial 64  
    minextents 1  
    maxextents unlimited  
  );  
-- Create/Recreate primary, unique and foreign key constraints   
alter table USERINFO  
  add constraint PID primary key (ID)  
  disable;  
--上传者  
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
-- Create table  
create table ALBUM  
(  
  ID      NUMBER not null,  
  A_NAME  VARCHAR2(30),  
  USER_ID NUMBER  
)  
tablespace USERS  
  pctfree 10  
  initrans 1  
  maxtrans 255  
  storage  
  (  
    initial 64  
    minextents 1  
    maxextents unlimited  
  );  
-- Create/Recreate primary, unique and foreign key constraints   
alter table ALBUM  
  add constraint AL_PID primary key (ID)  
  using index   
  tablespace USERS  
  pctfree 10  
  initrans 2  
  maxtrans 255  
  storage  
  (  
    initial 64K  
    minextents 1  
    maxextents unlimited  
  );  
alter table ALBUM  
  add constraint USERID foreign key (USER_ID)  
  references USERINFO (ID)  
  disable;  
--相册表  
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
-- Create table  
create table PHOTO  
(  
  ID        NUMBER,  
  P_NAME    VARCHAR2(30),  
  P_URL     VARCHAR2(50),  
  P_ALBUMID NUMBER(30)  
)  
tablespace USERS  
  pctfree 10  
  initrans 1  
  maxtrans 255  
  storage  
  (  
    initial 64  
    minextents 1  
    maxextents unlimited  
  );  
-- Create/Recreate primary, unique and foreign key constraints   
alter table PHOTO  
  add constraint ALB_ID foreign key (P_ALBUMID)  
  references ALBUM (ID);  
--相片表  

好了,所有代码就写完了,切记,需要smartupload.jar包

 

 

 

以上是关于jsp实现仿QQ空间新建多个相册名称,向相册中添加照片的主要内容,如果未能解决你的问题,请参考以下文章

jsp实现仿QQ空间新建多个相冊名称,向相冊中加入照片

Android 仿QQ新浪相册的实现

Android 仿QQ新浪相册的实现

关于QQ空间相册功能的构想与简单实现

qq空间相册下载

破解QQ空间访问权限大全分享|怎么破解QQ空间相册密码技巧