校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > jsp實現仿QQ空間新建多個相冊名稱并向相冊中添加照片功能

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

熱門標簽:企業怎么在聯通申請400電話 如何用中國地圖標注數字點 南昌市地圖標注app 聊城智能電銷機器人外呼 南京新思維電話機器人 地圖標注市場怎么樣 百度地圖添加標注圖標樣式 好操作的電話機器人廠家 泰州泰興400電話 怎么申請

工具: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 ListAlbumPOJO> findAllAlbum(int id); 
 public ListPhotoPOJO> 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 ListAlbumPOJO> findAllAlbum(int id) { 
 ListAlbumPOJO> list= new ArrayListAlbumPOJO>(); 
 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 ListPhotoPOJO> findAllPhoto(int aid) { 
 ListPhotoPOJO> list= new ArrayListPhotoPOJO>(); 
 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%>" 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實現顯示相冊

代碼如下:

%@ 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> 
 當前用戶:%=request.getSession().getAttribute("username")%> br> 
 a href="cre.jsp" rel="external nofollow" >去創建相冊/a>br> 
 我的所有相冊:br> 
 % 
 int userid=(Integer)request.getSession().getAttribute("userid"); 
 UpDAO dao=new UpDAOImpl(); 
 ListAlbumPOJO> 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() %>" 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創建相冊

%@ 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>創建相冊失敗/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%>" 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="確認上傳"/> 
 /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%>" 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> 
 當前用戶:%=request.getSession().getAttribute("username")%> br> 
 % 
 int phid=(Integer)request.getSession().getAttribute("phid"); 
 UpDAO dao=new UpDAOImpl(); 
 ListPhotoPOJO> 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> 

數據庫的建表語句:

-- 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實現仿QQ空間新建多個相冊名稱并向相冊中添加照片功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

標簽:山南 自貢 開封 臨汾 烏蘭察布 銅川 吉林 白銀

巨人網絡通訊聲明:本文標題《jsp實現仿QQ空間新建多個相冊名稱并向相冊中添加照片功能》,本文關鍵詞  jsp,實現,仿,空間,新建,多個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp實現仿QQ空間新建多個相冊名稱并向相冊中添加照片功能》相關的同類信息!
  • 本頁收集關于jsp實現仿QQ空間新建多個相冊名稱并向相冊中添加照片功能的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美一卡二卡在线| 欧美在线视频不卡| 亚洲与欧洲av电影| 2014亚洲片线观看视频免费| 欧美日精品一区视频| 国产69精品久久777的优势| 日本不卡免费在线视频| 中文字幕中文字幕在线一区| 精品国产a毛片| 91精品久久久久久久91蜜桃| 91亚洲精品久久久蜜桃| 高清成人在线观看| 久久精品免费观看| 91浏览器入口在线观看| 国产精品午夜电影| 久久新电视剧免费观看| 3d成人动漫网站| 欧美主播一区二区三区美女| 成人美女视频在线观看18| 久久国产精品区| 日日夜夜免费精品| 一区二区三区不卡在线观看| 国产精品传媒在线| 国产精品三级在线观看| 国产午夜精品一区二区三区视频| 日韩视频一区在线观看| 欧美高清激情brazzers| 欧美三级在线视频| 欧美网站大全在线观看| 色菇凉天天综合网| 色综合网站在线| av午夜精品一区二区三区| 国产1区2区3区精品美女| 国产激情一区二区三区四区 | 欧美专区日韩专区| 91在线国内视频| 不卡视频在线看| 成人h精品动漫一区二区三区| 国产一区二区精品久久99| 精品一区二区精品| 国内成+人亚洲+欧美+综合在线| 日本视频免费一区| 久久99国产精品麻豆| 奇米色一区二区三区四区| 日本欧美大码aⅴ在线播放| 三级欧美韩日大片在线看| 日韩一区欧美二区| 日本最新不卡在线| 久久精品国产精品青草| 精品一区二区在线观看| 国产电影一区二区三区| av电影在线观看完整版一区二区 | 日韩欧美国产精品一区| 精品区一区二区| 欧美国产在线观看| 亚洲免费av观看| 亚洲成人av资源| 麻豆精品一区二区综合av| 国产一区二区三区| 不卡的av在线播放| 欧美日韩精品欧美日韩精品一 | 在线电影欧美成精品| 日韩免费视频一区二区| 欧美经典一区二区三区| 国产精品乱人伦| 亚洲大片免费看| 久久99国产精品尤物| 成人免费观看男女羞羞视频| 91官网在线免费观看| 91精品国产综合久久福利软件 | www.日本不卡| 欧美影视一区二区三区| 日韩午夜在线影院| 中文字幕欧美激情| 亚洲国产欧美在线人成| 韩日欧美一区二区三区| 97se亚洲国产综合自在线| 欧美精品亚洲二区| 欧美高清在线一区| 亚洲午夜在线电影| 国产精品中文有码| 欧美制服丝袜第一页| 久久午夜免费电影| 亚洲一区视频在线| 精品系列免费在线观看| 91免费看`日韩一区二区| 欧美一级欧美一级在线播放| 中文字幕av一区二区三区| 亚洲一区二区视频| 国产东北露脸精品视频| 在线不卡中文字幕| 欧美韩国日本综合| 美腿丝袜亚洲一区| 色香蕉久久蜜桃| 久久精品一区八戒影视| 亚洲18女电影在线观看| 不卡的电影网站| 欧美xxxx老人做受| 亚洲国产精品久久久久秋霞影院| 国产乱理伦片在线观看夜一区| 91国产精品成人| 欧美国产激情二区三区| 麻豆成人av在线| 在线观看日韩毛片| 国产精品视频你懂的| 乱中年女人伦av一区二区| 色天天综合久久久久综合片| 国产午夜亚洲精品不卡| 日本伊人午夜精品| 欧美午夜精品久久久久久孕妇| 亚洲国产精品ⅴa在线观看| 开心九九激情九九欧美日韩精美视频电影 | 蜜臀av性久久久久蜜臀aⅴ四虎| 91视频观看视频| 国产日韩高清在线| 日韩高清电影一区| 欧美日韩精品高清| 亚洲高清不卡在线| 色综合中文字幕| 国产精品久久久久aaaa樱花| 国产一区二区三区电影在线观看| 日韩欧美亚洲国产另类| 亚洲成人自拍一区| 欧美亚洲免费在线一区| 国产精品传媒入口麻豆| 国产.欧美.日韩| 久久久一区二区三区| 国产在线麻豆精品观看| 日韩视频123| 日韩av中文字幕一区二区三区| 日韩高清在线一区| 日韩欧美在线网站| 9l国产精品久久久久麻豆| 国产精品高潮久久久久无| 欧美电影影音先锋| 成人在线视频一区| 国产成人精品影视| 欧美精品第1页| 亚洲一区在线电影| 午夜精品福利一区二区三区av| 国产午夜亚洲精品午夜鲁丝片| 欧美成人一区二区三区在线观看| 91视频国产观看| 99re热这里只有精品免费视频| 777久久久精品| 精品美女一区二区三区| 国产精品小仙女| 国产精品久久久久久一区二区三区 | 亚洲欧洲综合另类| 成人白浆超碰人人人人| 在线成人免费视频| 国产1区2区3区精品美女| 一区二区三区国产精华| 五月天久久比比资源色| 国产日韩欧美制服另类| 欧美日韩免费不卡视频一区二区三区| 国内久久婷婷综合| 国产一区二区在线免费观看| 国产精品原创巨作av| 日本午夜精品视频在线观看 | 丝袜国产日韩另类美女| 久久一夜天堂av一区二区三区| 国产乱码精品1区2区3区| 日本vs亚洲vs韩国一区三区| 日日噜噜夜夜狠狠视频欧美人| 久久久久9999亚洲精品| 欧美午夜一区二区三区免费大片| 一本色道综合亚洲| 国产精品影视天天线| 日韩中文字幕麻豆| 亚洲成人资源在线| 亚洲国产精品尤物yw在线观看| 亚洲精品久久久蜜桃| 久久天堂av综合合色蜜桃网| 777a∨成人精品桃花网| 色婷婷综合激情| 一本久久精品一区二区| 91久久线看在观草草青青| 色网综合在线观看| 免费观看在线综合色| 首页综合国产亚洲丝袜| 日本美女一区二区三区视频| 亚洲成人av一区二区| 国产精品女主播av| 国产精品国产a| 亚洲日本丝袜连裤袜办公室| 国产在线一区二区综合免费视频| 日韩电影免费一区| 婷婷六月综合网| 久久综合久久99| 99在线视频精品| 麻豆91精品91久久久的内涵| 国产精品三级av| 欧美日韩一区二区三区在线看| 奇米888四色在线精品| 欧美一区二区高清| 色综合色狠狠天天综合色| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品久久久久久久久果冻传媒| 欧美电影在哪看比较好|