主頁 > 知識(shí)庫(kù) > jsp實(shí)現(xiàn)仿QQ空間新建多個(gè)相冊(cè)名稱并向相冊(cè)中添加照片功能

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

熱門標(biāo)簽:企業(yè)怎么在聯(lián)通申請(qǐng)400電話 如何用中國(guó)地圖標(biāo)注數(shù)字點(diǎn) 南昌市地圖標(biāo)注app 聊城智能電銷機(jī)器人外呼 南京新思維電話機(jī)器人 地圖標(biāo)注市場(chǎng)怎么樣 百度地圖添加標(biāo)注圖標(biāo)樣式 好操作的電話機(jī)器人廠家 泰州泰興400電話 怎么申請(qǐng)

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

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

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

因?yàn)槊總€(gè)相冊(cè)和照片要有所屬人,所以順帶有登錄功能。

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

代碼:

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

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

圖片上傳時(shí),要修改圖片名稱,防止上傳重名圖片將上一張覆蓋,這里的做法是將圖片名改為由用戶ID和精確到毫秒的時(shí)間組成,修改圖片名的幫助類:

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

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

public interface UpDAO { 
 /** 
 * 創(chuàng)建相冊(cè)名稱 
 * 
 */ 
 public int creAlbum(AlbumPOJO ap); 
 /** 
 *顯示所創(chuàng)建的所有相冊(cè)名稱 
 */ 
 public ListAlbumPOJO> findAllAlbum(int id); 
 public ListPhotoPOJO> findAllPhoto(int id); 
 /** 
 * 上傳照片 
 */ 
 public int upPhoto(PhotoPOJO pp); 
 /** 
 * 刪除相冊(cè) 
 * @param id 相冊(cè)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); 
} 

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

public class UpDAOImpl implements UpDAO { 
 /* (non-Javadoc) 
 * @see cn.jvsun.DAO.UpDAO#creAlbum(cn.jvsun.POJO.AlbumPOJO) 
 * 創(chuàng)建相冊(cè)名稱 
 */ 
 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) 
 * 刪除相冊(cè) 
 */ 
 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; 
 } 
 /** 
 * 相冊(cè)序列號(hào) 
 */ 
 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; 
 } 
 /** 
 *照片序列號(hào) 
 */ 
 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)建的相冊(cè)名 
 */ 
 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; 
 } 
} 

用戶,相冊(cè),照片三個(gè)POJO類:

/** * 用戶實(shí)體類 
 * 
 */ 
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 
 } 
} 
/** 
 * 相冊(cè)實(shí)體類 
 * 
 */ 
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 
 } 
} 
/** 
 *照片實(shí)體類 
 * 
 */ 
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實(shí)現(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="請(qǐng)輸入用戶名"/> 
 input type="password" name="password" placeholder="請(qǐng)輸入密碼"/> 
 input type="submit"/> 
 /form> 
 /body> 
/html> 

index.jsp實(shí)現(xiàn)顯示相冊(cè)

代碼如下:

%@ 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>相冊(cè)界面/center> 
 當(dāng)前用戶:%=request.getSession().getAttribute("username")%> br> 
 a href="cre.jsp" rel="external nofollow" >去創(chuàng)建相冊(cè)/a>br> 
 我的所有相冊(cè):br> 
 % 
 int userid=(Integer)request.getSession().getAttribute("userid"); 
 UpDAO dao=new UpDAOImpl(); 
 ListAlbumPOJO> list=dao.findAllAlbum(userid); 
 for(AlbumPOJO pojo:list){ 
 %> 
 tr> 
 a>相冊(cè)id:/a>td>%=pojo.getId() %>/td> 
 a>相冊(cè)名稱:/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" >刪除相冊(cè)/a>/td> 
 /tr>br> 
 % 
 } 
 %> 
 /body> 
/html> 

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

%@ 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)建相冊(cè)失敗/h1> 
  % 
 } 
 } 
 %> 
 form action="cre.jsp?action=cre" method="post"> 
 input type="text" name="cre" placeholder="請(qǐng)輸入您要?jiǎng)?chuàng)建的相冊(cè)名稱"/> 
 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)前時(shí)間組成 
 SmartUpload smartupload = new SmartUpload();//實(shí)例化上傳操作的對(duì)象 
 //初始化上傳文件 
 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>相冊(cè)界面/center> 
 當(dāng)前用戶:%=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>照片所屬相冊(cè)名稱:/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('出錯(cuò)了');window.location.href('show.jsp');/script>"); 
 } 
 %> 
 /body> 
/html> 

del.jsp刪除相冊(cè)

%@ 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('刪除失敗,請(qǐng)先把相冊(cè)中的照片刪掉');window.location.href('index.jsp');/script>"); 
 } 
 %> 
 /body> 
/html> 

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

-- 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; 
--相冊(cè)表 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
-- 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實(shí)現(xiàn)仿QQ空間新建多個(gè)相冊(cè)名稱并向相冊(cè)中添加照片功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jsp實(shí)現(xiàn)仿QQ空間新建多個(gè)相冊(cè)名稱并向相冊(cè)中添加照片功能》,本文關(guān)鍵詞  jsp,實(shí)現(xiàn),仿,空間,新建,多個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《jsp實(shí)現(xiàn)仿QQ空間新建多個(gè)相冊(cè)名稱并向相冊(cè)中添加照片功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于jsp實(shí)現(xiàn)仿QQ空間新建多個(gè)相冊(cè)名稱并向相冊(cè)中添加照片功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章