亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

jsp實現(xiàn)仿QQ空間新建多個相冊名稱并向相冊中添加照片功能

2024-09-05 00:22:58
字體:
供稿:網(wǎng)友

工具:Eclipse,Oracle,smartupload.jar;語言:jsp,Java;數(shù)據(jù)存儲:Oracle。

實現(xiàn)功能介紹:

主要是新建相冊,可以建多個相冊,在相冊中添加多張照片,刪除照片,刪除相冊,當(dāng)相冊下有照片時先刪除照片才能刪除相冊。

因為每個相冊和照片要有所屬人,所以順帶有登錄功能。

聲明:只是后端實現(xiàn)代碼,前臺無任何樣式,代碼測試可行,僅供參考。

代碼:

數(shù)據(jù)庫連接幫助類:

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();  } } 

實現(xiàn)所有這些的接口類:

public interface UpDAO {  /**  * 創(chuàng)建相冊名稱  *  */  public int creAlbum(AlbumPOJO ap);  /**  *顯示所創(chuàng)建的所有相冊名稱  */  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); } 

接口的具體實現(xiàn)類:

public class UpDAOImpl implements UpDAO {  /* (non-Javadoc)  * @see cn.jvsun.DAO.UpDAO#creAlbum(cn.jvsun.POJO.AlbumPOJO)  * 創(chuàng)建相冊名稱  */  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()  * 顯示所創(chuàng)建的相冊名  */  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實現(xiàn)登錄

<%@ 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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <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實現(xiàn)顯示相冊

代碼如下:

<%@ 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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <title>person message</title>  </head>  <body>  <center>相冊界面</center>  當(dāng)前用戶:<%=request.getSession().getAttribute("username")%> <br>  <a href="cre.jsp" rel="external nofollow" >去創(chuàng)建相冊</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>創(chuàng)建者id:</a><td><%=pojo.getUser_id() %></td>  <td><a href="up.jsp?aid=<%=pojo.getId() %>" rel="external nofollow" >添加照片</a></td>  <td><a href="show.jsp?phid=<%=pojo.getId() %>" rel="external nofollow" >查看照片</a></td>  <td><a href="del.jsp?aid=<%=pojo.getId() %>" rel="external nofollow" >刪除相冊</a></td>  </tr><br>  <%  }  %>  </body> </html> 

cre.jsp創(chuàng)建相冊

<%@ 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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <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>創(chuàng)建相冊失敗</h1>   <%  }  }  %>  <form action="cre.jsp?action=cre" method="post">  <input type="text" name="cre" placeholder="請輸入您要創(chuàng)建的相冊名稱"/>  <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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <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="確認(rèn)上傳"/>  </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加當(dāng)前時間組成  SmartUpload smartupload = new SmartUpload();//實例化上傳操作的對象  //初始化上傳文件  smartupload.initialize(pageContext);  //準(zhǔn)備上傳  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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <title>My JSP 'show.jsp' starting page</title>  </head>  <body>  <center>相冊界面</center>  當(dāng)前用戶:<%=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() %>" rel="external nofollow" >刪除照片:</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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >  <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> 

數(shù)據(jù)庫的建表語句:

-- 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包,沒有的童鞋可以去下載:

smartuploadjar包

以上所述是小編給大家介紹的jsp實現(xiàn)仿QQ空間新建多個相冊名稱并向相冊中添加照片功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!

 

注:相關(guān)教程知識閱讀請移步到JSP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久uomeier| 日韩经典一区二区三区| 色悠久久久久综合先锋影音下载| 91在线观看免费视频| 看免费黄色录像| av先锋影音少妇| 久久久久久久国产精品影院| 精品视频无码一区二区三区| 国产精品爽黄69| 波多野结衣久久高清免费| 欧洲vs亚洲vs国产| 围产精品久久久久久久| 欧美精品日韩精品| 91久久国产婷婷一区二区| 青青青草网站免费视频在线观看| 国产一区二区精品久久91| 久久精品国产露脸对白| 欧美日韩亚洲精品内裤| 欧美日韩小视频| 欧美精品与人动性物交免费看| 可以免费观看的黄色网址| 国产乱人乱偷精品视频| 久久久精品蜜桃| 小说区亚洲自拍另类图片专区| 婷婷激情五月网| 精品久久ai电影| fc2ppv在线播放| 欧洲国产精品| 国产婷婷一区二区三区久久| 日日摸日日搞日日| 香蕉视频国产精品| 国产素人视频在线观看| 黄页网址在线观看| 91tv亚洲精品香蕉国产一区7ujn| 希岛爱理av免费一区二区| 8v天堂国产在线一区二区| 玛丽玛丽电影原版免费观看1977| 欧美激情一级精品国产| 五月亚洲婷婷| 中文字幕第一区| 91丨九色丨蝌蚪富婆spa| 欧美高清xxxxxkkkkk| 草莓视频丝瓜在线观看丝瓜18| 国产美女18xxxx免费视频| 精品人妻一区二区三区蜜桃视频| 国产l精品国产亚洲区久久| 亚洲无吗一区二区三区| 国产v综合v亚洲欧| 亚洲第一免费视频| 欧美日韩国产123| 国产精品a成v人在线播放| 国产性一乱一性一伧一色| 成人日日夜夜| 成人在线视频成人| 精品国产1区| 日本一二三视频| 2020日本在线视频中文字幕| 国产一区清纯| 亚洲乱码中文字幕综合| 成人中文字幕在线播放| 草草地址线路①屁屁影院成人| 婷婷国产在线综合| jizzjizz16| 一区二区不卡免费视频| 羞羞答答成人影院www| 久久经典综合| 欧美www视频在线观看| 欧美精品v日韩精品v国产精品| 日韩精品一区二区三区四区| 灌醉mj刚成年的大学平面模特| 国产精品亚洲精品| 五月婷婷狠狠操| 亚洲国产aⅴ精品一区二区三区| 国产一级精品aaaaa看| 中文字幕不卡免费视频| 日韩一区二区三区在线看| 一区二区视频在线观看| 曰韩少妇与小伙激情| 邻家有女韩剧在线观看国语| 精品二区在线观看| 欧美日韩一区二区三区不卡视频| 高清一区二区三区| 成人黄色在线免费观看| 福利在线一区| 精品推荐蜜桃传媒| 日本高清无吗v一区| 久久国产免费观看| 免费99视频| 99国产精品久久久久久久久久| 国产精品国模在线| 中国成人在线视频| 欧美色图一区二区三区| 亚洲国产成人自拍| 特级西西444www大胆免费看| 国产在线观看91精品一区| 91社区在线观看播放| 亚洲经典三级| 欧洲在线视频一区| 日本一区二区高清| 日韩免费高清在线观看| 中文字幕乱码在线播放| 红桃视频欧美| 亚洲欧美激情在线视频| 色悠悠久久综合网| 色资源二区在线视频| 国产大片一区二区| 日日骚av一区| 久久人人97超碰人人澡爱香蕉| 男人通一通女人的下水道| 天天操天天插天天射| 成人三级黄色免费网站| 五月婷婷综合色| 亚洲国产97在线精品一区| 国产精品一区二区在线观看不卡| 日日摸天天添天天添破| 亚洲高清免费一级二级三级| 在线观看网站黄不卡| 日韩欧美在线中字| 日韩三级视频在线| 色播五月综合| 粉嫩av一区二区三区四区五区| 在线看视频你懂的| 久久久精品少妇| 久久精品国产亚洲av麻豆色欲| 日本中文字幕影院| 综合激情国产一区| 又长又粗又大又爽| 亚洲第一狼人区| 欧美三片在线视频观看| 日本黄色片免费观看| 日本欧美黄网站| 无套内谢的新婚少妇国语播放| 午夜一区二区三区| 欧美一区二区视频观看视频| 亚洲一卡二卡三卡四卡无卡网站在线看| 成人福利影院| 91久久久久久久久久久久久| 日韩精品一区二区三区色偷偷| 国产午夜精品视频| 中文一区二区视频| 97超视频免费观看| 精品无人乱码一区二区三区的优势| 欧美在线一区二区视频| 国产美女被下药99| 日韩视频一区二区三区| 亚洲精品国产精品国自产观看浪潮| 中文精品在线| 日韩av福利在线观看| 天堂在线观看视频观看www| 国产成人在线免费视频| 国产精品久久777777换脸| 国内精品久久久久久久久久久| 日韩欧美在线网站| 久久精品国产秦先生| 国产高清视频色在线www| 精品美女永久免费视频| 日本不卡在线观看视频| 最新av免费在线观看| 五月天中文字幕一区二区| av电影免费| 天天射综合网站| 久久久久久久久久久久久久久| 中文字幕视频二区| 亚洲欧美在线观看| 五月婷婷丁香在线| 日韩av免费网站| 韩国无码一区二区三区精品| 国产一区在线观| 欧美成人乱码一区二区三区| 欧美成人精精品一区二区频| 亚洲一级影院| 亚洲天堂视频网| 国产精品久久久久久久久粉嫩av| 日本19禁啪啪吃奶大尺度| 亚洲欧美日韩精品综合在线观看| 亚洲国产精品久久久久| 在线观看免费播放网址成人| 91精品国产高清久久久久久| 久久美女高清视频| 国产美女在线精品| 欧性猛交ⅹxxx乱大交| 亚洲 小说区 图片区 都市| 99九九99九九九99九他书对| 亚洲黄页在线观看| 日韩精品久久一区二区三区| 欧美人与动牲交xxxxbbbb| 男人和女人啪啪网站| 国产精品久久国产精品| 一级日韩一级欧美| www污污网站在线看| 九色精品免费永久在线| 亚洲AV无码乱码国产精品牛牛| 乱人伦精品视频在线观看| 免费在线观看污网站| 三级外国片在线观看视频| 69堂亚洲精品首页| 日韩一卡二卡在线观看| 欧美无乱码久久久免费午夜一区| 久久久久99精品成人| 一区二区日韩免费看| 亚洲人成无码www久久久| 国产精品日产欧美久久久久| 91福利精品第一导航| 韩国成人精品a∨在线观看| 欧美综合在线视频| 欧洲一级毛片| 国产在线拍揄自揄拍无码视频| 激情都市亚洲| a级片在线免费观看| 最新中文字幕视频| 538国产精品视频一区二区| www.av视频在线观看| 99re免费99re在线视频手机版| 99久久99久久久精品齐齐| 精品无码av一区二区三区| 欧美大片1688网站| 欧美精品生活片| 欧美色黄视频| 麻豆乱码国产一区二区三区| 久久久久久久亚洲精品| 少妇免费视频| 在线观看免费视频高清游戏推荐| 精品国产亚洲av麻豆| 久久久久久久久亚洲精品| 69堂视频在线观看国产| 成人观看免费视频| 亚洲国产97在线精品一区| 欧美人与动性xxxxbbbb| 国产美女自拍| 韩国女主播成人在线观看| 国产高清视频网站| 久久久精品国产免大香伊| 国产91精品视频在线观看| 成人做爰69片免网站| sm捆绑调教视频| 性欧美长视频| 日本青青草视频| 精品人伦一区二区三区蜜桃免费| av影院在线| 精品国产一区二区三区在线观看| 欧洲美女少妇精品| 新欧美整片sss第一页| 欧美影院午夜播放| 免费看欧美女人艹b| 国产精品蜜臀在线观看| 亚洲老妇激情| 中文字幕一区二区三区在线乱码| 日韩欧美一级二级三级久久久| 九九九久久久精品| 大香煮伊手机一区| 日韩视频免费在线观看| 国产精彩视频在线观看免费蜜芽| 91精品麻豆日日躁夜夜躁| 精品人妻大屁股白浆无码| 久久野战av| 7777久久香蕉成人影院| 精品视频在线一区| 多野结衣av一区| 国产精品久久久久久久无码| 欧美日韩国产精品一区二区三区| 在线看福利67194| 精品999网站| 97人妻人人澡人人爽人人精品| 免费播放av| 日韩在线观看免费全集电视剧网站| 中文字幕在线永久在线视频| 日本精品国语自产拍在线观看| 欧美三电影在线| 婷婷综合福利| 久久久亚洲欧洲日产国码aⅴ| 成年人在线视频| 毛片网站大全| 777久久久精品一区二区三区| 中文字幕一区二区三| 欧美片第1页综合| 欧美日韩在线视频一区二区三区| 亚洲欧美日本国产专区一区| 国产精品久久久久久亚洲调教| 99精品偷自拍| 亚洲免费高清视频在线| 日韩av综合网站| 久久人人97超碰人人澡爱香蕉| 欧美大片欧美激情性色a∨久久| 老司机久久99久久精品播放免费| 国产福利精品av综合导导航| 5566av亚洲| 久久久久一区二区| 九九热只有这里有精品| 91在线亚洲| 国产又黄又猛又粗又爽| 国产美女高潮在线| 亚洲精品日韩欧美| 亚洲欧美一区二区三区四区五区| 四虎在线视频免费观看| 中文字幕av久久爽av| 91丨porny丨最新| 免费在线稳定资源站| 500福利第一精品导航| h片精品在线观看| 亚洲第一精品在线观看| 亚洲日韩欧美视频| 99re热在线观看| 色多多视频在线观看| 国产精品久久久免费观看| 亚洲午夜精品久久久久久久久久久久| 波多野结衣一二区| 性直播在线观看| 老熟妇精品一区二区三区| 国产一级特黄a大片免费| 99在线免费观看视频| 久久久久久久久亚洲| 亚洲精品久久久久久一区二区| 日韩在线视频免费看| 国产福利免费观看| 国产网红女主播精品视频| 国产一区欧美日韩| 我要色综合中文字幕| www.久久网| 欧美日韩在线精品一区二区三区激情| 亚洲中文字幕久久精品无码喷水| xfplay先锋影音夜色资源站| 国产在线一区观看| 黄动漫在线看| 污污视频在线免费看| 懂色一区二区三区| 范冰冰一级做a爰片久久毛片| 欧洲vs亚洲vs国产| 高清视频欧美一级|